I was following this tutorial to connect to an RDS(deployed on AWS) via a proxy.
However, after creation of the proxy through AWS console, the TargetGroup remained unavailable(for well over 4 hours) A stackoverflow answer suggested describing the proxy target using
aws rds describe-db-proxy-targets --db-proxy-name <proxyname>
The output of which was
{
"Targets": [
{
"Endpoint": "abcd-efg.hijklmnop.us-east-9.rds.amazonaws.com",
"RdsResourceId": "abcd-efg",
"Port": 3306,
"Type": "RDS_INSTANCE",
"Role": "UNKNOWN",
"TargetHealth": {
"State": "UNAVAILABLE",
"Reason": "PENDING_PROXY_CAPACITY",
"Description": "DBProxy Target is waiting for proxy to scale to desired capacity"
}
}
]
}
Trying to login to the RDS using the proxy was of little help
$ mysql -h abcd-efg.hijklmnop.us-east-9.rds.amazonaws.com -P 3306 -u <username> -p
Enter password:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
However, I can access the DB using the db's private endpoint. Access via proxy fails. I dug through a lot of troubleshooting and other pages, but none offered solutions to the description "DBProxy Target is waiting for proxy to scale to desired capacity". Any inputs on the same?
You can try to enable enhanced logging of the proxy and check the logs in Cloudwatch. In my case, it was because the IAM role that I assigned to the proxy doesn't allow
sts:AssumeRolefrom principal"Service": "rds.amazonaws.com"