我应该何时在AWS Lambda函数中配置或不配置VPC

时间:2018-06-13 00:39:39

标签: aws-lambda amazon-vpc

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

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

1 个答案:

答案 0 :(得分:2)

  

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

在这种情况下,Lambda不访问ec2实例,它正在访问AWS的ec2服务。此服务是一个公共API ,您可以从CLI调用或(因为我猜你的Lambda正在做)一个合适的SDK。这与AWS控制台相当,您可以启动/停止/终止ec2实例,但您无法通过控制台实际登录到ec2计算机。

  

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

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