使用 CodePipeline 从 VPC 调用 Lambda 失败并超时

Invoking Lambda from VPC with CodePipeline Fails with Timeout

我有一个根据 aws 文档 (https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html) 给出的示例创建的 Lambda,但我从 VPC 中调用我的 Lambda,CodePipeline 似乎从未成功地与Lambda(它超时并且似乎永远不会进入 Lambda,因为 CloudWatch 有我的 console.logs 的 none);尽管事实上我已经从 VPC 中创建了一个 CodePipeline 端点并将我从中启动 Lambda 的私有子网关联到 codepipeline。

我可以给 Lambda 一个 API 网关端点,然后从 Postman 手动触发它; 运行 大约需要 1 秒。我的 Cloudwatch 日志只有 "Task timed out after 20.02 seconds." 我不确定我还能尝试什么;还有什么可能会阻止 CodePipeline 与 Lambda 对话?

在额外的日志记录之后,我发现我实际上已经正确设置了 VPC 并且正在调用 Lambda; Lambda 未能到达 S3 并且挂在获取对象上。我为 VPC 创建了另一个 S3 端点,并且能够通过最初的问题。