2017-03-01 3 views
0

私はC#Web APIエンドポイントを呼び出すラムダ関数を持っています。この関数はVisual Studio内で正しく動作し、エンドポイントは期待通りに機能します。 AWSに関数を公開すると、タイムアウト(最大59秒)が発生します。.net AWS Lambda関数がVPCのカスタムWeb APIエンドポイントを呼び出すことができない

このファンクションは、そのVPC内のサービスおよびすべてのサブネットを持つEC2インスタンスと同じVPCを指定します。また、次の役割ポリシーもあります。

AWSLambdaFullAccess AmazonS3FullAccess AmazonSESFullAccess AmazonWorkMailFullAccess AWSLambdaVPCAccessExecutionRole

は、私は他の何かが足りないのですか?同じ設定(AWSLambdaVPCAccessExecutionRoleポリシーを除いたもの)は、テストAWS環境で動作します。

+0

EC2インスタンスのセキュリティグループを確認してください。 – Asdfg

+0

しました。私はすべてのトラフィックをすべてのポートでオープンしました – Sirentec

+0

どのようにEC2エンドポイントを指定していますか? VPCで動作するラムダ機能からアクセスするには、EC2サーバーのプライベートIPを使用する必要があります。 –

答えて

0

詳細な例外トラップを追加している間に、キャンセルトークンをリクエストに追加して作業を開始しました。私はVPC/Subnetの情報も削除しました。

var cts = new System.Threading.CancellationTokenSource(); 

response = await client.GetAsync($"api/aws/processEfmEmail?bucket={bucket}&key={key}", HttpCompletionOption.ResponseHeadersRead, cts.Token).ConfigureAwait(false); 
関連する問題