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,

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ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ