私は、RDSインスタンスと同じVPCとセキュリティグループに割り当てられたラムダ関数を持っています。ラムダ関数から非公開アクセス可能なRDS/MYSQLにアクセスできない
セキュリティグループは、どこからでもすべての着信/発信トラフィックを許可します。
ラムダ関数の実行の役割は、AWSLambdaVPCAccessExecutionRole、AmazonVPCFullAccessとAmazonRDSFullAccessを持っています。
私はスケジュールされたイベントとしてこれをテストするとき、私はいつもこのエラーを受け取ります。名前解決で
(2003年、「上のMySQLサーバに接続できません '###。###。us-east-1.rds.amazonaws.com'([ERRNO -3]一時的な障害) ")
ラムダは、同じVPC内で互いにアクセスする必要があると言うことができる限り、私は言うことができます。私は単純なPYMSQL呼び出しを使用しています。
try:
conn = pymysql.connect(str(os.environ['rds_host']), user=str(os.environ['db_username']), passwd=str(os.environ['db_password']), db=str(os.environ['db_name']), connect_timeout=20)
except pymysql.MySQLError as e:
logger.error(e)
sys.exit()
logger.info("SUCCESS: Connection to RDS mysql instance succeeded")