2017-03-01 80 views
0

我有一个调用c#Web Api端点的lambda函数。该功能在Visual Studio中正确工作,并且端点按预期执行。一旦我将这个函数发布到AWS,我会得到超时(最多59秒)。.net AWS Lambda函数无法在VPC中调用自定义web api端点

函数指定相同的VPC与服务和VPC内的所有子网的EC2实例。它还有以下角色策略。

AWSLambdaFullAccess AmazonS3FullAccess AmazonSESFullAccess AmazonWorkMailFullAccess AWSLambdaVPCAccessExecutionRole

我失去了什么东西?相同的设置(减去AWSLambdaVPCAccessExecutionRole策略)适用于我们的测试AWS环境。

+0

检查EC2实例上的安全组。 – Asdfg

+0

我做到了。我甚至打开所有端口上的所有流量 – Sirentec

+0

您如何指定EC2端点?您需要使用EC2服务器的专用IP从VPC中运行的Lambda函数访问它。 –

回答

0

虽然增加更详细的异常捕获,我添加了一个取消标记的请求,并开始工作。我还删除了VPC /子网信息。

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

response = await client.GetAsync($"api/aws/processEfmEmail?bucket={bucket}&key={key}", HttpCompletionOption.ResponseHeadersRead, cts.Token).ConfigureAwait(false); 
相关问题