Issue in AWS Target Group health check that points to RDS MySQL(IP Target), Creates COUNT_HANDSHAKE_ERRORS in MySQL

0

Background: I have created private link to access RDS MySQL present in one AWS Account (Account-B) from another AWS Account (Account-A). so, in AWS account (Account-B), I have created a target group with IP target type and added IP address of RDS MySQL Instance. and attached that target group with a network load balancer and endpoint services.

Issue: I am able to access the RDS MySQL from another AWS Account(Account-A), in the AWS Account-B target group, to check the target health it is sending requests to RDS MySQL instance and somehow the MySQL captures all the request as invalid and increasing count in the table performance_schema.host_cache for the fields 'COUNT_HANDSHAKE_ERRORS' and 'SUM_CONNECT_ERRORS'.

once the value in the field SUM_CONNECT_ERRORS reaches 100 then MySQL is blocking the request from Account-A.

My Observation: If a request to MySQL goes through python mysql.connector package then MySQL is not creating any issue, but if request goes to MySQL from Target group's health check process, then MySQL considered that as 'COUNT_HANDSHAKE_ERRORS'.

I am able to make the health check alone to point wrong port and work, but i am curious to find the root cause for this issue or is it AWS fault on the health check process? Kindly help me to resolve this issue.

1개 답변
1

Hello.

I have answered similar questions in the past.
https://repost.aws/questions/QU2yIbHHP2RQiyXmSDYQUj8A/rds-mysql-behind-network-load-balancer

The cause is a health check from NLB.
"COUNT_HANDSHAKE_ERRORS" gradually increases as NLB health checks are performed regularly.
Then RDS will deny access from NLB.
As a solution, try running the "FLUSH HOSTS;" command.
Execute this command to reset the connection error count.

profile picture
전문가
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인