brunch

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

by Master Seo
1 start.png



<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 AWSBatchresoucreinteract-diagram.png



> 컴퓨팅 환경 및 작업 대기열 구성


1. role 2개 생성이 필요하다.


10 batch.png



1) 배치 서비스 역할 이 필요 : seo-batchservice-role

2) EC2 인스텐스 역할이 필요 : seo-ec2instance-role



2

역할을 만들자.

IAM > 역할 만들기 > Batch > AWSBatchServiceRole 이 자동으로 들어간다. > seo-batch-role


100 role2.png



110 bachservicerole.png



4

IAM > EC2 > AmazonEC2ContainerServiceRole >

seo-ec2instance-role

EC2 인스턴스 역할이 필요하다. 컨터이너를 만드는 역할.

120 ec2role.png



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


200 group.png




7

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

300 passrole.png

8

PassRole 이 필요하다.

IAM > PassRole 설정시 특정 ARN 만 허용하게 하기

500.png



참고1

EC2instance Role 은 instance-profile 이다.

instance-profile 로 특정 ARN 만 허용 설정 하자.

400.png




<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/




감사합니다.



keyword
매거진의 이전글443. lightsail