1

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

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

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

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

我不确定如何进行。

请帮忙!!!

4

1 回答 1

4

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

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

于 2019-01-09T15:07:17.083 回答