【发布时间】:2019-09-30 21:40:11
【问题描述】:
我试图弄清楚如何从在 VPC 中运行的 lambda 访问 Api Gateway service API(又名“管理 Amazon API Gateway”)。不是我不是试图在私有 API 中调用资源方法(我知道如何创建 execute-api VPC 接口端点),只是调用 AWS 服务方法 (get-api-key ,FWIW,使用 Python boto3 客户端)。希望这是有道理的,这里有如此多的“API”重载,很难清楚地表达这一点。当前尝试因超时而失败,因此我认为它与 VPC 相关,但我不确定如何提供访问权限。我看不到任何明显的端点类型会这样做。我已经看到对使用 NAT 网关获取额外 VPC 资源的引用,但我不清楚这将如何(或是否)适用。 VPC配置了NAT网关,Lambda的安全组允许所有出站流量,见下方配置。感谢任何建议。
NAT 网关配置
【问题讨论】:
-
vpc lambas 冷启动超过 10 秒,您是否将 lambda 超时增加到至少 30 秒?
-
将 lambda 超时更改为 300 秒(最大值)对 boto3 对 apigw 的调用超时没有影响
-
您遇到了哪个错误?您是否通过在 VPC 之外创建 lambda 以查看 VPC 是问题所在,从而复制了该问题?我在通过 lambda 直接访问 API 网关 API 时遇到了类似的问题,因为我使用的是旧版本的 lambda 运行时,它没有得到完全支持:stackoverflow.com/questions/54781774/…
-
完全没有错误,lambda 本身在等待
get-api-key请求完成 5 分钟后超时。
标签: aws-api-gateway amazon-vpc