Amazon ECS 태스크 실행 IAM 역할(Task execution IAM role)

Amazon ECS 태스크 실행 IAM 역할(Task execution IAM role)

태스크 실행 IAM 역할은 Amazon ECS 컨테이너 에이전트가 AWS API를 호출할 때 사용하는 역할이에요. 이 역할을 통해 ECR에서 이미지를 가져오고, Secrets Manager/파라미터 스토어에서 시크릿을 읽고, 로그를 CloudWatch로 전송할 수 있어요.

출처: 문서

본문

태스크 실행 IAM 역할은 Amazon ECS 컨테이너 에이전트가 사용자를 대신해 AWS API를 호출하도록 허용하는 역할이에요. Fargate 태스크를 포함한 대부분의 태스크에서 필요해요.

태스크 실행 역할은 다음 작업을 수행할 수 있게 해줘요:

  • Amazon ECR에서 컨테이너 이미지를 가져오기(ecr:GetAuthorizationToken, ecr:BatchGetImage, ecr:GetDownloadUrlForLayer).
  • AWS Secrets Manager에서 시크릿 읽기(secretsmanager:GetSecretValue).
  • AWS Systems Manager 파라미터 스토어에서 파라미터 읽기(ssm:GetParameters).
  • 로그를 CloudWatch Logs로 전송(logs:CreateLogStream, logs:PutLogEvents).

역할 생성 및 사용

태스크 실행 역할의 이름은 일반적으로 ecsTaskExecutionRole이에요. 태스크 정의의 executionRoleArn에 이 역할의 ARN을 지정해요.

태스크 실행 역할을 만들 때는 다음 신뢰 정책을 사용해 Amazon ECS 서비스가 이 역할을 맡을 수 있게 해요:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { "Service": "ecs-tasks.amazonaws.com" },
      "Action": "sts:AssumeRole"
    }
  ]
}

태스크 실행 역할은 컨테이너 에이전트가 AWS 리소스에 접근할 수 있게 하는 중요한 역할이에요. 컨테이너 내부 애플리케이션이 AWS API를 호출해야 한다면 태스크 역할(task role)을 별도로 지정해요.

더 알아보기 (Learn more)