在专有网络内调用私有APIGateway Fronted非专有网络Lambda From



考虑到AWS Lambda不需要访问VPC内的资源,架构良好的无服务器镜头建议不要将该功能放在VPC中。

然而,我的Lambda将位于APIGateway后面,以方便位于VPC内的服务器访问REST端点。

一个没有专有网络的Lambda如何位于一个本身可以在专有网络中访问的APIGateway后面

我更希望我的APIGateway不暴露在公共互联网上,因此实例化公共APIGateway并通过Nat网关从我的VPC内调用该公共IP地址是不可接受的解决方案。

提前感谢您的考虑和回复。

调用AWS Lambda函数将始终通过公共AWS API完成。Lambda函数一旦被调用,是否被配置为在VPC中运行并不重要,它仍然需要通过公共AWS API调用。

AWS Lambda函数不会在VPC中闲置运行,等待调用请求。Lambda函数的全部意义在于,在处理请求之前,它们根本不存在,此时AWS基础设施会创建一个函数实例,然后将请求信息传递给它进行处理。

如果你在你的专有网络中添加了一个AWS Lambda函数,那么你所要做的就是在执行时将一个来自专有网络的ENI附加到Lambda函数上,这样它就可以使用该ENI提供的网络连接来访问你专有网络内的资源。

API网关服务本身也不在您的VPC中运行。API网关和Lambda都存在于VPC之外,API网关访问公共AWS API调用Lambda函数不会有任何问题。

当您仅将API网关设为VPC时,API网关服务(服务器(仍然存在于VPC之外,它只是通过API网关服务的网络网关,使API网关可以在您的VPC内部的私有地址访问。

最新更新