【发布时间】:2021-09-25 18:28:20
【问题描述】:
我已经为API Gateway 配置了lambda 函数。 lambda 函数位于具有私有子网的 VPC 中。我还使用路由表将 Internet 网关连接到 VPC,将所有流量路由到 Internet 网关。据我了解,我仍然无法访问任何 API 端点,因为 lambda 函数位于私有子网中,并且需要在 Internet 网关和私有子网之间使用 NAT 网关。
但是,由于分配给 lambda 函数的安全组允许传入流量,我能够访问所有端点。
【问题讨论】:
-
您提到的“API 端点”是什么?您指的是连接到 Amazon S3 等 AWS 服务的能力吗?此外,您说 VPC 仅包含私有子网,但附加 Internet 网关并更新路由表以使用它会将这些子网变成公共子网。或者这些 不同 子网是附加 Lambda 函数的子网吗?安全组上的入站规则将被 Lambda 函数使用,因为它不通过网络接收请求,或者您指的是出站规则?
-
如果 Lambda 函数需要从 VPC 进行 API 调用,例如访问 Internet 上的内容,您只需要一个 NAT 网关。 NAT 网关用于出站连接,它们根本不用于入站连接。另外,Lambda 函数的安全组的入站规则是没有意义的,它们根本没有使用,因为 Lambda 函数根本不接受入站网络请求,API Gateway 接受入站网络请求,然后使用该请求调用 Lambda 函数数据。
标签: amazon-web-services aws-lambda aws-api-gateway amazon-vpc nat