Amazon RDS 이벤트 알림 개요 - Amazon Relational Database Service

Amazon RDS 이벤트 알림 개요

Amazon RDS는 구독 가능한 카테고리로 이벤트를 그룹화합니다. 따라서 해당 카테고리의 이벤트가 발생했을 때 이에 대한 알림 메시지를 받을 수 있습니다.

이벤트 구독에 적합한 RDS 리소스

다음 리소스에 대한 이벤트 범주에 구독할 수 있습니다.

  • DB 인스턴스

  • DB 스냅샷

  • DB 파라미터 그룹

  • DB 보안 그룹

  • RDS 프록시

  • 커스텀 엔진 버전

예를 들어 임의의 DB 인스턴스에 대한 백업 카테고리를 구독할 경우 백업 관련 이벤트가 발생하여 DB 인스턴스에 영향을 끼칠 때마다 알림 메시지가 수신됩니다. 혹은 DB 인스턴스의 구성 변경 카테고리를 구독하면 DB 인스턴스가 변경될 때마다 메시지가 수신됩니다. 또한 이벤트 알림 메시지 구독이 변경되어도 알림 메시지가 수신됩니다.

여러 가지 다른 구독을 만들 수 있습니다. 예를 들어, 전체 DB 인스턴스에 대한 모든 이벤트 알림을 수신하는 하나의 구독과 DB 인스턴스의 하위 집합에 대한 중요 이벤트만 포함하는 다른 구독을 만들 수 있습니다. 두 번째 구독의 경우 필터에 하나 이상의 DB 인스턴스를 지정합니다.

Amazon RDS 이벤트 알림을 구독하는 기본 프로세스

Amazon RDS 이벤트 알림 서비스를 구독하는 프로세스는 다음과 같습니다.

  1. Amazon RDS 콘솔, AWS CLI 또는 API를 사용하여 Amazon RDS 이벤트 알림 서비스 구독을 생성합니다.

    Amazon RDS에서는 Amazon SNS 주제의 ARN을 사용하여 각 구독을 식별합니다. Amazon RDS 콘솔은 구독 생성 시 ARN을 생성합니다. Amazon SNS 콘솔인 AWS CLI 또는 Amazon SNS API를 사용하여 ARN을 생성합니다.

  2. Amazon RDS가 구독 생성 시 제출한 이메일 주소로 승인 이메일 또는 SMS 메시지를 전송합니다.

  3. 전송된 알림의 링크를 선택하여 구독 여부를 확인합니다.

  4. Amazon RDS 콘솔은 구독 상태로 내 이벤트 구독 섹션을 업데이트합니다.

  5. Amazon RDS는 구독을 생성할 때 제공한 주소로 알림을 보내기 시작합니다.

Amazon SNS 사용 시 자격 증명 및 액세스 관리에 대한 자세한 내용은 Amazon Simple Notification Service 개발자 가이드Amazon SNS의 Identity and Access Management를 참조하세요.

AWS Lambda를 사용하여 DB 인스턴스의 이벤트 알림을 처리할 수 있습니다. 자세한 내용은 AWS Lambda 개발자 안내서Amazon RDS에서 AWS Lambda 사용을 참조하세요.

RDS 이벤트 알림 전송

Amazon RDS는 구독 생성 시 입력한 주소로 알림을 보냅니다. 알림에는 메시지에 대한 구조화된 메타데이터를 제공하는 메시지 속성이 포함될 수 있습니다. 메시지 속성에 대한 자세한 내용은 Amazon RDS 이벤트 카테고리 및 이벤트 메시지 단원을 참조하세요.

이벤트 알림을 전달하는 데 최대 5분 정도 걸릴 수 있습니다.

중요

Amazon RDS는 이벤트 스트림에서 전송된 이벤트 순서를 보장하지 않습니다. 이벤트 순서는 변경될 수 있습니다.

Amazon SNS이 구독된 HTTP 또는 HTTPS 엔드포인트에 알림을 전송할 때 엔드포인트에 전송된 POST 메시지에는 JSON 문서를 포함하는 메시지 본문이 있습니다. 자세한 내용은 Amazon Simple Notification Service 개발자 안내서Amazon SNS 메시지 및 JSON 형식을 참조하십시오.

문자 메시지로 알리도록 SNS를 구성할 수 있습니다. 자세한 내용은 Amazon Simple Notification Service 개발자 가이드모바일 문자 메시지(SMS)를 참조하세요.

구독을 삭제하지 않고 알림을 끄려면 Amazon RDS 콘솔에서 활성에 대해 아니요를 선택합니다. 또는 AWS CLI 또는 Amazon RDS API를 사용하여 Enabled 파라미터를 false(으)로 설정할 수 있습니다.

Amazon RDS 이벤트 알림 결제

Amazon RDS 이벤트 알림에 대한 결제는 Amazon SNS를 통해 이루어집니다. Amazon SNS 요금은 이벤트 알림 사용 시 적용됩니다. Amazon SNS 결제에 대한 자세한 내용은 Amazon Simple Notification Service 요금을 참조하세요.

Amazon EventBridge를 사용한 Amazon RDS 이벤트의 예

다음 예에서는 JSON 형식으로 다양한 Amazon RDS 이벤트 유형을 보여줍니다. JSON 형식으로 이벤트를 캡처하고 보는 방법을 보여 주는 자습서는 자습서: Amazon EventBridge를 사용하여 DB 인스턴스의 상태 변경 로깅 단원을 참조하세요.

DB 인스턴스 이벤트의 예

다음은 JSON 형식의 DB 인스턴스 이벤트에 대한 예제입니다. 이 이벤트는 RDS가 my-db-instance라는 인스턴스에 대해 다중 AZ 장애 조치를 수행했음을 보여줍니다. 이벤트 ID는 RDS-EVENT-0049입니다.

{ "version": "0", "id": "68f6e973-1a0c-d37b-f2f2-94a7f62ffd4e", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "123456789012", "time": "2018-09-27T22:36:43Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:123456789012:db:my-db-instance" ], "detail": { "EventCategories": [ "failover" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", "Date": "2018-09-27T22:36:43.292Z", "Message": "A Multi-AZ failover has completed.", "SourceIdentifier": "my-db-instance", "EventID": "RDS-EVENT-0049" } }

DB 파라미터 그룹 이벤트의 예

다음은 JSON 형식의 DB 파라미터 그룹 이벤트에 대한 예제입니다. 이 이벤트는 time_zone 파라미터가 파라미터 그룹 my-db-param-group에서 업데이트되었음을 보여줍니다. 이벤트 ID는 RDS-EVENT-0037입니다.

{ "version": "0", "id": "844e2571-85d4-695f-b930-0153b71dcb42", "detail-type": "RDS DB Parameter Group Event", "source": "aws.rds", "account": "123456789012", "time": "2018-10-06T12:26:13Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group" ], "detail": { "EventCategories": [ "configuration change" ], "SourceType": "DB_PARAM", "SourceArn": "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group", "Date": "2018-10-06T12:26:13.882Z", "Message": "Updated parameter time_zone to UTC with apply method immediate", "SourceIdentifier": "my-db-param-group", "EventID": "RDS-EVENT-0037" } }

DB 스냅샷 이벤트의 예

다음은 JSON 형식의 DB 스냅샷 이벤트에 대한 예제입니다. 이 이벤트는 my-db-snapshot이라는 스냅샷의 삭제를 보여줍니다. 이벤트 ID는 RDS-EVENT-0041입니다.

{ "version": "0", "id": "844e2571-85d4-695f-b930-0153b71dcb42", "detail-type": "RDS DB Snapshot Event", "source": "aws.rds", "account": "123456789012", "time": "2018-10-06T12:26:13Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot" ], "detail": { "EventCategories": [ "deletion" ], "SourceType": "SNAPSHOT", "SourceArn": "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot", "Date": "2018-10-06T12:26:13.882Z", "Message": "Deleted manual snapshot", "SourceIdentifier": "my-db-snapshot", "EventID": "RDS-EVENT-0041" } }