AWS Batch를 CloudWatch Events 규칙의 대상으로 사용하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 5월 8일

AWS Batch를 Amazon CloudWatch Events 규칙의 대상으로 사용하고 싶습니다. 어떻게 해야 합니까?

​해결 방법

이 예제에서는 CloudWatch Events 규칙을 통해 AWS Batch에 이벤트를 전송하도록 Amazon Simple Storage Service(Amazon S3) 버킷을 구성합니다.

작업 대기열의 ARN 및 작업 정의 가져오기

1.    AWS Batch 콘솔을 엽니다.

2.    탐색 창에서 [Job queues(작업 대기열)]를 선택합니다.

3.    작업 대기열을 선택합니다.

4.    [Overview(개요)] 섹션에서 [Queue ARN(대기열 ARN)]을 복사한 다음 나중에 사용할 수 있도록 저장합니다.

5.    탐색 창에서 [Job definitions(작업 정의)]를 선택한 후, 작업 정의를 선택합니다.

6.    [Job definitions attributes(작업 정의 속성)] 섹션에서 [Job definition ARN(작업 정의 ARN)]을 복사한 다음 나중에 사용할 수 있도록 저장합니다.

CloudWatch Events 규칙 생성

1.    CloudWatch 콘솔을 엽니다.

2.    탐색 창에서 [Rules(규칙)]를 선택합니다.

3.    [Create rule]을 선택합니다.

4.    [Event Source(이벤트 소스)] 섹션에서 [Event Pattern(이벤트 패턴)]을 선택합니다.

5.    [Service Name(서비스 이름)]에서 [Simple Storage Service(S3)]를 선택합니다.

6.    [Event Type(이벤트 유형)]에서 [Object Level Operations(객체 레벨 작업)]를 선택합니다.

7.    [Any operation(모든 작업)]을 선택합니다.

8.    [Specific bucket(s) by name(이름으로 버킷 지정)]을 선택한 후 버킷의 이름을 입력합니다.

9.    [Event Pattern Preview(이벤트 패턴 미리 보기)] 코드 편집기에서 [bucketName] 속성에 버킷 이름을 입력합니다.

10.    [Targets(대상)] 섹션에서 [Add target(대상 추가)]을 선택합니다.

11.    기본 메뉴에서 [Batch job queue(Batch 작업 대기열)]를 선택합니다.

12.    [Job queue(작업 대기열)]에 앞서 복사한 작업 대기열 ARN을 붙여 넣습니다.

13.    [Job definition(작업 정의)]에 앞서 복사한 작업 정의 ARN을 붙여 넣습니다.

14.    [Job name(작업 이름)]에 AWS Batch 작업의 이름을 입력합니다.

15.    [Configure input(입력 구성)] 섹션에서 [Input Transformer(입력 변환기)]를 선택합니다.

16.    첫 번째 입력란에 이벤트가 트리거되면 전송되는 S3 버킷 값을 입력합니다.

{"awsExampleBucketValue":"$.detail.requestParameters.bucketName","awsexampleS3KeyValue":"$.detail.requestParameters.key"}

17.    두 번째 입력란에 Batch 작업에 전달할 파라미터 구조를 입력합니다.

{"Parameters" : {"awsExampleBucket": awsExampleBucketValue, "awsExampleS3Key": awsexampleS3KeyValue}}

참고: awsExampleBucketValueawsexampleS3KeyValue를 실제 값으로 바꾸십시오.

18.    [Create a new role for this specific resource(이 특정 리소스에 대해 새 역할 생성)] 또는 [Use existing role(기존 역할 사용)]을 선택합니다.

참고: 기존 역할을 선택하는 경우, 해당 역할에 SubmitJob 권한이 부여되어 있어야 합니다.

19.    [Configure details(세부 정보 구성)]을 선택합니다.

20.    [Name(이름)]에 규칙의 이름을 입력합니다.

21.    [State(상태)]에서 [Enabled(활성화됨)] 확인란을 선택합니다.

22.    [Create rule(규칙 생성)]을 선택합니다.

생성한 새 규칙 테스트

1.    Amazon S3 콘솔을 엽니다.

2.    버킷을 선택합니다.

3.    [Upload(업로드)]를 선택합니다.

4.    [Add files(파일 추가)]를 선택한 다음 S3 버킷에 테스트 파일을 추가하여, 앞서 생성한 CloudWatch Events 규칙을 트리거합니다.

로그 확인

1.    AWS Batch 콘솔을 엽니다.

2.    탐색 창에서 [Jobs(작업)]를 선택합니다.

3.    [Status(상태)]가 [SUCCEEDED(성공)]인 작업을 선택합니다.

4.    [Job details(작업 세부 정보)] 페이지의 [Attempts(시도)] 섹션에서 [View logs(로그 보기)]를 선택합니다. 이 로그는 CloudWatch 콘솔에서 버킷 이름과 객체의 키를 표시합니다.