LoginSignup
46
31

More than 3 years have passed since last update.

Amazon ECSのタスクロールとタスク実行ロールの違い

Last updated at Posted at 2019-03-13

タスクロール

EC2で動かしているケースにおけるEC2のIAMロールみたいなもの。
主にアプリケーションが使用する権限を付与する。
たとえばS3やElasticSearchへのアクセス権限付与などだろうか。

EC2でタスクを動かす場合、タスクロールと同じ権限を
ホストであるEC2のIAMロールに付与する必要はない。
(EC2のIAMロールなしでタスクロールだけでもOK)

Fargateだとタスクロールだけしかないのでわかりやすいが
ECSをEC2で使っていると権限設定の仕方によっては
単純な二重管理になってしまうような気がした。
(特にタスクを1つしか実行しない場合)

EC2のIAMロールでは
・AmazonEC2ContainerServiceforEC2Role
・AmazonEC2RoleforSSM
あたりを設定して、他はタスクロールに回すのがいいのかもしれない。

タスク実行ロール

標準で
・AmazonECSTaskExecutionRolePolicy
が用意されていますが、
ECRからイメージをPullするための権限と、
CloudWatchLogsにログを記録するための権限があればOK。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}

Resource絞ってもいいけれど、これはそのまま使ってもいいのではと思う。

46
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
31