共享 AWS Cloud Map 命名空间 - AWS Cloud Map

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

共享 AWS Cloud Map 命名空间

AWS Cloud Map 允许命名空间所有者与其他人共享命名空间 AWS 账户 或在组织内共享其命名空间, AWS Organizations 以简化跨账户服务发现和服务注册表。这样可以更轻松地使用组织内其他人 AWS 账户 或团队管理的命名空间。 AWS

AWS Cloud Map 与 AWS Resource Access Manager (AWS RAM) 集成以启用资源共享。 AWS RAM 是一项使您能够与其他人共享某些 AWS Cloud Map 资源 AWS 账户 或通过共享某些资源的服务 AWS Organizations。使用 AWS RAM,您可以通过创建资源共享来共享您拥有的资源。资源共享指定要共享的资源以及与之共享资源的使用者。使用者可包括:

  • 具体 AWS 账户 到其组织内部 AWS Organizations

  • 其组织内部的组织单位 AWS Organizations

  • 它的整个组织都在 AWS Organizations

有关的更多信息 AWS RAM,请参阅《AWS RAM 用户指南》

本主题说明如何共享您拥有的资源以及如何使用共享给您的资源。

共享命名空间的注意事项

  • 要共享命名空间,您必须在自己的命名空间中拥有该命名空间 AWS 账户。这意味着资源必须分配或预调配到您的账户。您无法共享已与您共享的命名空间。

  • 要与您的组织或中的组织单位共享命名空间 AWS Organizations,必须启用与共享 AWS Organizations。有关更多信息,请参阅AWS RAM 《用户指南》中的允许与 AWS Organizations 共享。

  • 要在共享私有 DNS 命名空间中使用 DNS 查询进行服务发现,命名空间所有者需要使用create-vpc-association-authorization与该命名空间关联的私有托管区域的 ID 和使用者的 VPC 进行调用。

    aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678

    命名空间使用者需要使用私associate-vpc-with-hosted-zone有托管区域的 ID 进行调用。

    aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678

    有关更多信息,请参阅《Amazon Route 53 开发者指南》 AWS 账户中的将 Amazon VPC 与您创建的私有托管区域关联到其他区域

  • 在发现与共享 DNS 命名空间关联的服务的 up-to-date网络位置后,如果服务处于不同的 VPCs位置,则可能需要配置 VPC 间连接,以便与这些服务进行通信。这可以通过使用 VPC 对等连接来实现。有关更多信息,请参阅 Amazon Virtual Private Cloud VPC 对等互连指南中的创建或删除 VPC 对等连接

  • 您不能使用列ListOperations出其他账户对共享命名空间执行的操作。

  • 共享命名空间不支持标记。

授予共享命名空间的权限

IAM 委托人需要一组最低权限才能共享命名空间。我们建议使用AWSCloudMapFullAccessAWSResourceAccessManagerFullAccess托管策略来确保您的 IAM 委托人拥有共享和使用共享命名空间所需的权限。

如果您使用自定义 IAM 策略,则需要使用servicediscovery:PutResourcePolicyservicediscovery:GetResourcePolicy、和servicediscovery:DeleteResourcePolicy操作才能共享命名空间。这些是仅限权限的 IAM 操作。如果 IAM 委托人未获得这些权限,则在尝试使用共享命名空间时将发生错误 AWS RAM。

有关如何 AWS RAM 使用 IAM 的更多信息,请参阅AWS RAM 用户指南中的如何 AWS RAM 使用 IAM

共享命名空间的职责和权限

命名空间所有者和使用者可以对共享命名空间执行不同的操作。

拥有者的权限

命名空间所有者可以对共享命名空间执行以下操作:

  • 访问与命名空间关联的服务,包括由消费者账户创建的服务和注册到这些服务的实例。

  • 撤消对命名空间的访问权限,包括对由消费者账户创建的服务以及注册到这些服务的实例的访问权限。

  • 为其他账户配置权限,以便在使用者或命名空间所有者在共享命名空间中创建的服务中注册和取消注册实例。

  • 删除服务并注销实例,包括使用者账户创建的服务和注册的实例。

  • 更新或删除共享命名空间。

使用者的权限

命名空间使用者可以在共享命名空间上执行以下操作:

  • 在命名空间中创建和删除服务。

  • 在命名空间中创建的服务中注册和取消注册实例。

  • 发现注册到在命名空间中创建的服务的实例。

使用者无法更新或删除共享命名空间。失去对共享命名空间的访问权限后,消费者账户也将失去对他们在命名空间中创建的服务的访问权限。

计费和计量

所有者需要为他们在共享命名空间中注册的任何实例以及注册这些实例时创建的任何 Route 53 运行状况检查付费。消费者需要为他们在命名空间中注册的任何实例以及注册这些实例时创建的任何 Route 53 运行状况检查付费。如果共享命名空间是 DNS 命名空间,则命名空间所有者需要为在该命名空间中创建服务时创建的 Route 53 DNS 记录付费。所有者需要为他们DiscoverInstancesRevision拨打的任何电话DiscoverInstances和电话付费。消费者需要为他们DiscoverInstancesRevision拨打的任何电话DiscoverInstances和通话付费。

限额

每个区域的共享命名空间仅计入命名空间所有者的命名空间配额。使用者在共享命名空间中注册的实例计入所有者的每个命名空间配额中的实例。如果使用者在共享命名空间中创建服务,则该服务中注册的任何实例都将计入每个服务配额的使用者实例。如果所有者在共享命名空间中创建服务,则根据服务配额,在该服务中注册的任何实例都计入所有者的实例。