【问题标题】:When should I configure or not configure VPC in AWS Lambda functions我应该何时在 AWS Lambda 函数中配置或不配置 VPC
【发布时间】:2018-06-13 00:39:38
【问题描述】:

我在 VPC 中有一个 EC2。我在没有配置 VPC 的情况下创建了一个 lambda 函数(因此 lambda 控制台显示 No VPC)。但它仍然可以启动,停止 EC2。 (在 lambda 服务角色中,我授予启动、停止 ec2 的权限), 问题一:为什么lambda不在ec2的VPC中,也能访问ec2?

但是,相同的 lambda 函数无法使用 http://website_of_ec2.com 访问安装在 EC2 中的 Web 服务器。除非我使用 VPC、子网和安全组(与 EC2 相同的 VPC)配置 lambda 问题 2:为什么在这种情况下 lambda 需要配置 VPC?

【问题讨论】:

    标签: aws-lambda amazon-vpc


    【解决方案1】:

    我在 VPC 中有一个 EC2。我创建了一个没有 配置 VPC(因此 lambda 控制台显示 No VPC)。但它仍然可以 启动、停止 EC2。 (在 lambda 服务角色中,我授予权限 开始,停止 ec2),问题 1:为什么 lambda 可以访问 ec2,即使 不在ec2的VPC中?

    在这种情况下,Lambda 不是在访问 ec2 实例,而是在访问 AWS 的 ec2 服务。该服务是一个公共 API,您可以从 CLI 或(我猜您的 Lambda 正在做的)适当的 SDK 调用它。这相当于AWS Console,可以启动/停止/终止ec2实例,但不能通过Console实际登录ec2机器。

    但是,同一个 lambda 函数无法访问 Web 服务器 使用http://website_of_ec2.com 安装在 EC2 中。除非我 使用 VPC、子网和安全组配置 lambda(同一个 VPC 作为EC2)问题2:为什么在这种情况下lambda需要有VPC 配置好了吗?

    在这种情况下,您的 Lambda 没有公共端点可以连接到 ec2 实例。 Lambda 需要访问您的 ec2 实例所在的 VPC,因此需要额外的配置。

    【讨论】:

    • K Mo。谢谢你的回答。对于问题2,我现在明白了。我在 ec2 设置了安全组,定义了端口 http 的源 ip 范围,如果 Lambda 没有配置 VPC,它将没有 IP,因此它将被安全组阻止并且无法访问 EC2 的网站。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2017-02-05
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    相关资源
    最近更新 更多