環境アカウント接続 - AWS Proton

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

環境アカウント接続

概要

あるアカウントで AWS Proton 環境を作成および管理し、別のアカウントでそのインフラストラクチャリソースをプロビジョニングする方法について説明します。これにより、可視性と効率性が大幅に向上します。環境アカウント接続では、 AWS CloudFormation Infrastructure as Code を含む標準プロビジョニングのみがサポートされます。

注記

このトピックの情報は、AWS マネージドプロビジョニングが設定されている環境に関する内容です。セルフマネージドプロビジョニングで設定された環境では、 AWS Proton はインフラストラクチャを直接プロビジョニングしません。代わりに、プルリクエスト (PR) をあなたのリポジトリに送信してプロビジョニングします。自動コードに正しい ID とロールを引き受けさせる責任はあなたにあります。

プロビジョニング方法の詳細については、「がインフラストラクチャを AWS Proton プロビジョニングする方法」を参照してください。

用語

1 つのアカウント (管理アカウント) 内の AWS Proton 1 つのリソースを説明する図 AWS リージョン。また、そのアカウントの AWS Proton 環境が環境アカウント接続を使用して、同じリージョン内の他のアカウント (環境アカウント) にデプロイする方法も示します。

AWS Proton 環境アカウント接続を使用すると、あるアカウントから環境を作成し AWS Proton 、そのインフラストラクチャを別のアカウントにプロビジョニングできます。

管理アカウント

管理者として、別の AWS Proton 環境アカウントにインフラストラクチャリソースをプロビジョニングする環境を作成する単一のアカウント

環境アカウント

別のアカウント内で AWS Proton 環境を作成した際に環境インフラストラクチャがプロビジョニングされるアカウント。

環境アカウント接続

管理アカウント環境アカウントの間をつなぐセキュアな双方向接続。次のセクションで詳しく説明するように、認可と権限が維持されます。

環境アカウントで環境アカウント接続を作成すると、特定のリージョンで環境アカウント接続の表示と使用ができるのは、同じリージョン内の管理アカウントのみです。つまり、管理アカウントで作成された AWS Proton 環境と環境アカウントでプロビジョニングされた環境インフラストラクチャは、同じリージョンに存在する必要があります。

環境アカウントの接続に関する考慮事項

  • 環境アカウントでプロビジョニングする環境ごとに環境アカウント接続が必要です。

  • 環境アカウント接続クォータの詳細については、「AWS Proton クォータ」を参照してください。

タグ付け

環境アカウントで、 コンソールまたは AWS CLI を使用して、環境アカウント接続のカスタマーマネージドタグを表示および管理します。 AWS マネージドタグは、環境アカウント接続では生成されません。詳細については、「AWS Proton リソースとタグ付け」を参照してください。

1 つのアカウントに環境を作成し、別のアカウントでそのインフラストラクチャをプロビジョニングします。

単一の管理アカウントから環境を作成してプロビジョニングするには、作成しようとする環境のための環境アカウントを設定します。

環境アカウント内で起動して接続を作成します。

環境アカウントで、環境インフラストラクチャリソースのプロビジョニングに必要なアクセス許可のみを対象とする AWS Proton サービスロールを作成します。詳細については、「AWS Proton を使用してプロビジョニングするための サービスロール AWS CloudFormation」を参照してください。

次いで、環境アカウント接続リクエストを作成してあなたの管理アカウントに送信します。リクエストが承諾されると、 AWS Proton は、関連付けられた環境アカウントで環境リソースのプロビジョニングを許可する、関連付けられた IAM ロールを使用できます。

管理アカウント内で、環境アカウント接続を受け入れるか拒否します。

管理アカウント内で、環境アカウント接続リクエストを受け入れるか拒否します。管理アカウントから環境アカウント接続を削除することはできません

リクエストを受け入れると、 AWS Proton は関連付けられた環境アカウントでリソースのプロビジョニングを許可する関連付けられた IAM ロールを使用できます。

環境インフラストラクチャリソースは、関連付けられた環境アカウントにプロビジョニングされます。 AWS Proton APIs は、管理アカウントから環境とそのインフラストラクチャリソースへのアクセスと管理にのみ使用できます。詳細については、「1 つのアカウントに環境を作成し、別のアカウントでプロビジョニングします。」および「環境を更新する」を参照してください。

リクエストを拒否した後は、拒否した環境アカウント接続を受け入れたり使用することはできません

注記

環境に接続されている環境アカウント接続を拒否することはできません。環境アカウント接続を拒否するには、まず関連付けられた環境を削除する必要があります。

環境アカウント内で、プロビジョニングされたインフラストラクチャリソースにアクセスします。

環境アカウント内で、プロビジョニングされたインフラストラクチャリソースの表示やアクセスが可能です。たとえば、CloudFormation API アクションを使用して、必要に応じてスタックをモニタリングおよびクリーンアップできます。 AWS Proton API アクションを使用して、インフラストラクチャリソースのプロビジョニングに使用された AWS Proton 環境にアクセスまたは管理することはできません。

環境アカウント内で作成した環境アカウント接続を環境アカウント内で削除できます。受け入れも拒否もできません。環境によって使用されている AWS Proton 環境アカウント接続を削除すると、 AWS Proton は、環境アカウントと名前付き環境に対して新しい環境接続が受け入れられるまで、環境インフラストラクチャリソースを管理できなくなります。プロビジョニングされて環境接続がないまま残っているリソースをクリーンアップする責任はあなたにあります。

コンソールまたは CLI を使用して環境アカウント接続を管理する

コンソールまたは CLI を使用して、環境アカウント接続を作成および管理できます。

AWS Management Console
コンソールを使用して環境アカウント接続を作成し、次の手順に示すように管理アカウントにリクエストを送信します。
  1. 管理アカウント内で作成する予定の環境の名前を決めるか、または環境アカウント接続を必要とする既存の環境の名前を選択します。

  2. 環境アカウント内の AWS Proton コンソールでナビゲーションペインにある [Environment account connections (環境アカウント接続)] を選択します。

  3. [Environment account connections (環境アカウント接続)] ページで[Request to connect (接続のリクエスト)] を選択します。

    注記

    [Environment account connection (環境アカウント接続ページ)] の見出しに挙がっているアカウント ID を確認してください。名前付き環境をプロビジョニングする環境アカウントのアカウント ID と一致していることを確認してください。

  4. [Request to connect (接続のリクエスト)] ページで以下の操作をします。

    1. [Connect to management account] (管理アカウントに接続する) セクションで [Management account ID] と [Environment name] にステップ 1 で入力した管理アカウント ID と環境名を入力します。

    2. 環境ロールセクションで、新しいサービスロールを選択し、 AWS Proton 自動的に新しいロールを作成します。または、[Existing service role (既存のサービスロール)] と以前に作成したサービスロールの名前を選択します。

      注記

      AWS Proton が自動的に作成するロールには、幅広いアクセス許可があります。ロールをスコープダウンして、環境インフラストラクチャリソースのプロビジョニングに必要な権限のみにすることをお勧めします。詳細については、「AWS Proton を使用してプロビジョニングするための サービスロール AWS CloudFormation」を参照してください。

    3. (オプション) [Tags (タグ)] セクションで、[Add new tags (新しいタグを追加)] を選択して、環境アカウント接続用のカスタマーマネージドタグを作成します。

    4. [Request to connect (接続のリクエスト)]を選択します。

  5. リクエストは [Environment connections sent to a management account (管理アカウントに送信される環境接続)] テーブルに [Pending] (保留中) として表示され、モーダルを見ると管理アカウントからのリクエストを受け入れる方法がわかります。

環境アカウント接続リクエストを受け入れるか拒否します。
  1. 管理アカウント内の AWS Proton コンソールでナビゲーションペインにある [Environment account connections (環境アカウント接続)] を選択します。

  2. [Environment account connections (環境アカウント接続)] ページの [Environment account connection requests (環境アカウント接続リクエスト)] テーブルで、承諾または拒否する環境接続リクエストを選択します。

    注記

    [Environment account connection (環境アカウント接続ページ)] の見出しに挙がっているアカウント ID を確認してください。拒否する環境アカウント接続に関連付けられている管理アカウントのアカウント ID と一致していることを確認してください。この環境アカウント接続を拒否した後は、拒否した環境アカウント接続の受け入れや使用はできません

  3. [Reject (拒否)] または [Accept (承諾)] を選択します。

    • [Reject (拒否)] を選択した場合、ステータスが [Pending (保留中)] から [Rejected (拒否)] に変わります。

    • [Accept] (承諾) を選択した場合、ステータスが [Pending (保留中)] から [Connected (接続済み)] に変わります。

環境アカウント接続を削除します。
  1. 環境アカウント内の AWS Proton コンソールでナビゲーションペインにある [Environment account connections (環境アカウント接続) ]を選択します。

    注記

    [Environment account connection (環境アカウント接続ページ)] の見出しに挙がっているアカウント ID を確認してください。拒否する環境アカウント接続に関連付けられている管理アカウントのアカウント ID と一致していることを確認してください。この環境アカウント接続を削除すると、 AWS Proton は環境アカウントの環境インフラストラクチャリソースを管理できません。管理できるのは、環境アカウントと名前付き環境のための新しい環境アカウント接続が管理アカウントによって受け入れられた後のみです。

  2. [Environment account connections(環境アカウント接続)] ページで [Sent requests to connect to management account (管理アカウントに送信した接続リクエスト)] セクションで、[Delete (削除)] を選択します。

  3. モーダルから消去アクションの確認を求めるプロンプトが表示されます。[Delete (削除)] をクリックします。

AWS CLI

管理アカウント内で作成する予定の環境の名前を決めるか、または環境アカウント接続を必要とする既存の環境の名前を選択します。

環境アカウント内で環境アカウントを作成します。

次のコマンドを実行してください。

$ aws proton create-environment-account-connection \ --environment-name "simple-env-connected" \ --role-arn "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role" \ --management-account-id "111111111111"

レスポンス:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:13:50.847000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "PENDING" } }

次のコマンドとレスポンスに示すように、管理アカウント内で環境アカウント接続を承認または拒否します。

注記

この環境アカウント接続を拒否すると、拒否した環境アカウント接続の受け入れや使用はできなくなります。

[Reject (拒否)] を指定した場合、ステータスが [Pending (保留中)] から [Rejected (拒否)] に変わります。

[Accept (承諾)] を指定した場合、ステータスが [Pending (保留中)] から [Connected (接続済み)] に変わります。

次のコマンドを実行して、環境アカウント接続を受け入れます。

$ aws proton accept-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

レスポンス:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

次のコマンドを実行して、環境アカウント接続を拒否します。

$ aws proton reject-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

レスポンス:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:us-east-1:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "status": "REJECTED", "environmentAccountId": "222222222222", "environmentName": "simple-env-reject", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:13:50.847000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role" } }

環境アカウント接続を表示します。環境アカウント接続を取得または一覧表示できます

次の get コマンドを実行します。

$ aws proton get-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

レスポンス:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

環境アカウント内で環境アカウントを削除します。

注記

この環境アカウント接続を削除する AWS Proton と、環境アカウントと名前付き環境に対して新しい環境接続が受け入れられるまで、環境アカウントの環境インフラストラクチャリソースを管理できなくなります。プロビジョニングされて環境接続がないまま残っているリソースをクリーンアップする責任はあなたにあります。

次のコマンドを実行してください。

$ aws proton delete-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

レスポンス:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:us-east-1:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:13:50.847000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }