AWS Glue 작업의 상태가 변경될 때 Amazon SNS 알림을 수신하려면 어떻게 해야 하나요?

3분 분량
0

AWS Glue 추출, 변환, 로드(ETL) 작업이 성공, 실패, 시간 초과 또는 중지될 때 알림을 받고 싶습니다.

간략한 설명

AWS Glue 작업 상태가 변경될 때 알림을 받으려면 다음 단계를 완료하세요.

  1. Amazon Simple Notification Service(Amazon SNS) 주제를 생성하세요. SNS 주제는 구독 엔드포인트 또는 클라이언트에 메시지를 전송합니다.
  2. 모니터링하려는 AWS Glue 작업 상태 변경에 대한 Amazon EventBridge 이벤트 규칙을 생성하세요.

해결 방법

**참고:**작업 상태가 변경되면 AWS Glue가 이벤트를 생성합니다. 자세한 내용은 AWS Glue 작업 실행 상태를 참조하세요.

Amazon SNS 주제 생성 및 구독

1.    Amazon SNS 콘솔을 엽니다.

2.    탐색 창에서 주제를 선택합니다.

3.    주제 생성을 선택합니다.

4.    유형에서 스탠더드를 선택합니다.

5.    주제 이름을 입력합니다. 표시 이름 필드는 선택 사항입니다.

6.    주제 생성을 선택합니다.

7.    탐색 창에서 구독을 선택합니다.

8.    구독 생성을 선택합니다.

9.     세부 정보에서 다음 필드를 작성하세요.

        주제 ARN에서 생성한 주제의 ARN을 선택합니다.

        프로토콜에서 이메일을 선택합니다.

        엔드포인트에서 알림을 보낼 이메일 주소를 입력합니다.

10.    구독 생성을 선택합니다.

수신한 구독 확인 이메일에서 구독 확인을 선택합니다. 생성한 SNS 주제를 기록해 둡니다. EventBridge 규칙을 생성할 때 이 주제를 사용하세요.

EventBridge 이벤트 규칙 생성

1.    EventBridge 콘솔을 엽니다.

2.    탐색 창에서 규칙을 선택한 다음 규칙 생성을 선택합니다.

3.    규칙 이름을 입력합니다. 기본값인 이벤트 버스규칙 유형 설정을 유지하고 다음을 선택합니다.

4.    생성 방법에서 **사용자 지정 패턴(JSON 편집기)**을 선택합니다.

5.    이벤트 패턴 상자에 다음 예제 이벤트 패턴을 입력하여 AWS Glue 상태 변경 이벤트를 캡처합니다.

{  
    "detail-type": [  
        "Glue Job State Change",  
        "Glue Job Run Status"  
    ],  
    "source": [  
        "aws.glue"  
    ],  
    "detail": {  
        "state": [  
            "FAILED",  
            "SUCCEEDED",  
            "TIMEOUT",  
            "STOPPED",  
            "RUNNING",  
            "STARTING",  
            "STOPPING"  
        ]  
    }  
}

**팁:**특정 상태 변경에 대한 알림을 받지 않으려면 이벤트 패턴에서 해당 파라미터(예: RUNNING)를 제거하세요.

6.    다음을 선택합니다.

7.    대상 유형에서 AWS 서비스를 선택합니다.

8.    대상 선택에서 SNS 주제를 선택합니다.

9.    주제의 경우 생성한 SNS 주제의 이름을 선택합니다.

10.    다음을 선택합니다. 

11.    (선택 사항) 규칙의 태그를 입력한 후 다음을 선택합니다.

12.    규칙 생성을 선택합니다.

자세한 내용은 이벤트 패턴 생성Amazon CloudWatch Events를 사용한 AWS Glue 자동화를 참조하세요.

구성 테스트

이벤트 규칙 및 SNS 주제를 테스트하려면 AWS Glue 작업을 실행하세요. 작업이 이벤트 규칙에서 지정한 상태로 변경되면 이메일 알림을 받았는지 확인하세요.

**중요:**규칙이 실행되고 있지 않으면 이벤트 패턴이 올바른지 확인하세요.

예시

작업 실행 실패 이벤트를 캡처하고 해당 이벤트를 SNS 주제로 보낼 수 있습니다. 다음은 실패한 Glue 작업에 대한 예제 이벤트입니다.

{  
    "version": "0",  
    "id": "abcdef01-1234-5678-9abc-def012345678",  
    "detail-type": "Glue Job State Change",  
    "source": "aws.glue",  
    "account": "123456789012",  
    "time": "2017-09-07T06:02:03Z",  
    "region": "us-west-2",  
    "resources": [],  
    "detail": {  
        "jobName": "MyJob",  
        "severity": "ERROR",  
        "state": "FAILED",  
        "jobRunId": "jr_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",  
        "message": "JobName:MyJob and JobRunId:jr_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef failed to run with exception Role arn:aws:iam::123456789012:role/Glue_Role should be given assume role permissions for Glue Service."  
    }  
}

AWS Glue에 대해 실패한 모든 작업을 구문 분석하려면 이전 단계를 완료하세요.

관련 정보

AWS Glue 작업 재시도에 실패할 경우 AWS Lambda 함수를 사용하여 SNS 알림을 수신하려면 어떻게 해야 하나요?

크롤러 실행이 완료될 때 AWS Glue 작업을 자동으로 시작하려면 어떻게 해야 하나요?

AWS 서비스의 이벤트

AWS 공식
AWS 공식업데이트됨 7달 전