로드 밸런서용 Amazon ECS 인프라 IAM 역할
로드 밸런서용 Amazon ECS 인프라 IAM 역할
로드 밸런서용 Amazon ECS 인프라 IAM 역할은 Amazon ECS가 사용자를 대신해 클러스터의 로드 밸런서 리소스를 관리할 수 있게 합니다. 이 글에서는 이 역할을 만드는 방법을 알아봅니다.
출처: 문서
본문
로드 밸런서용 Amazon ECS 인프라 IAM 역할은 Amazon ECS가 사용자를 대신해 클러스터의 로드 밸런서 리소스를 관리할 수 있게 하며, 다음 경우에 사용됩니다:
- Amazon ECS와 함께 블루/그린 배포를 사용하려 할 때. 인프라 역할은 Amazon ECS가 배포를 위한 로드 밸런서 리소스를 관리할 수 있게 합니다.
- 배포 작업 중 Amazon ECS가 대상 그룹(target group)과 리스너(listener) 같은 로드 밸런서 리소스를 생성, 수정 또는 삭제해야 할 때.
Amazon ECS가 이 역할을 맡아 사용자를 대신해 작업을 수행하면 이벤트는 AWS CloudTrail에 표시됩니다. Amazon ECS가 블루/그린 배포를 위해 로드 밸런서 리소스를 관리하는 데 이 역할을 사용한다면 CloudTrail 로그의 roleSessionName은 ECSNetworkingWithELB 또는 ecs-service-scheduler가 됩니다. 이 이름을 사용해 CloudTrail 콘솔에서 User name으로 필터링하여 이벤트를 검색할 수 있어요.
Amazon ECS는 로드 밸런서 관리에 필요한 권한이 포함된 관리형 정책을 제공합니다. 자세한 내용은 AWS Managed Policy Reference Guide의 AmazonECSInfrastructureRolePolicyForLoadBalancers 문서를 참고하세요.
로드 밸런서용 Amazon ECS 인프라 역할 생성 (Creating the Amazon ECS infrastructure role for load balancers)
모든 사용자 입력을 자신의 정보로 바꾸세요.
- IAM 역할에 사용할 신뢰 정책(trust policy)이 포함된
ecs-infrastructure-trust-policy.json이라는 파일을 만듭니다. 파일에는 다음이 포함되어야 합니다:
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToECSForInfrastructureManagement",
"Effect": "Allow",
"Principal": {
"Service": "ecs.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
- 이전 단계에서 만든 신뢰 정책을 사용해
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 콘솔의 Custom trust policy 워크플로를 사용해 역할을 만들 수도 있습니다. 자세한 내용은 IAM 사용자 가이드의 사용자 지정 신뢰 정책을 사용한 역할 생성(콘솔) 문서를 참고하세요.
중요: 인프라 역할이 Amazon ECS가 블루/그린 배포를 위한 로드 밸런서 리소스를 관리하는 데 사용된다면, 역할을 삭제하거나 수정하기 전에 다음을 확인하세요:
- 활성 배포가 진행 중인 동안 역할을 삭제하지 않습니다.
- 신뢰 정책을 수정하여 Amazon ECS 접근(
ecs.amazonaws.com)을 제거하지 않습니다.- 활성 배포가 진행 중인 동안 관리형 정책
AmazonECSInfrastructureRolePolicyForLoadBalancers를 제거하지 않습니다.활성 블루/그린 배포 중에 역할을 삭제하거나 수정하면 배포 실패가 발생하고 서비스가 불일치 상태로 남을 수 있습니다.
Amazon ECS로 인프라 역할 전달 권한 (Permission to pass the infrastructure role to Amazon ECS)
로드 밸런서용 ECS 인프라 IAM 역할을 사용하려면 사용자에게 역할을 Amazon ECS로 전달(pass)할 권한을 부여해야 합니다. 다음 iam:PassRole 권한을 사용자에게 연결하세요. ecsInfrastructureRoleForLoadBalancers를 만든 인프라 역할의 이름으로 바꾸세요.
{
"Version":"2012-10-17",
"Statement": [
{
"Action": "iam:PassRole",
"Effect": "Allow",
"Resource": ["arn:aws:iam::*:role/ecsInfrastructureRoleForLoadBalancers"],
"Condition": {
"StringEquals": {"iam:PassedToService": "ecs.amazonaws.com"}
}
}
]
}
더 알아보기 (Learn more)
- Amazon ECS IAM 역할과 블루/그린 배포에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.