Amazon ECS のサービスリンクロールの使用 - Amazon Elastic Container Service

Amazon ECS のサービスリンクロールの使用

Amazon Elastic Container Service は、AWS Identity and Access Management (IAM) のサービスにリンクされたロールを使用します。サービスリンクロールは、Amazon ECS に直接リンクされた特殊なタイプの IAM ロールです。サービスリンクロールは Amazon ECS によって事前に定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要な、すべての許可が含まれています。

サービスにリンクされたロールを使用すると、必要な許可を手動で追加する必要がないため、Amazon ECS のセットアップが簡単になります。サービスリンクロールの許可は Amazon ECS が定義し、特に定義されない限り、Amazon ECS のみがそのロールを引き受けることができます。定義した許可には、信頼ポリシーと許可ポリシーが含まれます。この許可ポリシーを他のIAM エンティティにアタッチすることはできません。

サービスにリンクされたロールをサポートする他のサービスについては、「IAM と連動する AWS のサービス」を参照し、[Service-linked roles] (サービスにリンクされたロール) の列内で [Yes] (はい) と表記されたサービスを確認してください。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。

Amazon ECS のサービスリンクロール許可

Macie は、[AWSServiceRoleForECS] という名前のサービスにリンクされたロールを使用します。

サービスにリンクされたロール AWSServiceRoleForECS は、次のサービスを信頼してロールを引き受けます。

  • ecs.amazonaws.com

AmazonECSServiceRolePolicy という名前のロールのアクセス許可ポリシーは、指定したリソースに対して以下のアクションを実行することを Evidently に許可します。

  • アクション: awsvpc Amazon ECS タスクのネットワークモードを使用する場合、Amazon ECS はタスクに関連するエラスティックネットワークインターフェイスのライフサイクルを管理します。これには、Amazon ECS がエラスティックネットワークインターフェイスに追加するタグも含まれます。

  • アクション: Amazon ECS サービスでロードバランサーを使用する場合、Amazon ECS は、ロードバランサーへのリソースの登録と登録解除を管理します。

  • アクション: Amazon ECS サービスディスカバリーを使用する場合、Amazon ECS は必要な Route 53 を管理し、AWS Cloud Map サービスディスカバリーが機能するためのリソース

  • アクション: Amazon ECS サービスのオートスケーリングを使用する場合、Amazon ECS は必要な Auto Scaling リソースを管理します。

  • アクション: Amazon ECS は、Amazon ECS リソースのモニタリングに役立つ CloudWatch アラームとログストリームを作成および管理します。

  • アクション: Amazon ECS Exec を使用する場合、Amazon ECS Exec セッションを開始するために必要なタスクへのアクセス権限は Amazon ECS が管理します。

サービスにリンクされたロールの作成、編集、削除をIAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、許可を設定する必要があります。詳細については、IAM ユーザーガイド の「サービスリンクロールのアクセス許可」を参照してください。

Amazon ECS のサービスリンクロールの作成

サービスにリンクされたロールを手動で作成する必要はありません。AWS Management Console、AWS CLI、または AWS API でクラスターを作成したり、サービスを作成または更新したりすると、Amazon ECS によってサービスにリンクされたロールが自動的に作成されます。

重要

このサービスリンクロールは、このロールでサポートされている機能を使用する別のサービスでアクションが完了した場合にアカウントに表示されます。

このサービスにリンクされたロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。クラスターを作成したり、サービスを作成または更新したりすると、Amazon ECS によってサービスにリンクされたロールが自動的に作成されます。

Amazon ECS のサービスリンクロールの編集

Amazon ECS では、AWSServiceRoleForECS サービスリンクロールを編集できません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、「IAM ユーザーガイド」の「サービスにリンクされたロールの編集」を参照してください。

Amazon ECS のサービスリンクロールの削除

サービスにリンクされたロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスにリンクされたロールのリソースをクリーンアップする必要があります。

注記

リソースを削除しようとしたときに Amazon ECS サービスがロールを使用している場合は、削除が失敗する可能性があります。失敗した場合は、数分待ってから操作を再試行してください。

サービスにリンクされたロールがアクティブなセッションを持っているかどうかを確認するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[Roles] (ロール) を選択し、AWSServiceRoleForECS の名前を選択します。(チェックボックスではなく)

  3. [Summary] (概要) ページで [Access Advisor] (アクセスアドバイザー) を選択し、サービスにリンクされたロールの最新のアクティビティを確認します。

    注記

    Amazon ECS が AWSServiceRoleForECS ロールを使用しているかどうか不明な場合は、ロールを削除してみてください。サービスがロールを使用している場合、削除は失敗し、ロールが使用されているリージョンを表示できます。ロールが使用されている場合は、ロールを削除する前にセッションが終了するのを待つ必要があります。サービスにリンクされたロールのセッションを取り消すことはできません。

AWSServiceRoleForECS サービスリンクロールが使用している Amazon ECS リソースを削除するには

AWSServiceRoleForECS ロールを削除する前に、AWS リージョンすべての Amazon ECS クラスターを削除する必要があります。

  1. すべての Amazon ECS サービスをすべてのリージョンで必要数 0 に縮小してから、サービスを削除します。詳細については、「クラシックコンソールを使用したサービスの更新」および「クラシックコンソールを使用してサービスを削除するには」を参照してください。

  2. すべてのリージョンですべてのクラスターからすべてのコンテナインスタンスを登録解除します。詳細については、「Amazon EC2 でバックアップされたコンテナインスタンスの登録解除」を参照してください。

  3. すべてのリージョンですべての Amazon ECS クラスターを削除します。詳細については、「クラシックコンソールを使用してクラスターを削除するには」を参照してください。

IAM を使用してサービスリンクロールを手動で削除するには

IAM コンソール、AWS CLI、または AWS API を使用して、サービスにリンクされたロールである AWSServiceRoleForECS を削除します。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの削除」を参照してください。

Amazon ECS サービスリンクロールがサポートされるリージョン

Amazon ECS は、サービスが利用可能なすべてのリージョンでサービスにリンクされたロールの使用をサポートします。詳細については、「AWS リージョンとエンドポイント」を参照してください。