Dynamodb へのアクセスを失うことなく、サーバーレス フレームワーク (v 0.5.6) を使用して Lambda 関数から AWS Elasticache クラスターにアクセスしようとしています。このGistを使ってみましたが、うまくいきませんでした。Lambda 関数内で、最初に行うことは Redis インスタンスに接続することですが、タイムアウトが発生し続けます。関数内の CloudFormation 出力変数とその可視性と VPC の Lambda ロール/ポリシーを再確認しましたが、まだ何もありません...ここで提案されているように、パブリックおよびプライベートサブネット、NAT、およびインターネットゲートウェイを作成するために、CloudFormation およびサーバーレスで VPC およびセキュリティグループを作成する方法に関するガイドも見つかりませんでした。誰でも助けることができますか?
質問する
6205 次
2 に答える
5
ElastiCache クラスターが存在する VPC 内に Lambda 関数を配置する必要があります。もちろん、これを行うと、Lambda 関数は VPC 内に存在するリソースにしかアクセスできないため、DynamoDB にはアクセスできなくなります。これに対する解決策は、NAT ゲートウェイを VPC に追加することです。これにより、Lambda 関数が VPC 外部のリソースにアクセスできるようになります。
VPC と NAT ゲートウェイの設定はサーバーレス フレームワークの範囲外になると思いますが、私はそのフレームワークの専門家ではありません。AWS コンソールを介して手動で構成するか、CloudFormation などを使用して構成し、使用する必要がある VPC をサーバーレス フレームワーク構成で指定することをお勧めします。
于 2016-10-04T15:18:31.377 に答える