로드 밸런서에 대한 Amazon ECS 인프라 IAM 역할 - Amazon Elastic Container Service

로드 밸런서에 대한 Amazon ECS 인프라 IAM 역할

로드 밸런서에 대한 Amazon ECS 인프라 IAM 역할을 사용하면 Amazon ECS가 사용자를 대신해 클러스터의 로드 밸런서를 관리할 수 있으며, 이 역할은 다음과 같은 경우에 사용됩니다.

  • Amazon ECS에서 블루/그린 배포를 사용하길 원합니다. 인프라 역할을 사용하면 Amazon ECS가 배포에 대한 로드 밸런서 리소스를 관리할 수 있습니다.

  • 배포 작업 중에 대상 그룹 및 리스너와 같은 로드 밸런서 리소스를 생성, 수정 또는 삭제하려면 Amazon ECS가 필요합니다.

Amazon ECS에서 이 역할을 수임하여 사용자를 대신해 작업을 수행하면 AWS CloudTrail에 이벤트가 표시됩니다. Amazon ECS가 역할을 사용하여 블루/그린 배포에 대한 로드 밸런서 리소스를 관리하는 경우 CloudTrail 로그 roleSessionNameECSNetworkingWithELB 또는 ecs-service-scheduler입니다. 이 이름을 사용하여 사용자 이름을 필터링해 CloudTrail 콘솔에서 이벤트를 검색할 수 있습니다.

Amazon ECS는 로드 밸런서 관리에 필요한 권한을 포함하는 관리형 정책을 제공합니다. 정책에 대한 자세한 내용은 AWS 관리형 정책 참조 안내서AmazonECSInfrastructureRolePolicyForLoadBalancers를 참조하세요.

로드 밸런서에 대한 Amazon ECS 인프라 역할 생성

모든 사용자 입력을 사용자 정보로 바꿉니다.

  1. IAM 역할에 사용할 신뢰 정책이 포함된 ecs-infrastructure-trust-policy.json이라는 이름의 파일을 생성합니다. 파일에 다음을 포함해야 합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToECSForInfrastructureManagement", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 다음 AWS CLI 명령을 사용하여 이전 단계에서 생성한 신뢰 정책을 사용해 ecsInfrastructureRoleForLoadBalancers이라는 이름의 역할을 생성합니다.

    aws iam create-role \ --role-name ecsInfrastructureRoleForLoadBalancers \ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
  3. 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를 사용자가 생성한 인프라 역할 이름으로 바꿉니다.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["arn:aws:iam::*:role/ecsInfrastructureRoleForLoadBalancers"], "Condition": { "StringEquals": {"iam:PassedToService": "ecs.amazonaws.com"} } } ] }

iam:Passrole 및 사용자 권한 업데이트에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서의 사용자에게 AWS 서비스에 역할을 전달할 권한 부여IAM 사용자의 권한 변경을 참조하세요.