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 并获取结果。

1 Antwort
0

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

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

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

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen