Amazon ECS Anywhere IAM 역할
Amazon ECS Anywhere IAM 역할
클러스터에 온프레미스 서버나 가상 머신(VM)을 등록하면 서버 또는 VM이 AWS API와 통신하려면 IAM 역할이 필요해요. 이 역할은 ECSAnywhereRole이에요.
출처: 문서
본문
클러스터에 온프레미스 서버나 가상 머신(VM)을 등록하면 서버 또는 VM이 AWS API와 통신하려면 IAM 역할이 필요합니다. 이 IAM 역할은 각 AWS 계정에 대해 한 번만 만들면 됩니다. 그러나 이 IAM 역할은 클러스터에 등록하는 각 서버 또는 VM과 연결되어야 합니다. 이 역할이 ECSAnywhereRole입니다. 이 역할을 수동으로 만들 수 있습니다. 또는 AWS Management Console에서 외부 인스턴스를 등록할 때 Amazon ECS가 사용자를 대신해 역할을 만들 수 있습니다.
IAM 콘솔 검색을 사용해 ecsAnywhereRole을 검색해 계정에 이미 역할이 있는지 확인할 수 있습니다. 자세한 내용은 IAM user guide의 IAM console search를 참고하세요.
AWS는 ECS Anywhere IAM 역할을 만들 때 사용할 수 있는 두 개의 관리형 IAM 정책을 제공합니다: AmazonSSMManagedInstanceCore와 AmazonEC2ContainerServiceforEC2Role 정책입니다. AmazonEC2ContainerServiceforEC2Role 정책에는 필요 이상으로 많은 접근 권한을 제공할 수 있는 권한이 포함됩니다. 따라서 특정 사용 사례에 따라 그 정책에서 필요한 권한만 추가하는 사용자 지정 정책을 만드는 것을 권장합니다. 자세한 내용은 Amazon ECS container instance IAM role을 참고하세요.
작업 실행 IAM 역할은 Amazon ECS 컨테이너 에이전트에게 사용자를 대신해 AWS API 호출을 할 수 있는 권한을 부여합니다. 작업 실행 IAM 역할을 사용할 때는 작업 정의에 지정해야 합니다. 자세한 내용은 Amazon ECS task execution IAM role을 참고하세요.
다음 조건 중 하나라도 적용되면 작업 실행 역할이 필요합니다.
awslogs로그 드라이버를 사용해 컨테이너 로그를 CloudWatch Logs로 보내는 경우.- 작업 정의가 Amazon ECR 프라이빗 저장소에 호스팅된 컨테이너 이미지를 지정하는 경우. 그러나 외부 인스턴스와 연결된
ECSAnywhereRole역할에 Amazon ECR에서 이미지를 풀하는 데 필요한 권한도 포함되어 있으면 작업 실행 역할에 그 권한을 포함할 필요가 없습니다.
Amazon ECS Anywhere 역할 만들기
모든 사용자 입력을 자신의 정보로 바꾸세요.
- 다음 신뢰 정책으로
ssm-trust-policy.json이라는 로컬 파일을 만드세요.{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } } - 다음 AWS CLI 명령으로 역할을 만들고 신뢰 정책을 연결하세요.
aws iam create-role --role-name ecsAnywhereRole --assume-role-policy-document file://ssm-trust-policy.json - 다음 명령으로 AWS 관리형 정책을 연결하세요.
aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
IAM 사용자 지정 신뢰 정책 워크플로를 사용해 역할을 만들 수도 있습니다. 자세한 내용은 IAM User Guide의 Creating a role using custom trust policies (console)를 참고하세요.