Amazon web services 一个lambda呼叫另一个lambda通过互联网吗?

Amazon web services 一个lambda呼叫另一个lambda通过互联网吗?,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,我有一个lambda需要调用同一帐户中的另一个lambda。它可以在同一个地区或多个地区。该调用是直接lambda调用invokeLambda。而且两个lambda都不在专有网络中。我不知道电话是不是通过互联网打的?或者电话就在内部网络中。通过互联网进行。原因是您的函数必须调用public: 要以编程方式连接到AWS服务,请使用端点 这也是为什么如果一个lambda在VPC中,它不能在没有NAT的情况下调用第二个lambda-不能访问lambda公共端点的原因。不,它不能。区域通过网络连接,该网

我有一个lambda需要调用同一帐户中的另一个lambda。它可以在同一个地区或多个地区。该调用是直接lambda调用
invokeLambda
。而且两个lambda都不在专有网络中。我不知道电话是不是通过互联网打的?或者电话就在内部网络中。

通过互联网进行。原因是您的函数必须调用public

要以编程方式连接到AWS服务,请使用端点


这也是为什么如果一个lambda在VPC中,它不能在没有NAT的情况下调用第二个lambda-不能访问lambda公共端点的原因。

不,它不能。区域通过网络连接,该网络是一个专用的光缆网,提供一个单独的连接平面。当lambda调用另一个lambda时,它是不在Internet上的区域内或区域间通信。

让我们考虑在“美国东部-1”区域中有两个lambda a和lambda b,以及相同的帐户“XXXXXXXXX”。唯一的区别是lambda A位于专有网络中,lambda B位于非专有网络中

无论何时,当您要通过非VPC组件与AWS中的另一个实例或任何其他非AWS资源交谈时,您调用的组件都会通过“internet网关和Nat实例”或“Nat网关”进入internet

在您的情况下,当您在lambda中调用lambda B代码为“invokeLambda”时,它将尝试仅通过internet调用。如果您的安全组和子网不允许internet连接,那么它将无法调用lambda B。正如@Marcin在其使用的公共端点连接lambda时所说的那样

注意:所有AWS资源使用AWS ARN(亚马逊资源名称)相互交谈或握手