brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Aug 11. 2020

444. 개발자에게 AWS Batch 제공하기



<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  추가





일반 계정으로 사용시 오류 발생시

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/




감사합니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari