セットアップしたパブリック RDS インスタンス (MySQL) に接続しようとすると問題が発生します。Lambda コードをローカル (ラップトップ) でテストしたところ、MySQL インスタンスに接続してテーブルに行を追加できました。ただし、Lambda 経由でコードを実行すると、次の接続エラーが発生します。
Error: connect ETIMEDOUT at Connection._handleConnectTimeout
(/var/task/node_modules/mysql/lib/Connection.js:412:13)
Lambda 関数を次のように構成しました。
- No VPC
- Role: "Basic with DynamoDB" (a tutorial mentioned using this)
RDS データベースにはパブリック URL があり、任意のホストからポート 3306 へのインバウンド接続を許可するセキュリティ グループのようになっています。ラップトップから正常に接続して、クエリを実行できます。
Lambda が MySQL DB に接続する方法に関する推奨事項はありますか? 私はこれに何時間も立ち往生しています。