如何跨账户将Lambda函数配置到其他账户的VPC中?
Lambda能否跨账户接入其他AWS账户的VPC?
核心结论
Lambda不能直接配置到另一个AWS账户的VPC中。Lambda的VPC绑定逻辑是:只能将函数部署在自身所属AWS账户的VPC子网内,无法直接引用其他账户的子网或安全组。
你的报错原因
你用账户B的Lambda尝试指定账户A的子网和安全组,这本身不符合AWS的资源权限规则:
- 安全组是账户级私有资源,跨账户无法直接通过ID引用,账户B的Lambda服务角色没有权限查询账户A的安全组,所以会报
InvalidGroup.NotFound错误 - Lambda的
--vpc-config参数仅支持配置当前账户下的子网和安全组,跨账户配置本身就不被支持,和VPC对等连接是否连通无关
正确解决方案
根据你的需求(账户B的Lambda访问账户A VPC内的资源),有两种可行方案:
方案一:在账户A内部署Lambda
直接在账户A的VPC中创建Lambda函数,天然能访问VPC内资源。如果需要账户B触发该函数,只需给账户B的IAM实体(用户/角色)配置调用账户A Lambda的权限即可。
方案二:通过VPC对等连接实现跨账户资源访问
保持账户B的Lambda在自身账户的VPC内,利用已创建的VPC对等连接实现访问:
- 确保账户A的VPC路由表添加指向账户B VPC CIDR的对等连接路由,账户B的VPC路由表添加指向账户A VPC CIDR的对等连接路由
- 配置账户A内目标资源的安全组,允许账户B的VPC CIDR范围的访问请求
- 账户B的Lambda使用自身账户的子网和安全组,无需引用账户A的资源
内容的提问来源于stack exchange,提问作者user8877836
相关产品推荐
相关产品推荐

