[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 클러스터 또는 스냅샷과 관련된 특정 이벤트가 발생할 때 알림을 받을 수 있다.
.
.
[지난 번 포스팅 리뷰]
– 아래 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]

- DB Instance: RDS 데이터베이스 인스턴스와 관련된 이벤트에 대한 알림을 지정합니다. 예를 들면, 인스턴스 시작, 중지, 삭제 등의 변경 사항에 관한 이벤트가 포함됩니다.
- DB Security Group: 데이터베이스 보안 그룹과 관련된 이벤트에 대한 알림을 지정합니다.
- DB Parameter Group: 데이터베이스 파라미터 그룹과 관련된 이벤트에 대한 알림을 지정합니다.
- DB Snapshot: RDS 스냅샷과 관련된 이벤트에 대한 알림을 지정합니다. 예를 들면, 스냅샷의 생성, 삭제 등의 이벤트가 될 수 있습니다.
- DB Cluster: Aurora와 같은 RDS 클러스터 서비스와 관련된 이벤트에 대한 알림을 지정합니다.
- 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인스턴스, 클러스터, 스냅샷 등등) 운영의 안정성, 보안, 효율성을 향상시키는 중요한 도구로 작용할 수 있습니다.
.
기대효과
- 즉시적인 응답: 데이터베이스와 관련된 중요한 이벤트가 발생하면 즉시 알림을 받을 수 있습니다. 이로 인해 문제가 발생했을 때 신속하게 대응할 수 있습니다.
- 운영 효율성 향상: 데이터베이스 관련 작업의 시작, 완료, 또는 오류 상태를 실시간으로 모니터링하므로, 관리자나 개발자는 수동으로 상태를 확인할 필요가 없어 운영 효율성이 향상됩니다.
- 보안 강화: 예를 들어, 보안 그룹 변경과 같은 보안과 관련된 이벤트에 대한 알림을 받음으로써, 비정상적인 활동이나 예상치 못한 변경을 감지할 수 있습니다.
- 자동화와 통합: 알림은 다양한 AWS 서비스와 통합될 수 있습니다. 예를 들어, Lambda 함수를 통해 특정 이벤트 발생 시 자동으로 워크플로우나 작업을 실행하게 설정할 수 있습니다.
- 비용 절감: 데이터베이스 오류나 비정상적인 운영 상태를 신속하게 감지하여 적절한 조치를 취함으로써 잠재적인 비용을 절감할 수 있습니다.
- SLA 준수: 서비스 수준 약정(SLA)을 준수하는데 필요한 데이터베이스 상태의 실시간 모니터링이 가능해집니다.
- 팀 협업 강화: 여러 관리자나 팀원에게 동시에 알림을 보내어 정보 공유를 강화할 수 있습니다.