django Lambda 関数内で Aurora Serverless mysql データベースに接続したいと考えています。現在、私は持っています:
- デフォルト VPC 内の Lambda 関数
- デフォルトのセキュリティ グループを使用します
- 作成した 2 つのパブリック サブネットを使用
- TCP ポート 1024 ~ 65535 からのインバウンド要求を許可します
- Aurora セキュリティ グループで Aurora/Mysql へのアウトバウンド リクエストを許可します
- デフォルト VPC 内の Aurora クラスター
- Lambda と同じ (デフォルト) VPC を使用します
- 作成した 2 つのプライベート サブネットを使用
- ポート 3306 で Lambda セキュリティ グループからのインバウンド リクエストを許可する
- デフォルト VPC のインターネット ゲートウェイ
- 通信をインターネット ゲートウェイにパイプする NAT ゲートウェイ
- インターネット ゲートウェイのターゲット ID を持つパブリック ルーティング テーブル
- NAT ゲートウェイのターゲット ID を持つプライベート ルーティング テーブル
Lambda 関数を API ゲートウェイにデプロイしようとすると、リクエストがタイムアウトします。
START RequestId: [request id] Version: $LATEST
Instancing..
END RequestId: [request id]
REPORT RequestId: [request id] Duration: 30030.15 ms Billed Duration: 30000 ms Memory Size: 512 MB Max Memory Used: 49 MB
[time] [request id] Task timed out after 30.03 seconds
VPC から Lambda 関数を削除すると (Lambda 関数の設定で VPC を none に設定)、問題なく API ゲートウェイにデプロイされます。これにより、私の問題はデータベースではなく VPC にあると考えるようになりました。
この質問を使用して、VPC を再配置して機能させようとしましたが、機能しませんでした。
API を実行して Aurora サーバーレス クラスターに接続するためのヘルプ、または django と Lambda 関数でデータベースを使用する別の方法についてのヘルプは素晴らしいでしょう。ありがとう!