ロードバランサー用の 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-name
ecsInfrastructureRoleForLoadBalancers
\ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
-
AWS 管理ポリシー
AmazonECSInfrastructureRolePolicyForLoadBalancers
をecsInfrastructureRoleForLoadBalancers
ロールにアタッチします。aws iam attach-role-policy \ --role-name
ecsInfrastructureRoleForLoadBalancers
\ --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 ユーザーの権限の変更」を参照してください。