使用 API 网关访问私有子网内的 Lambda 函数

Access a Lambda function inside a private subnet using API gateway

我有一个包含 2 个 Lambda 函数 A 和 B 的 VPC:

VPC本身通过NAT实例访问互联网。 我需要第 3 方 API 与 B 通信,但 B 在私有子网中。现在我想知道 API 网关是否解决了这个问题,或者它是否需要更多工作。

提前致谢

如果您希望第 3 方调用 Lambda 函数并向其传递数据,则 AWS API 网关 是正确的任务。这正是 API 网关的设计目的。

参见:Using AWS Lambda with Amazon API Gateway - AWS Lambda

或者,您可以使用 Elastic Load Balancer 并让它调用 Lambda 函数。

发件人:Using AWS Lambda with an Application Load Balancer - AWS Lambda

您还提到您有一个“在 2 个 public 子网上”的 AWS Lambda。 AWS Lambda 函数应该配置为连接到 public 个子网。它们应该配置为使用“无 VPC”(在在这种情况下,他们可以直接访问互联网),或者他们应该连接到私有子网(如果需要,可以使用 NAT 网关或 NAT 实例访问互联网)。

参见:Configuring a Lambda function to access resources in a VPC - AWS Lambda

Connect your function to private subnets to access private resources. If your function needs internet access, use network address translation (NAT). Connecting a function to a public subnet doesn't give it internet access or a public IP address.