Amazon ECS Service Connect での共有 AWS Cloud Map 名前空間の使用 - Amazon Elastic Container Service

Amazon ECS Service Connect での共有 AWS Cloud Map 名前空間の使用

Service Connect の共有 AWS Cloud Map 名前空間の設定には、名前空間所有者による名前空間の作成、AWS Resource Access Manager (AWS RAM) を介した所有者による共有、リソース共有を受け入れるコンシューマー、共有名前空間を使用するように Service Connect を設定するコンシューマーのステップが含まれます。

ステップ 1: AWS Cloud Map 名前空間を作成する

名前空間所有者は、他のアカウントと共有される AWS Cloud Map 名前空間を作成します。

AWS マネジメントコンソールを使用して共有するための名前空間を作成するには
  1. https://console.aws.amazon.com/cloudmap/ で AWS Cloud Map コンソールを開きます。

  2. [名前空間の作成] を選択します。

  3. 名前空間名を入力します。この名前は、すべての参加アカウントのサービスによって使用されます。

  4. [名前空間タイプ] で、ユースケースに適したタイプを選択します。

    • API コール – DNS 機能のないサービス検出用の HTTP 名前空間。

    • VPC での API コールと DNS クエリ – VPC 内のプライベート DNS クエリを使用したサービス検出用のプライベート DNS 名前空間。

    • API コールとパブリック DNS クエリ – パブリック DNS クエリによるサービス検出用のパブリック DNS 名前空間。

  5. [名前空間の作成] を選択します。

ステップ 2: AWS RAM を使用して名前空間を共有する

名前空間の所有者は、AWS RAM を使用して名前空間を他の AWS アカウントと共有します。

AWS RAM コンソールを使用して名前空間を共有するには
  1. AWS RAM コンソール (https://console.aws.amazon.com/ram/) を開きます。

  2. [リソースの共有の作成] を選択します。

  3. [Name] (名前) に、リソース共有のわかりやすい名前を入力します。

  4. [リソース] セクションで、次の操作を行います。

    1. [リソースタイプ]で、クラウドマップ名前空間を選択します。

    2. 前のステップで作成した名前空間を選択します。

  5. [マネージドアクセス許可] セクションで、[AWSRAMPermissionCloudMapECSFullPermission] を指定します。

    重要

    Service Connect が名前空間で適切に動作するには、AWSRAMPermissionCloudMapECSFullPermission マネージドアクセス許可を使用して名前空間を共有する必要があります。

  6. [プリンシパル] セクションで、名前空間を共有する AWS アカウントを指定します。アカウント ID または組織単位 ID を入力できます。

  7. [リソースの共有の作成] を選択します。

ステップ 3: リソース共有を受け入れる

名前空間コンシューマーアカウントが共有名前空間を使用するには、リソース共有の招待を受け入れる必要があります。

AWS RAM コンソールを使用してリソース共有の招待を承諾するには
  1. コンシューマーアカウントで、AWS RAM コンソール (https://console.aws.amazon.com/ram/) を開きます。

  2. ナビゲーションペインで [Shared with me] (自分と共有)、[リソース共有] の順に選択します。

  3. リソース共有の招待を選択し、[リソースの共有を承認] を選択します。

  4. 同意したら、リソースの詳細から共有名前空間 ARN を書き留めます。この ARN は、Service Connect サービスを設定する際に使用します。

ステップ 4: 共有名前空間を使用して Amazon ECS サービスを設定する

共有名前空間を受け入れると、名前空間コンシューマーは、共有名前空間を使用するように Amazon ECS サービスを設定できます。設定は通常の名前空間の使用と類似していますが、名前の代わりに名前空間 ARN を指定する必要があります。サービス作成手順の詳細については、「Amazon ECS のローリング更新デプロイの作成」を参照してください。

AWS マネジメントコンソールを使用して共有名前空間でサービスを作成するには
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. [クラスター] ページで、サービスを作成するクラスターを選択します。

  3. [サービス][作成] を選択します。

  4. ワークロードに応じて他の詳細情報を入力したら、[Service Connect] セクションで [Service Connect を使う] を選択します。

  5. [名前空間] には、共有名前空間の完全な ARN を入力します。

    ARN 形式は arn:aws:servicediscovery:region:account-id:namespace/namespace-id です。

  6. 必要に応じて、サービスタイプ (クライアントまたはクライアントサーバー) の残りの Service Connect 設定を構成します。

  7. サービスの作成プロセスを完了します。

AWS CLI または AWS SDK を使用してサービスを設定するには、serviceConnectConfigurationnamespace パラメータで共有名前空間 ARN を指定します。

aws ecs create-service \ --cluster my-cluster \ --service-name my-service \ --task-definition my-task-def \ --service-connect-configuration '{ "enabled": true, "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcdef1234567890", "services": [{ "portName": "web", "discoveryName": "my-service", "clientAliases": [{ "port": 80, "dnsName": "my-service" }] }] }'