【问题标题】:.net AWS Lambda function cannot call custom web api endpoint in VPC.net AWS Lambda 函数无法调用 VPC 中的自定义 Web api 端点
【发布时间】:2017-07-21 01:24:07
【问题描述】:

我有一个调用 c# Web Api 端点的 lambda 函数。该函数在 Visual Studio 内正常工作,并且端点按预期执行。将函数发布到 AWS 后,我会遇到超时(最多 59 秒)。

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

AWSLambdaFullAccess AmazonS3FullAccess 亚马逊SESFullAccess AmazonWorkMailFullAccess AWSLambdaVPCAccessExecutionRole

我还缺少其他东西吗?相同的设置(减去 AWSLambdaVPCAccessExecutionRole 策略)适用于我们的测试 AWS 环境。

【问题讨论】:

  • 检查您的 EC2 实例上的安全组。
  • 我做到了。我什至打开了所有端口上的所有流量
  • 您如何指定 EC2 端点?您需要使用 EC2 服务器的私有 IP 从 VPC 中运行的 Lambda 函数访问它。

标签: c# asp.net-web-api aws-lambda


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2019-10-21
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 2019-09-23
    • 2020-11-21
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    相关资源
    最近更新 更多