处于VPC私有子网的AWS Lambda无VPC端点/NAT网关为何能消费Kinesis流?
为什么VPC私有子网内的Lambda无需VPC端点/NAT就能消费Kinesis流?
- 触发机制是推送而非主动拉取:当Lambda由Kinesis事件触发时,是Kinesis服务主动将批量记录推送到Lambda执行环境,而非Lambda在VPC内主动发起出站连接去拉取Kinesis数据。这种模式下,Lambda不需要主动访问Kinesis的公网地址或VPC端点,自然不受私有子网的网络限制。
- 安全组规则不影响AWS内部服务推送:你的Lambda安全组阻止所有入站流量,但Kinesis到Lambda的事件推送是通过AWS私有内部网络完成的,这类内部服务间的通信不受安全组入站规则管控——安全组入站规则主要针对VPC内部或公网的外部流量,而非AWS自有服务之间的交互。
- IAM权限仅管访问授权,和网络通路无关:你配置的IAM角色权限(包括
AWSLambdaVPCAccessExecutionRole和Kinesis访问权限)只是用来验证Lambda是否有权限消费目标Kinesis流,不会直接帮Lambda建立网络连接,和网络层面的路由、防火墙规则没有关系。
而你提到的Secrets Manager访问属于Lambda主动发起的出站请求,所以必须配置VPC端点(或NAT网关)+安全组允许出站HTTPS流量,和Kinesis触发的推送模式完全不同。
内容的提问来源于stack exchange,提问作者Daniel R
相关产品推荐
相关产品推荐

