跨AWS账户关联共享VPC子网内Sandbox安全组的方案咨询
跨账户共享子网中关联其他账户安全组的可行方案
核心限制说明
你无法直接在Dev账户创建的负载均衡器(ALB)上关联Sandbox账户的安全组——AWS安全组是账户级资源,默认仅允许同一账户内的资源引用,跨账户引用需要通过特定共享机制实现。你之前用跨账户角色创建资源报错,是因为即便扮演Sandbox角色,创建出的ALB会归属Sandbox账户,而非你需要的Dev账户,且跨账户角色无法突破安全组的跨账户引用限制。
可行方案
方案1:在Dev账户的共享VPC内创建安全组,双向配置流量规则
- 在Dev账户中,针对共享的Sandbox VPC创建新的安全组(记为
Dev-ALB-SG),配置ALB所需的入站/出站规则(比如允许HTTP/HTTPS流量)。 - 切换到Sandbox账户,找到需要和ALB交互的资源的安全组(比如后端EC2的安全组
Sandbox-Backend-SG),添加入站规则,允许Dev-ALB-SG的流量访问(选择“自定义”类型,输入Dev账户ID和Dev-ALB-SG的ID,格式为123456789012/sg-xxxxxx)。 - 若ALB需要访问Sandbox账户内的其他资源,确保
Dev-ALB-SG的出站规则允许对应流量,同时Sandbox侧的目标资源安全组放行该流量。
方案2:通过AWS RAM共享Sandbox的安全组给Dev账户
仅当你的两个账户属于同一AWS Organizations组织,或已启用RAM跨账户共享的信任关系时,可使用此方法:
- 在Sandbox账户的AWS RAM控制台,创建资源共享,选择要共享的安全组,添加Dev账户ID作为共享对象。
- 切换到Dev账户的RAM控制台,接受该资源共享邀请。
- 在Dev账户创建ALB时,即可在安全组选项中看到Sandbox共享过来的安全组,直接选择关联即可。
注意事项
- 方案1无需依赖AWS Organizations,适用范围更广;方案2更直接,但受组织或RAM信任关系限制。
- 无论哪种方案,确保共享的VPC子网权限配置正确,Dev账户拥有在该子网创建ALB的权限(RAM共享子网时需包含相关权限)。
内容的提问来源于stack exchange,提问作者user7633479
相关产品推荐
相关产品推荐

