为什么我可以从off-VPC aws lambda调用on-VPC aws lambda但反之不然?

时间:2017-01-10 00:59:49

标签: amazon-web-services aws-lambda amazon-vpc

因此,如果我有两个lambdas,一个在私有VPC中,一个不在VPC上,从公共lambda内部调用私有lambda可以工作,但我不能从私有lambda中调用公共。

没有NAT设置。

这是为什么?看来我理论上不应该从公众那里打电话给私人。

3 个答案:

答案 0 :(得分:19)

为了触发Lambda函数,所需的一切都是让调用者具有对Invoke AWS API的出站访问权限。调用的Lambda函数不必具有任何打开的入站端口或任何公共Internet访问。

因此公共(非VPC,具有Internet访问权限)Lambda函数可以调用Invoke API来触发私有Lambda函数,但私有VPC(无Internet访问)Lambda函数无法访问{{1用于触发任何Lambda函数的API。

答案 1 :(得分:1)

要解决此问题,您可以将VPC内的lambda配置为可以访问互联网。 This文章介绍了如何设置此配置。

答案 2 :(得分:1)

在VPC内部,您需要一个AWS VPC接口终端节点(https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)。它允许访问AWS Lambda服务,而无需通过Internet。