<1> 일반 사용자의 aws batch 사용시 오류
<2> 배치 사용을 위해서는 권한과 role 2개가 필요하다.
<3> 배치가 KMS와 S3 사용이 필요할때
<4> 실습 메뉴얼
<1> 일반 사용자의 aws batch 사용시 오류
관리자의 admin 권한으로 aws batch를 설정하면 이슈가 없다.
하지만, 보안상 사용자인 개발자에게 admin권한을 부여할 순 없다.
개발자가 aws batch를 사용하고자 하면 권한과 role이 필요하다.
어떤 권한과 role 을 제공 해야 하는지 살펴보자.
<2> 배치 사용을 위해서는 권한과 role 2개가 필요하다.
개선 방향
사용자인 개발자 계정에서 batch 를 사용하기 위해서는 권한과 2개의 role 이 필요하다.
batch 서비스 시작 하기
> 컴퓨팅 환경 및 작업 대기열 구성
1. role 2개 생성이 필요하다.
1) 배치 서비스 역할 이 필요 : seo-batchservice-role
2) EC2 인스텐스 역할이 필요 : seo-ec2instance-role
2
역할을 만들자.
IAM > 역할 만들기 > Batch > AWSBatchServiceRole 이 자동으로 들어간다. > seo-batch-role
4
IAM > EC2 > AmazonEC2ContainerServiceRole >
seo-ec2instance-role
EC2 인스턴스 역할이 필요하다. 컨터이너를 만드는 역할.
5
Batch 를 사용하려면 사용자(그룹)가 권한이 있어야 한다.
seo-batch-policy 정책을 만든다. 권한은 batchfull 이다.
batch full 권한 제공
https://docs.aws.amazon.com/batch/latest/userguide/batch_managed_policies.html
6
batch는 batchfull 이외에 pass role 이 필요하다.
특정 ARN에 대해 pass role 을 적용하자.
IAM > 정책 > 정책 생성 > IAM > 쓰기 PassRole > 특정 > ARN 추가
7
일반 계정으로 사용시 오류 발생시
8
PassRole 이 필요하다.
IAM > PassRole 설정시 특정 ARN 만 허용하게 하기
참고1
EC2instance Role 은 instance-profile 이다.
instance-profile 로 특정 ARN 만 허용 설정 하자.
<3> 배치가 KMS와 S3 사용이 필요할때
seo-ec2instance-role 에 KMS권한과 S3 권한을 넣어준다.
왜냐하면 배치 실행시 -> ECS 생성되고 해당 ECS가 KMS에 접속해 사용한다.
<4> 실습 메뉴얼
https://aws.amazon.com/ko/getting-started/hands-on/run-batch-jobs-at-scale-with-ec2-spot/
감사합니다.