実現したいこと
Lambda(Python 3.13)にてAuroraのスナップショットをS3に保存したい
発生している問題・分からないこと
以下の設定/ソースでLambdaをテストすると
おおむね1分30秒~2分の間で、rdsのコネクションタイムアウトが発生する。
①Lambda関数ソースコード
※ IamRoleArn、KmsKeyIdは、記載内容に沿った値を指定
※ スナップショット、S3バケットは作成済み
ソースコードは、ソースコード欄に記載
②各種リソース設定
※ 特定リージョンに属するリソースは全て「ap-northeast-1」
1.Aurora 1).クラスタ (1).識別子:testdb-1 (2).エンジンバージョン:5.7.mysql_aurora.2.11.5 (3).ロール:rdsroll (4).接続されたコンピューティングリソース:なし (5).プロキシ:なし 2).インスタンス (1).識別子:testdb-1-instance-1 (2).VPC:vpc-1 (3).サブネット:subnet-1 (4).セキュリティグループ:sg-1 2.Lambda 1).関数名:testlambda (1).ランタイム:Python 3.13 (2).アーキテクチャ:arm64 (3).タイムアウト:15分 (4).ロール:lambdaroll (5).VPC:vpc-1 (6).サブネット:subnet-1 (7).セキュリティグループ:sg-1 3.セキュリティグループ 1).名前:sg-1 (1).インバウンドルール:すべてのトラフィック、プロトコル、ポート (2).アウトバウンドルール:すべてのトラフィック、プロトコル、ポート 4.ロール 1).ロール名:rdsroll (1).紐づくポリシーに含まれる許可 ・rds:* ・s3:* ・一部省略 (2).許可リソース:* (3).信頼関係:rds.amazonaws.com、export.rds.amazonaws.com 2).ロール名:lambdaroll (1).紐づくポリシーに含まれる許可 ・rds:* ・s3:* ・一部省略 (2).許可リソース:* (3).信頼関係:rds.amazonaws.com、export.rds.amazonaws.com、lambda.amazonaws.com
エラーメッセージ
error
1"errorMessage": "Connect timeout on endpoint URL: \"https://rds.ap-northeast-1.amazonaws.com/\"" 2"errorType": "ConnectTimeoutError"
該当のソースコード
Python
1rds = boto3.client('rds', region_name="ap-northeast-1") 2response = rds.start_export_task( 3 ExportTaskIdentifier='snapshot'+datetime.now().strftime("%Y-%m-%d-%H-%M"), 4 SourceArn='arn:aws:rds:ap-northeast-1:************:cluster-snapshot:test-snapshot', 5 S3BucketName=os.environ['S3_BUCKETNAME'], 6 S3Prefix=os.environ['S3_OBJECTNAME'], 7 IamRoleArn=os.environ['rdsrollと同様'], 8 KmsKeyId=os.environ['testdb-1に紐づくkms'] 9)
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ルーティング設定や、権限回りは確認/設定の上で実行したが、解消せず
補足
別途、同Lambda関数から、pymysqlでSQLクエリを実行すると、
こちらは正常に結果を取得できました。
(SELECT, INSERT, DELETEを実行)
回答1件
あなたの回答
tips
プレビュー