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,

gefragt vor 8 Monaten240 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 8 Monaten
profile picture
EXPERTE
überprüft vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen