Error in connect to Mysql in RDS by using IAM through Python code.

0

I am trying to connect with Mysql DB instance (inside RDS) using IAM permissions from EMR(pyspark) for test purpose i have provided policy 'AmazonRDSFullAccess' to my EMR role, and trying below python code

pymysql.connect(host=host, user=user, passwd='mypswd', ssl=ssl)

and i am getting error as

pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '-.eu-central-1.rds.amazonaws.com' (timed out)")

The above code is working fine if i add my EMR cluster IP address in inbound rule of the security group attached in the db instance.

But my requirement is to connect with the db instance with just by using IAM since my IP address is dynamic(each time I create new EMR cluster), so each time i cannot add a new IP in security group and i do not want to allow all ip(0.0.0.0) in inbound rule,

已提問 8 個月前檢視次數 240 次
1 個回答
0

Hello.

Security group settings are required even for RDS IAM authentication.

I don't think it is necessary to allow it with 0.0.0.0/0 if you set the security group associated with EMR as the security group source for RDS.
https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html

profile picture
專家
已回答 8 個月前
profile picture
專家
已審閱 8 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南