[AWS RDS] Using Event Subscriptions for Notifications in AWS RDS

[1] Background & Purpose

1-1. Background

지난 번 AWS Event 에 관한 알림 수신에서는 RDS 에 관한 상태 이벤트 등을 구독을 통해서 전달 받지 못하는 아쉬운 점이 있다.

AWS에서도 이를 고려하였는지 AWS RDS 내 Event subscriptions 라는 서비스를 제공해주고 있다. 해당 서비스를 통해 RDS 모니터링을 진행해보도록 하자.

.

.

.

1-2. Purpose

작업이라고하기도 민망한 이 설정은 RDS DB 인스턴스, 혹은 DB 클러스터에 관하여 알림 서비스를 받기 위함이다.

모든 운영 및 개발 서비스의 리소스 상태를 감시하여 조치하는 것이 목표이기 때문에 AWS RDS 내 Event subscriptions 라는 서비스를 설정하여 다양한 소스타입 형태의 서비스의 모니터링을 설정하도록 해봅시다.

.

.

AWS RDS에서의 Event는 이벤트 상태 현황과 구독 설정으로 나뉩니다.

  • AWS RDS > Event (이벤트 상태 현황)
    • Source 에서 설정한 구독에 대한 모든 이벤트들이 타임라인순으로 나열된다.
  • AWS RDS > Event subscriptions (이벤트 구독 설정)
    • AWS RDS의 Event Subscriptions를 사용하면 RDS 인스턴스, DB 클러스터 또는 스냅샷과 관련된 특정 이벤트가 발생할 때 알림을 받을 수 있다.

.

.

[지난 번 포스팅 리뷰]

– 지난 번 설정한 AWS SNS는 전체 리소스에 관한 Event Notification 을 수신할 수 있었으나, RDS의 리소스는 본 포스팅과 같이 추가 Event subscription을 설정해야하는 부분이 있다.
– 아래 Source Settings에서는 위 링크에서 설명한 ARN 부분을 참고할 수 있다.

.

.

.

.

[2] Task Details

2-1. Source Settings

- AWS RDS의 Event Subscription에서 "Target" 설정은 이벤트 발생 시 알림을 어디로 보낼지를 지정하는 부분입니다. 

- RDS의 이벤트 알림은 Amazon SNS(Simple Notification Service)를 통해 처리되기 때문에, Target 설정은 SNS 토픽을 지정하는 것입니다.

ARN:

– Amazon Resource Name (ARN)은 AWS 자원을 고유하게 식별하는 문자열입니다.

– 여기에서 ARN을 사용하여 기존 SNS 토픽을 지정할 수 있습니다. 이렇게 설정하면, 해당 SNS 토픽에 구독된 모든 엔드포인트(예: 이메일, SMS, Lambda 함수 등)로 RDS 이벤트 알림이 전송됩니다.

New Email Topic:

– 이 옵션을 선택하면, 새로운 SNS 토픽을 생성하고 해당 토픽에 이메일 구독을 추가할 수 있습니다. 즉, 특정 이메일 주소로 RDS 이벤트 알림을 받기 위해 새 토픽을 만드는 것입니다.

.

.

2-2. Target Settings

- AWS RDS의 Event Subscriptions를 사용하면 RDS 인스턴스, DB 클러스터 또는 스냅샷과 관련된 특정 이벤트가 발생할 때 알림을 받을 수 있습니다. 

- 이때, 이벤트의 'Source Type'은 이벤트의 원인이 되는 RDS 구성 요소를 지정하면 Target 을 통해 설정한 AWS SNS 구독 혹은 별도의 Email 토픽으로 설정한 후 전달 받을 수 있습니다.

.

[Source type]

  1. DB Instance: RDS 데이터베이스 인스턴스와 관련된 이벤트에 대한 알림을 지정합니다. 예를 들면, 인스턴스 시작, 중지, 삭제 등의 변경 사항에 관한 이벤트가 포함됩니다.
  2. DB Security Group: 데이터베이스 보안 그룹과 관련된 이벤트에 대한 알림을 지정합니다.
  3. DB Parameter Group: 데이터베이스 파라미터 그룹과 관련된 이벤트에 대한 알림을 지정합니다.
  4. DB Snapshot: RDS 스냅샷과 관련된 이벤트에 대한 알림을 지정합니다. 예를 들면, 스냅샷의 생성, 삭제 등의 이벤트가 될 수 있습니다.
  5. DB Cluster: Aurora와 같은 RDS 클러스터 서비스와 관련된 이벤트에 대한 알림을 지정합니다.
  6. DB Cluster Snapshot: RDS 클러스터 스냅샷과 관련된 이벤트에 대한 알림을 지정합니다.

.

.

[Event categories to include]

– 일단 Source Type 및 Instance를 명시하게 되면, Event categories 를 통해 수신받길 원하는 이벤트들을 위와 같이 지정할 수 있다.

.

.

2-3. Overview

Create event subscription

.

Completed > Create event subscription

.

Event Subscription 이 생성되면 아래와 같이 RDS > Events 를 통해 히스토리를 확인할 수 있다.

.

생성이 완료되면 아래와 같이 알림이 수신됨 (구독으로 등록된 ARN 주소)

.

.

.

.

[3] Learnings & Results

AWS RDS의 Event Subscription은 데이터베이스(DB인스턴스, 클러스터, 스냅샷 등등) 운영의 안정성, 보안, 효율성을 향상시키는 중요한 도구로 작용할 수 있습니다.

.

기대효과

  1. 즉시적인 응답: 데이터베이스와 관련된 중요한 이벤트가 발생하면 즉시 알림을 받을 수 있습니다. 이로 인해 문제가 발생했을 때 신속하게 대응할 수 있습니다.
  2. 운영 효율성 향상: 데이터베이스 관련 작업의 시작, 완료, 또는 오류 상태를 실시간으로 모니터링하므로, 관리자나 개발자는 수동으로 상태를 확인할 필요가 없어 운영 효율성이 향상됩니다.
  3. 보안 강화: 예를 들어, 보안 그룹 변경과 같은 보안과 관련된 이벤트에 대한 알림을 받음으로써, 비정상적인 활동이나 예상치 못한 변경을 감지할 수 있습니다.
  4. 자동화와 통합: 알림은 다양한 AWS 서비스와 통합될 수 있습니다. 예를 들어, Lambda 함수를 통해 특정 이벤트 발생 시 자동으로 워크플로우나 작업을 실행하게 설정할 수 있습니다.
  5. 비용 절감: 데이터베이스 오류나 비정상적인 운영 상태를 신속하게 감지하여 적절한 조치를 취함으로써 잠재적인 비용을 절감할 수 있습니다.
  6. SLA 준수: 서비스 수준 약정(SLA)을 준수하는데 필요한 데이터베이스 상태의 실시간 모니터링이 가능해집니다.
  7. 팀 협업 강화: 여러 관리자나 팀원에게 동시에 알림을 보내어 정보 공유를 강화할 수 있습니다.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x