【问题标题】:Access AWS S3 from Lambda within Default VPC从默认 VPC 中的 Lambda 访问 AWS S3
【发布时间】:2019-06-04 08:42:40
【问题描述】:

我有一个 lambda 函数,它需要通过 ssh 访问 ec2 并加载文件并将其保存到 s3。因此,为此我将 ec2 和 lambda 都保留在默认 VPC 和同一子网中。现在的问题是我可以将函数连接到 ec2 但不能连接到 s3。

从早上开始就让我很生气,因为当我删除 vpc 设置时,它会将文件上传到 s3,但随后与 ec2 的连接丢失。

我尝试将 NAT 网关添加到默认 VPC(虽然我不确定我是否正确,因为我是新手)但它没有做任何事情。

我很困惑,因为我在同一个 VPC 和子网中的 ec2 实例可以访问互联网,但 lambda 函数无法访问 s3。

我不知道如何继续。

请帮忙!!!

【问题讨论】:

  • 我认为如果您使用 VPC 端点,那么您不需要 NAT。您是否确保存储桶策略允许访问 VPC 资源?尝试访问 S3 时遇到什么错误?

标签: amazon-s3 amazon-ec2 aws-lambda amazon-vpc aws-vpc


【解决方案1】:

Lambda 函数不会从 VPC 中获得分配给它的公共 IP,因此它永远不会像您的 EC2 实例那样直接访问 Internet。您必须将 Lambda 函数移动到具有到 NAT 网关的路由的私有子网,以便为其提供 Internet 访问权限。听起来您尝试了此操作,但配置不正确。

如果需要访问的所有 Lambda 函数都是 S3,那么在您的 VPC 中设置 VPC 端点 (AWS PrivateLink) 会更容易。

【讨论】:

  • 是的,没错……终于通过vpc端点完成了。谢谢:)
猜你喜欢
  • 2017-02-08
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 2019-09-18
  • 2021-03-09
  • 2021-04-05
  • 2016-01-11
相关资源
最近更新 更多