이제 RDS 이벤트와
이벤트 구독을 다루겠습다
RDS는 데이터베이스 인스턴스,
스냅샷, 매개변수 그룹이나 보안 그룹 변경 등에
관련된 다중 이벤트에 대한
기록을 유지합니다
이벤트란 무엇일까요?
이벤트는 예를 들어 데이터베이스
상태가 보류에서 실행으로 바뀌는 것입니다
이러한 이벤트에 대해 알림을 받기 위해
RDS 이벤트 구독이 있습니다
모든 이벤트나 특정 이벤트 알림을 받기 위한
SNS 토픽으로 설정할 수 있습니다
이벤트 소스를 명시하거나 카테고리도 지정할 수 있습니다
SNS로 세분화된 유형의 이벤트를
받아보기 위해서입니다
또한 EventBridge를 통해
이벤트를 받아볼 수도 있습니다
몇 가지 규칙을 설정해두면
EventBridge가 RDS 이벤트에 반응하게 됩니다
이벤트 예시를 들어보겠습니다
여러분의 DB 인스턴스의 백업 이벤트가
발생한다면 이것은 RDS 이벤트로
전송되어 SNS의 알림을 발동시키며
EventBridge의 이벤트를 발동시킵니다
두 번째로 말씀드릴 것은 데이터베이스
로그 파일입니다
RDS 데이터베이스 인스턴스는 로그가 있습니다
General Logs, Audit Logs, Error Logs
Slow Query Logs 등입니다
이런 로그를 CloudWatch Logs에 보내고
CloudWatch Logs 위에 Metric Filter를 적용할 수 있습니다
예를 들어 Error이라는 키워드를
적용했을 때 너무 많이, 자주 발생한다면
그 위에 CloudWatch 알림을
설정할 수 있습니다
이것은 로그 경고를 할 수 있게 해줍니다
이 CloudWatch Alarm는 예를 들어
SNS 토픽에 알림을 보냅니다
그러면 이 SNS 토픽은 데이터베이스 관리자에게
알림을 보냅니다
이렇게 RDS 데이터베이스에 대해 더 많은
알림과 이벤트를 가능하게 해줍니다
이번에는 이벤트가 아니라 로그 자체에 기반했습니다
이제 콘솔에서 어떻게
설정할 수 있는지 보겠습니다
왼쪽에 Events 탭이 있습니다
Events에서는 여러분의 계정 내에서 발생한
모든 이벤트들을 볼 수 있습니다
콘솔에서 24시간 분량의 데이터를 얻을 수 있습니다
예를 들어 여기에서
데이터베이스를 생성했었는데
몇 가지가 바뀌었고 백업이 시작됐습니다
그리고 이 데이터베이스를 지우고 새로 만들었습니다
여기에서 모든 메시지를 볼 수 있습니다
인스턴스와 관련된 이벤트 유형일 수도 있고
스냅샷과 관련된 이벤트 유형일 수도 있고
보안 그룹이나 매개변수 그룹일 수도 있습니다
이 모든 이벤트의 메시지를 볼 수 있습니다
RDS 데이터베이스에서
발생한 모든 이벤트의 로그를 볼 수 있습니다
이벤트 구독을 설정할 수도 있습니다
여러분도 만들 수 있습니다
DemoSubscription이라고 하겠습니다
새 토픽을 만들 수도 있고
알림으로 보낼 ARN 토픽을
설정할 수도 있습니다
이벤트의 소스는
Instances로 해두고
모든 인스턴스로 하거나
일부 인스턴스만으로 설정할 수 있습니다
모든 이벤트 카테고리 또는 특정 카테고리
범위에 따라 알림을 받을 수 있습니다
그래서 꽤 편리합니다
Instances, Security Groups, Parameter Groups
Snapshots, Clusters, Cluster Snapshots
Custom engine versions를
Source Type으로 설정할 수 있습니다
따라서 창의력을 발휘할 수 있습니다
목적지는 SNS 토픽입니다
CloudWatch Events나 EventBridge에
접속하여 자신만의 이벤트를 설정할 수도 있습니다
데이터베이스로 가서 Logs & events
페이지를 볼 수 있습니다
제 데이터베이스와 관련한
CloudWatch alarms, 데이터베이스 관련 Recent events
Logs를 볼 수 있습니다
여기서는 존재하는 로그를 볼 수 있습니다
mysql-error-log-running.log가 있으며
mysqlUpgrade 로그가 있습니다
Watch 또는 Download할 수 있습니다
예를 들어 이걸 보시면 무슨 일이
있었는지 정보를 얻을 수 있습니다
새로고침을 할 수 있고
약 1,000줄의 로그를 표시합니다
CloudWatch Logs에 로그를 보내
분석하고 Metric filter를
생성하고자 한다면 데이터베이스를
Modify 하는데, 여기서 설정을 수정할 수 있습니다
이제 로그 관련 설정을 찾아야 합니다
사용 가능할 때 스크롤을
내리겠습니다
여기를 보시면
Additional configuration에서 스크롤을
내리면 Logs exports 옵션이 있습니다
Audit, Error, General, Slow query log를
내보낼 수 있습니다
활성화하면 자동으로 CloudWatch Logs에
게시됩니다
그 위에 여러분만의 metric을
설정할 수 있습니다
여러분이 찾고 싶은 키워드나 분석을 기반으로
알람을 설정하기 위해서 말입니다
RDS 이벤트와 로깅은 이게 전부입니다
만족하셨으면 좋겠습니다 다음 강의에서 뵙겠습니다