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 マネジメントコンソールを使用して共有するための名前空間を作成するには
-
https://console.aws.amazon.com/cloudmap/
で AWS Cloud Map コンソールを開きます。 -
[名前空間の作成] を選択します。
-
名前空間名を入力します。この名前は、すべての参加アカウントのサービスによって使用されます。
-
[名前空間タイプ] で、ユースケースに適したタイプを選択します。
-
API コール – DNS 機能のないサービス検出用の HTTP 名前空間。
-
VPC での API コールと DNS クエリ – VPC 内のプライベート DNS クエリを使用したサービス検出用のプライベート DNS 名前空間。
-
API コールとパブリック DNS クエリ – パブリック DNS クエリによるサービス検出用のパブリック DNS 名前空間。
-
-
[名前空間の作成] を選択します。
ステップ 2: AWS RAM を使用して名前空間を共有する
名前空間の所有者は、AWS RAM を使用して名前空間を他の AWS アカウントと共有します。
AWS RAM コンソールを使用して名前空間を共有するには
-
AWS RAM コンソール (https://console.aws.amazon.com/ram/
) を開きます。 -
[リソースの共有の作成] を選択します。
-
[Name] (名前) に、リソース共有のわかりやすい名前を入力します。
-
[リソース] セクションで、次の操作を行います。
-
[リソースタイプ]で、クラウドマップ名前空間を選択します。
-
前のステップで作成した名前空間を選択します。
-
-
[マネージドアクセス許可] セクションで、[AWSRAMPermissionCloudMapECSFullPermission] を指定します。
重要
Service Connect が名前空間で適切に動作するには、
AWSRAMPermissionCloudMapECSFullPermissionマネージドアクセス許可を使用して名前空間を共有する必要があります。 -
[プリンシパル] セクションで、名前空間を共有する AWS アカウントを指定します。アカウント ID または組織単位 ID を入力できます。
-
[リソースの共有の作成] を選択します。
ステップ 3: リソース共有を受け入れる
名前空間コンシューマーアカウントが共有名前空間を使用するには、リソース共有の招待を受け入れる必要があります。
AWS RAM コンソールを使用してリソース共有の招待を承諾するには
-
コンシューマーアカウントで、AWS RAM コンソール (https://console.aws.amazon.com/ram/
) を開きます。 -
ナビゲーションペインで [Shared with me] (自分と共有)、[リソース共有] の順に選択します。
-
リソース共有の招待を選択し、[リソースの共有を承認] を選択します。
-
同意したら、リソースの詳細から共有名前空間 ARN を書き留めます。この ARN は、Service Connect サービスを設定する際に使用します。
ステップ 4: 共有名前空間を使用して Amazon ECS サービスを設定する
共有名前空間を受け入れると、名前空間コンシューマーは、共有名前空間を使用するように Amazon ECS サービスを設定できます。設定は通常の名前空間の使用と類似していますが、名前の代わりに名前空間 ARN を指定する必要があります。サービス作成手順の詳細については、「Amazon ECS のローリング更新デプロイの作成」を参照してください。
AWS マネジメントコンソールを使用して共有名前空間でサービスを作成するには
コンソール (https://console.aws.amazon.com/ecs/v2
) を開きます。 -
[クラスター] ページで、サービスを作成するクラスターを選択します。
-
[サービス] で [作成] を選択します。
-
ワークロードに応じて他の詳細情報を入力したら、[Service Connect] セクションで [Service Connect を使う] を選択します。
-
[名前空間] には、共有名前空間の完全な ARN を入力します。
ARN 形式は
arn:aws:servicediscovery:です。region:account-id:namespace/namespace-id -
必要に応じて、サービスタイプ (クライアントまたはクライアントサーバー) の残りの Service Connect 設定を構成します。
-
サービスの作成プロセスを完了します。
AWS CLI または AWS SDK を使用してサービスを設定するには、serviceConnectConfiguration の namespace パラメータで共有名前空間 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" }] }] }'