ロードバランサー用の Amazon ECS インフラストラクチャの IAM ロール
ロードバランサー用 Amazon ECS インフラストラクチャの IAM ロールは、Amazon ECS がユーザーに代わって、クラスター内のロードバランサーリソースを管理できるようにするためのものであり、次の場合に使用します。
-
Amazon ECS でブルー/グリーンデプロイを使用したい場合。インフラストラクチャロールにより、Amazon ECS でデプロイのロードバランサーリソースを管理できるようになります。
-
デプロイ操作中に、Amazon ECS でターゲットグループやリスナーなどのロードバランサーリソースを作成、変更、または削除する必要がある場合。
Amazon ECS がこの役割を引き受け、ユーザーに代わってアクションを実行すると、イベントが AWS CloudTrail に表示されます。Amazon ECS がこのロールを使用してブルー/グリーンデプロイのロードバランサーリソースを管理する場合、CloudTrail ログ roleSessionName は、ECSNetworkingWithELB または ecs-service-scheduler になります。この名前を使用して、[ユーザー名]でフィルタリングすることで CloudTrail コンソールでイベントを検索できます。
Amazon ECS は、ロードバランサー管理に必要となるアクセス許可を含む管理ポリシーを提供します。詳細については、「AWS マネージドポリシーリファレンスガイド」の「AmazonECSInfrastructureRolePolicyForLoadBalancers」を参照してください。
ロードバランサー用の Amazon ECS インフラストラクチャロールの作成
すべての [ユーザー入力] は、お客様の情報で置き換えてください。
-
IAM ロールに使用する信頼ポリシーが含まれている
ecs-infrastructure-trust-policy.jsonという名前のファイルを作成します。ファイルには次の内容が含まれます。 -
前のステップで作成した信頼ポリシーを使用して、
ecsInfrastructureRoleForLoadBalancersという名前のロールを作成するには、次の AWS CLI コマンドを使用します。aws iam create-role \ --role-nameecsInfrastructureRoleForLoadBalancers\ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json -
AWS 管理ポリシー
AmazonECSInfrastructureRolePolicyForLoadBalancersをecsInfrastructureRoleForLoadBalancersロールにアタッチします。aws iam attach-role-policy \ --role-nameecsInfrastructureRoleForLoadBalancers\ --policy-arn arn:aws:iam::aws:policy/AmazonECSInfrastructureRolePolicyForLoadBalancers
IAM コンソールの[カスタム信頼ポリシー]ワークフローを使用してロールを作成することもできます。詳細については、「IAM ユーザーガイド」の「カスタム信頼ポリシーを使用してロールを作成する (コンソール)」を参照してください。
重要
Amazon ECS がブルー/グリーンデプロイのロードバランサーリソースを管理するためにインフラストラクチャロールを使用している場合は、ロールを削除または変更する前に以下の点を確認してください。
-
アクティブなデプロイの進行中に、ロールが削除されない。
-
ロールの信頼ポリシーは、Amazon ECS アクセス (
ecs.amazonaws.com) を削除するように変更されていません。 -
アクティブなデプロイの進行中に、管理ポリシー
AmazonECSInfrastructureRolePolicyForLoadBalancersが削除されない。
ブルー/グリーンデプロイ中にロールを削除または変更すると、デプロイが失敗し、サービスが不整合な状態になる可能性があります。
ファイルを作成したら、Amazon ECS にロールを渡すためのアクセス許可をユーザーに付与する必要があります。
インフラストラクチャロールを Amazon ECS に渡すためのアクセス許可
ロードバランサー用の ECS インフラストラクチャの IAM ロールを使用するには、そのロールを Amazon ECS に渡すためのユーザー権限を付与する必要があります。ユーザーに、次の iam:PassRole 権限をアタッチします。ecsInfrastructureRoleForLoadBalancers を作成したインフラストラクチャロールの名前に置き換えます。
iam:Passrole およびユーザー権限の更新の詳細については、「AWS Identity and Access Management ユーザーガイド」の「AWS サービスにロールを渡すアクセス許可をユーザーに付与する」と「IAM ユーザーのアクセス許可を変更する」を参照してください。