Lambda(私有子网)<-入口请求<-网关

0

【以下的问题经过翻译处理】 我对一个用例感到困惑,无法理解。希望得到一些指导。以下是场景描述。

VPC: 通过 Control Tower - Landing zone - Account creation 创建。 VPC 有 1 个公有子网和 3 个私有子网。

公有子网: 根据路由表配置,我拥有可从 Internet Gateway 访问的公有子网。 公有子网中的资源与允许互联网访问的 SecurityGroups 配对。

私有子网: 每个私有子网都映射在不同的路由表中,该路由表没有与 Internet Gateway 的映射。这种情况下没有 NAT Gateway。 因此,没有 VPC以外的入口或出口请求。不过我有 S3、Dynamodb 和 KMS 的 VPC终端节点。

NACL: 允许所有来源的入站和出站流量。只为了保持简单。

Lambda: Lambda 使用高级配置创建,并配置为在 VPC 内部的私有子网中运行。 Lambda 有一个简单工作是访问 KMS 端点并列出所有的 KMS-CMKS(s)。

API Gateway: 创建了一个公共 API,将 /GET Resource 映射到 lambda。

根据我的理解,VPC 只有一个入口点 Internet Gateway,不涉及 peering、transit gateway 或私有连接。 根据以上子网设计和路由,私有子网中的资源不应该对来自 VPC 外部的请求可访问。对吗?

然而,当我向 API 发出 GET 请求时,API Gateway 能够调用 lambda 并获取结果。

profile picture
专家
已提问 5 个月前22 查看次数
1 回答
0

【以下的回答经过翻译处理】 API网关在这种情况下不使用您定义的(在你的情况下是VPC)“网络”来调用Lambda函数。

当您在API Gateway和Lambda函数之间创建集成时,您授权API Gateway调用该函数,并在Lambda中提供权限,让API Gateway调用它(这是一个双向操作)。

“流量”(在这种情况下,从API Gateway到Lambda的请求和从Lambda到API Gateway的响应)通过AWS服务控制平面传递,因此您不需要提供网络路径。

Lambda 函数产生的任何网络流量(例如,访问数据库或调用其他 AWS 服务)都将(在您的情况下)从 Lambda 在您的私有子网上的网络接口发出。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则