如何配置跨账户VPC让Account B的Lambda访问Account A的EC2实例?
跨AWS账户Lambda访问私有子网EC2的替代方案
不用创建Account B的VPC并做VPC对等,你可以用以下两种直接方案:
方案1:使用AWS PrivateLink(推荐)
这是符合AWS最佳实践的安全跨账户私有访问方案,全程流量在AWS私有网络内传输,无需暴露EC2到公网:
- 在Account A中:
- 为EC2所在的私有子网创建VPC接口端点服务,关联EC2的安全组(需确保安全组允许来自该端点服务的流量)。
- 在端点服务的权限设置中,添加Account B的账户ID,授予其访问权限。
- 在Account B中:
- 创建接口端点,指向Account A的端点服务。
- 配置Lambda的执行角色,允许其访问该接口端点。
- 无论Lambda是否在Account B的VPC中,都可以通过接口端点的私有DNS名称访问Account A的EC2;若Lambda已在B的VPC内,确保VPC路由表包含指向接口端点的路由规则。
方案2:公网访问(仅适合测试或低安全需求场景)
如果对安全性要求较低,可以临时通过公网打通访问路径:
- 在Account A中:
- 给EC2分配弹性公网IP(EIP),若EC2在私有子网,需确保子网路由表配置了到NAT网关的路由;或直接将EC2移至公有子网。
- 更新EC2的安全组,允许Account B的Lambda公网IP段(或临时允许0.0.0.0/0,不推荐)访问目标端口。
- 在Account B中:
- 配置Lambda直接通过EC2的EIP发起访问请求。
关键提示
- PrivateLink方案的安全性、稳定性远优于公网访问,是生产环境的首选。
- 若你的Lambda已部署在Account B的VPC中,使用PrivateLink无需修改现有VPC配置,仅需新增接口端点即可完成对接。
内容的提问来源于stack exchange,提问作者meesun
相关产品推荐
相关产品推荐

