与其他账户共享 VPC - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

与其他账户共享 VPC

VPC 共享允许多个 Amazon Web Services 账户将其应用程序资源 [例如 Amazon EC2 实例、Amazon Relational Database Service(RDS)数据库、Amazon Redshift 集群和 Amazon Lambda 函数] 创建到共享的集中管理式 Virtual Private Cloud(VPC)中。在此模型中,拥有 VPC 的账户(拥有者)与属于 中同一企业的其他账户(参与者)共享一个或多个子网Amazon Organizations 共享子网之后,参与者可以查看、创建、修改和删除与他们共享的子网中的应用程序资源。参与者无法查看、修改或删除属于其他参与者或 VPC 拥有者的资源。

您可以共享您的 VPC,以针对需要高度互连且位于相同的信任边界内的应用程序,利用 VPC 内的隐式路由。这可减少您创建和管理的 VPC 数量,同时使用单独的账户进行计费和访问控制。您可以通过使用连接功能(例如 Amazon PrivateLink、中转网关和 VPC 对等连接)互连共享的 Amazon VPC 来进一步简化网络拓扑。有关 VPC 共享优点的更多信息,请参阅 VPC 共享:多账户和 VPC 管理的新方法

共享 VPC 的先决条件

您必须从企业的管理账户启用资源共享。有关启用资源共享的信息,请参阅《Amazon RAM 用户指南》中的通过 Amazon Organizations 启用共享

共享子网

您可以与企业中的其他账户共享非默认子网。要共享子网,必须首先使用要共享的子网、Amazon 账户、企业单位或要与之共享子网的整个企业创建一个资源共享。有关创建资源共享的信息,请参阅《Amazon RAM 用户指南》中的创建资源共享

使用控制台共享子网

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Subnets (子网)

  3. 选择您的子网,然后选择操作共享子网

  4. 选择您的资源共享,然后选择共享子网

使用 Amazon CLI 共享子网

使用 create-resource-shareassociate-resource-share 命令。

跨可用区映射子网

为确保资源分配到区域的各可用区,我们将可用区独立映射到每个账户的名称。例如,您的 us-east-1a 账户的可用区 Amazon 可能与另一 us-east-1a 账户的 Amazon 不在同一位置。

要跨账户协调可用区以便进行 VPC 共享,您必须使用 AZ ID(可用区的唯一、一致的标识符)。例如,use1-az1us-east-1 区域中的其中一个可用区的 AZ ID。使用 AZ ID 确定一个账户中的资源相对于另一个账户的位置。您可以在 Amazon VPC 控制台中查看每个子网的 AZ ID。

下图阐明了两个账户,它们具有不同的可用区代码到 AZ ID 的映射。


          两个账户,它们具有不同的可用区代码到 AZ ID 的映射。

将共享的子网取消共享

拥有者随时可以将与参与者共享的子网取消共享。在拥有者将共享的子网取消共享后,将应用以下规则:

  • 现有参与者资源将继续在已取消共享的子网中运行。具有自动化/托管工作流(如auto 扩展或节点替换)的 Amazon 托管服务(例如,Elastic Load Balancing)可能需要持续访问某些资源的共享子网。

  • 参与者在已取消共享的子网中无法再创建新资源。

  • 参与者可以修改、描述和删除其位于子网中的资源。

  • 如果参与者在已取消共享的子网中仍具有资源,则拥有者无法删除共享子网或共享子网 VPC。仅当参与者删除已取消共享的子网中的所有资源之后,拥有者才能删除子网或共享子网 VPC。

使用控制台取消共享子网

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Subnets (子网)

  3. 选择您的子网,然后选择操作共享子网

  4. 依次选择操作停止共享

使用 Amazon CLI 取消共享子网

使用 disassociate-resource-share 命令。

确定共享子网的拥有者

参与者可以通过使用 Amazon VPC 控制台或命令行工具来查看已与其共享的子网。

使用控制台确定子网拥有者

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Subnets (子网)拥有者列显示子网拥有者。

使用 Amazon CLI 确定子网拥有者

使用 describe-subnetsdescribe-vpcs 命令,这两条命令的输出中将包括拥有者的 ID。

管理 VPC 资源

拥有者和参与者对其拥有的 VPC 资源负责。

拥有者资源

VPC 拥有者负责创建、管理和删除与共享 VPC 相关的资源。其中包括子网、路由表、网络 ACL、对等连接、网关端点、接口端点、Amazon Route 53 Resolver 端点、互联网网关、NAT 网关、虚拟私有网关和 Transit Gateway 挂载)。

VPC 拥有者不能修改或删除参与者创建的资源,例如 EC2 实例和安全组。VPC 拥有者可以查看网络接口和连接到参与者资源的安全组的详细信息,以便于问题排查和审计。VPC 拥有者可以为 VPC 及其子网和网络接口创建流量日志订阅。

参与者资源

参与者可以在共享 VPC 中创建、管理和删除资源。参与者拥有其在 VPC 中创建的资源,如 EC2 实例、Amazon RDS 数据库和 Elastic Load Balancing 负载均衡器。

参与者可以查看 VPC 拥有者负责的资源的详细信息,例如路由表和网络 ACL,但不能进行修改。参与者无法查看或修改属于其他参与者账户的资源。参与者只能为他们拥有的网络接口创建流日志订阅。

参与者可以引用属于其他参与者或拥有者的安全组,如下所示:

account-number/security-group-id

参与者不能直接将其私有托管区域之一与共享 VPC 关联。需要控制与 VPC 相关的私有托管区域行为的参与者可以使用以下解决方案:

拥有者和参与者的计费和计量

在共享 VPC 中,每个参与者为其应用程序资源付费,包括 Amazon EC2 实例、Amazon Relational Database Service 数据库、Amazon Redshift 集群和 Amazon Lambda 函数。参与者还支付与可用区间数据传输、跨 VPC 对等连接的数据传输和通过 Amazon Direct Connect 网关的数据传输关联的数据传输费用。VPC 拥有者支付每小时费用(如果适用),跨 NAT 网关、虚拟私有网关、中转网关、Amazon PrivateLink 和 VPC 终端节点的数据处理和数据传输费用。在同一个可用区域(使用 AZ-ID 进行唯一标识)内数据传输是免费的,而不考虑通信资源的账户所有权。

限制

以下限制适用于 VPC 共享的使用:

  • 拥有者只能通过 与位于同一企业的其他账户或企业单位共享子网Amazon Organizations

  • 拥有者无法共享位于默认 VPC 中的子网。

  • 参与者无法使用共享 VPC 的其他参与者或 VPC 拥有者所拥有的安全组来启动资源。

  • 参与者无法使用 VPC 的默认安全组启动资源,因为此安全组属于拥有者。

  • 拥有者无法使用其他参与者拥有的安全组启动资源。

  • 当参与者在共享的子网中启动资源时,他们应确保将其安全组附加到资源,而不是依赖于默认安全组。参与者无法使用默认安全组,因为它属于 VPC 拥有者。

  • 参与者无法在其未拥有的 VPC 中创建 Route 53 Resolver 终端节点。只有 VPC 拥有者可以创建 VPC 级资源,例如入站终端节点。

  • VPC 标签和共享 VPC 内资源的标签不会与参与者共享。

  • 仅有子网拥有者可以将中转网关挂载到共享子网。参与者不能。

  • 参与者可以在共享 VPC 中创建 Application Load Balancer 和网络负载均衡器,但他们无法注册在未与其共享的子网中运行的目标。

  • 创建网关负载均衡器时,只有子网拥有者才能选择共享子网。参与者不能。

  • 服务配额按各个账户应用。