ECSの役割要件に混乱


13

ECSをセットアップしようとしていますが、これまでにいくつかの許可の問題が発生したため、このフォーラムで既にいくつかの質問を作成しています。

正直なところ、これらすべての役割の要件を1か所で簡潔に見つけることができないため、これまでのところ行き詰まっていると思います。

少なくとも2つの役割を定義する必要があるようです。

1)ECSコンテナー http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html

2)ECSタスク http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles

それが正しいか?

私は何かを見逃しましたか?特別なIAM要件はありますか?


問題が何であるかは不明です。質問を編集して詳細を含めることができますか?
EEAA

回答:


24

唯一必要なロールは、コンテナインスタンスIAMロールです。このロールにより、EC2エージェント(EC2インスタンスで実行)がAmazon ECSと通信できるようになります。

さまざまな目的に役立つ5つの役割もあります。

  • ECSサービスリンクロール(SLR) -このロールにより、Amazon ECSは、ユーザーに代わってアプリケーションに関連付けられたさまざまなAWSリソースを管理できます。Serviceを使用する場合、このロールにより、Amazon ECS は、サービスに関連付けられたロードバランサー(クラシックロードバランサー、アプリケーションロードバランサー、ネットワークロードバランサー)およびサービス検出(Route 53を使用)を管理できます。タスクネットワーキングを使用する場合、このロールにより、Amazon ECSはElastic Network Interface(ENI)をタスクにアタッチおよびデタッチできます。AWS Fargateを使用する場合、このロールは必須です。
  • Service Scheduler IAMロール -ECS Service-Linkedロール(SLR)が導入される前は、このロールはサービスと組み合わせて使用​​され、Amazon ECSがサービスに関連付けられたロードバランサーを管理できるようにしました。ECSサービスでElastic Load Balancer(Classic Load Balancer、Application Load Balancer、またはNetwork Load Balancer)を使用する場合、このロールを使用できます。ECS SLRが使用可能になったので、2つのロールのいずれかを使用できますが、特定のロードバランサーリソースをカバーするためにAmazon ECSに付与されるアクセス許可を制限する場合は、このロールを使用することもできます。
  • Auto Scaling IAMロール -このロールはサービスと組み合わせて使用​​され、アプリケーションAuto Scalingサービスがサービスの必要な数を増減できるようにします。
  • タスクIAMロール -このロールは、任意のタスクサービスによって起動されたタスクを含む)で使用できます。このロールはEC2インスタンスプロファイルに非常に似ていますが、それらのタスクをホストしている基盤となるEC2インスタンスではなく、個々のタスクに権限を関連付けることができます。必要な異なるアクセス許可でECSクラスター全体で多数の異なるアプリケーションを実行している場合、クラスター内のすべてのEC2インスタンスに、すべてのアプリケーションが必要になります。
  • タスク実行ロール -このロールは、AWS Fargateを使用する場合に必要であり、起動タイプでは使用できないContainer Instance IAMロールを置き換えFARGATEます。このロールにより、AWS Fargateは、コンテナイメージをAmazon ECRから取得し、ログをAmazon CloudWatch Logsに転送できます。このロールは、AWS Secrets ManagerとAWS Systems Manager Parameter Storeからのプライベートレジストリ認証シークレットを有効にするためにも(FargateとEC2の両方の起動タイプで)使用されます

1

@ samuel-karpのこの非常に良い説明に加えて、今日task_role_arn、ECSサービス用のカスタムの組み合わせでクラシックELBからALBに移行するときに問題に遭遇しました。

リンクの後ろに記載されている指示に従いましたTask IAM roleが、エラーは

ロールを引き受けて、指定されたtargetGroupArnを検証できません。渡されるECSサービスロールに適切な権限があることを確認してください。

問題は、サービスがロードバランサーに自分自身を登録しているように見えることです。から校長を交換したときにのみ機能しecs.amazonaws.comました

"Principal": { "Service": "ecs-tasks.amazonaws.com" }

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.