使用 AWS RAM 实现跨账户资源共享 - VPC 子网与 Transit Gateway 共享

在账户间共享 VPC 子网和 Transit Gateway,实现 IP 地址空间统一管理并减少 VPC 对等连接。

RAM 概述

RAM(Resource Access Manager)是一项可在多个账户间安全共享 30 多种 AWS 资源的服务。在多账户环境中,各账户拥有独立资源,但网络资源(VPC 子网、Transit Gateway)、DNS 资源(Route 53 Resolver 规则)和安全资源(Network Firewall 策略)共享使用更为高效。通过 RAM 共享可消除资源重复并降低成本。共享资源可从消费方账户直接引用和使用,无需跨账户 IAM 角色切换或 API 调用中转。资源所有权保留在共享元账户,共享目标账户仅获得使用权限,在维护治理的同时实现高效资源利用。

VPC 子网共享

VPC 子网共享是由网络账户拥有 VPC 和子网,工作负载账户在共享子网中创建资源(EC2RDSLambdaECS 任务)的模式。各账户无需拥有独立 VPC,防止 IP 地址空间碎片化。网络账户统一管理 CIDR 块,结合 IPAM 可实现无重叠的高效地址分配。安全组按账户独立管理,即使在共享子网中也能维持账户间的网络隔离。但需注意 NACL 以子网为单位,仅由所有者账户管理。共享子网内的资源可通过私有 IP 与同一 VPC 内其他资源直接通信,无需 VPC 对等连接或 Transit Gateway。

可共享资源与设计模式

RAM 可共享的资源包括 VPC 子网、Transit Gateway、Route 53 Resolver 规则、License Manager 配置、Aurora DB 集群、CodeBuild 项目、AWS Network Firewall 策略、Verified Access 组、IPAM 池、Capacity Reservations、Outposts 等 30 多种。Organizations 内的共享自动批准,与 Organizations 外账户的共享需基于邀请批准。RAM 托管权限可细粒度控制消费方账户的操作权限(仅读取、可创建、可关联)。创建自定义托管权限可定义比默认更受限的访问级别。 关于多账户设计的详细解析,可参考Amazon 相关书籍

Organizations 集成与自动化

RAM 与 AWS Organizations 集成,可在组织单位 (OU) 级别自动化资源共享。启用 Organizations 内共享后,共享目标账户无需批准邀请即可自动访问资源。新账户加入 OU 时,自动获得该 OU 已共享资源的访问权。结合 CloudFormation StackSets 可完全自动化新账户创建、OU 配置、资源共享设置和初始资源部署。结合 Service Control Policies (SCP) 和 RAM 共享策略,可在组织级别控制哪些资源共享给哪些 OU。RAM 共享资源的使用情况可通过 CloudTrail 审计,追踪谁访问了哪些资源。

设计最佳实践与常见陷阱

设计 VPC 子网共享时,确保子网 CIDR 大小预留充足空间至关重要。多个账户在同一子网中创建资源,IP 地址耗尽会影响所有账户。/24(256 个地址)通常不够,根据工作负载规模建议确保 /20~/22 的范围。常见陷阱是:取消资源共享时,如果消费方账户在共享子网中仍有资源(如 ENI),取消操作会被阻止。取消共享前必须进行资源盘点。Transit Gateway 共享中,路由表设计很重要。工作负载账户间通信的允许或阻止通过路由表关联控制,需提前整理分段需求。此外,RAM 共享按区域配置,多区域部署时容易遗漏需要在各区域单独创建 Resource Share。

与 VPC 对等连接的比较

VPC 子网共享和 VPC 对等连接都能实现跨账户网络连接,但架构思路不同。VPC 对等连接是各账户拥有独立 VPC,通过对等连接相互路由。10 个账户的全网状连接需要 45 条对等连接,路由表管理负担急剧增加。而 VPC 子网共享将 VPC 本身集中为一个,无需为跨账户通信建立对等连接。但 VPC 子网共享中子网级 NACL 对所有账户共用,如果需要为不同账户应用不同网络 ACL,则需要 VPC 对等连接或 Transit Gateway。与 Transit Gateway 比较,RAM 共享的 Transit Gateway 以低成本实现中心辐射型连接,但数据处理费(按 GB 计费)会根据跨账户流量产生,大流量场景下 VPC 子网共享的成本效率更高。

RAM 定价

RAM 本身不收取额外费用。成本取决于共享资源的使用费(共享目标账户的使用量)。VPC 子网共享中,共享目标账户创建的资源(EC2、RDS)费用由该账户承担。Transit Gateway 共享中,附件费用(按小时计费)和数据处理费(按 GB 计费)由共享目标账户承担。Route 53 Resolver 规则共享中,规则本身的共享免费,但 Resolver 端点的 ENI 费用由所有者账户承担。建议定期盘点资源共享,删除不再需要的共享以降低安全风险。

总结

RAM 是在多账户环境中高效共享资源的服务。通过 VPC 子网共享统一管理 IP 地址空间,减少 VPC 对等连接数量。通过 Transit Gateway 共享集中网络连接,支持 30 多种资源类型。Organizations 集成实现 OU 级别自动共享,结合 CloudFormation StackSets 完全自动化,CloudTrail 审计共享资源访问。提前确立子网 CIDR 大小规划和资源盘点运维规则,避免取消共享时被阻止,是稳定运营的关键。