Amazon RDS 인스턴스의 모니터링 지표
Amazon RDS 인스턴스의 모니터링 지표
다음 섹션에서는 Amazon RDS 모니터링의 개요와 지표에 액세스하는 방법에 대한 설명을 확인할 수 있습니다. 이벤트, 로그, 데이터베이스 활동 스트림을 모니터링하는 방법은 Amazon RDS DB 인스턴스의 이벤트, 로그, 스트림 모니터링을 참조하세요.
주제
- 모니터링 계획
- 성능 기준선(Performance baseline)
- 성능 지침
- Amazon RDS 모니터링 도구
- 인스턴스 상태 보기
- Amazon RDS 추천(Recommendations)
- Amazon RDS 콘솔에서 지표 보기
- Amazon CloudWatch로 Amazon RDS 지표 모니터링
- CloudWatch Database Insights로 Amazon RDS 데이터베이스 모니터링
- Amazon DevOps Guru for Amazon RDS로 성능 이상 분석
- Enhanced Monitoring으로 OS 지표 모니터링
- Amazon RDS 지표 참조
출처: 문서
본문
모니터링 계획
Amazon RDS 모니터링을 시작하기 전에 모니터링 계획을 수립하세요. 이 계획은 다음 질문에 답해야 합니다.
- 모니터링 목표는 무엇인가요?
- 어떤 리소스를 모니터링할 것인가요?
- 이 리소스들을 얼마나 자주 모니터링할 것인가요?
- 어떤 모니터링 도구를 사용할 것인가요?
- 누가 모니터링 작업을 수행할 것인가요?
- 문제가 발생했을 때 누구에게 알려야 할까요?
성능 기준선(Performance baseline)
모니터링 목표를 달성하려면 기준선(baseline)을 설정해야 합니다. 이를 위해 Amazon RDS 환경의 다양한 시점에서 다양한 부하 조건에서 성능을 측정하세요. 다음과 같은 지표를 모니터링할 수 있습니다.
- 네트워크 처리량
- 클라이언트 연결
- 읽기, 쓰기 또는 메타데이터 작업의 I/O
- DB 인스턴스의 버스트 크레딧 잔액
Amazon RDS의 과거 성능 데이터를 저장할 것을 권장합니다. 저장된 데이터를 사용하여 현재 성능을 과거 추세와 비교할 수 있습니다. 또한 정상 성능 패턴과 이상(anomaly)을 구분하고 문제를 해결하는 기법을 고안할 수 있습니다.
성능 지침
일반적으로 성능 지표의 허용 가능한 값은 애플리케이션이 기준선에 비해 수행하는 작업에 따라 달라집니다. 기준선과 일관되거나 추세적인 변동을 조사하세요. 다음 지표가 성능 문제의 원인이 되는 경우가 많습니다.
- 높은 CPU 또는 RAM 소비 – CPU 또는 RAM 소비의 높은 값은 애플리케이션 목표(예: 처리량 또는 동시성)에 부합하고 예상되는 경우 적절할 수 있습니다.
- 디스크 공간 소비 – 사용된 공간이 전체 디스크 공간의 85% 이상으로 일관되게 유지되면 디스크 공간 소비를 조사하세요. 인스턴스에서 데이터를 삭제하거나 다른 시스템에 데이터를 보관하여 공간을 확보할 수 있는지 확인하세요.
- 네트워크 트래픽 – 네트워크 트래픽의 경우 시스템 관리자와 상담하여 도메인 네트워크와 인터넷 연결의 예상 처리량을 이해하세요. 처리량이 예상보다 지속적으로 낮으면 네트워크 트래픽을 조사하세요.
- 데이터베이스 연결 – 사용자 연결 수가 많고 인스턴스 성능과 응답 시간이 감소하는 경우 데이터베이스 연결을 제한하는 것을 고려하세요. DB 인스턴스의 최적 사용자 연결 수는 인스턴스 클래스와 수행되는 작업의 복잡성에 따라 다릅니다. 데이터베이스 연결 수를 결정하려면 DB 인스턴스를
User Connections파라미터가 0(무제한)이 아닌 값으로 설정된 파라미터 그룹에 연결하세요. 기존 파라미터 그룹을 사용하거나 새로 만들 수 있습니다. 자세한 내용은 Amazon RDS의 파라미터 그룹을 참조하세요. - IOPS 지표 – IOPS 지표의 예상 값은 디스크 사양과 서버 구성에 따라 다르므로 무엇이 일반적인지 파악하려면 기준선을 사용하세요. 값이 기준선과 일관되게 다르면 조사하세요. 최적의 IOPS 성능을 위해 일반적인 작업 집합이 메모리에 맞게 하여 읽기·쓰기 작업을 최소화하세요.
성능이 설정된 기준선을 벗어나면 워크로드에 대한 데이터베이스 가용성을 최적화하기 위해 변경해야 할 수 있습니다. 예를 들어 DB 인스턴스의 인스턴스 클래스를 변경해야 할 수도 있습니다. 또는 클라이언트에 제공되는 DB 인스턴스와 읽기 복제본의 수를 변경해야 할 수도 있습니다.