Amazon RDS for MySQL DB 인스턴스의 성능을 모니터링하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 7월 16일

Amazon Relational Database Service(Amazon RDS) for MySQL DB 인스턴스를 모니터링하려고 합니다. 가장 좋은 방법은 무엇인가요?

간략한 설명

Amazon RDS for MySQL DB 인스턴스를 모니터링하는 방법에는 여러 가지가 있습니다.

문제 또는 다중 지점 장애를 해결하려면 이 다양한 모니터링 방법을 사용하여 DB 인스턴스를 모니터링하는 것이 모범 사례입니다.

해결 방법

Amazon CloudWatch

Amazon CloudWatch는 Amazon RDS for MySQL 데이터베이스 인스턴스의 실시간 지표를 제공합니다. 기본적으로 Amazon RDS 지표는 60초마다 자동으로 Amazon CloudWatch로 전송됩니다. 또한 사용량 경보를 생성하여 특정 기간의 단일 Amazon RDS 지표를 볼 수 있습니다.

Amazon CloudWatch를 사용하여 Amazon RDS 지표를 모니터링하려면 다음 단계를 수행합니다.

참고: 지표는 먼저 서비스 네임스페이스별로 그룹화된 다음 각 네임스페이스 내의 다양한 차원 조합으로 그룹화됩니다.

1.    Amazon CloudWatch 콘솔을 엽니다.

2.    (선택 사항) AWS 리전을 업데이트합니다. 탐색 모음에서 AWS 리소스가 있는 AWS 리전을 선택합니다. 자세한 내용은 리전 및 엔드포인트를 참조하세요.

3.    탐색 창에서 [지표(Metrics)]를 선택합니다.

4.    [RDS] 지표 네임스페이스를 선택합니다.

5.    지표 차원을 선택합니다.

6.    (선택 사항) 지표 표시를 정렬, 필터링, 업데이트합니다.
지표를 정렬하려면 열 머리글을 사용합니다.
지표의 그래프 보기를 생성하려면 지표 옆에 있는 확인란을 선택합니다.
리소스로 필터링하려면 리소스 ID를 선택한 다음 [검색에 추가(Add to search)를 선택합니다.
지표로 필터링하려면 지표 이름을 선택한 다음 [검색에 추가(Add to search)]를 선택합니다.

Enhanced Monitoring(1~5초의 세분성 간격 이내)

Amazon RDS에서 Enhanced Monitoring을 사용하면 DB 인스턴스가 실행되는 운영 체제의 실시간 지표를 볼 수 있습니다.

참고: Amazon RDS에서 Amazon CloudWatch Logs와 통신하는 데 필요한 AWS Identity Access Management(IAM) 역할을 생성해야 합니다.

Amazon RDS에서 Enhanced Monitoring을 사용하려면 다음 단계를 수행합니다.

1.    [모니터링(Monitoring)] 섹션으로 스크롤합니다.

2.    DB 인스턴스 또는 읽기 전용 복제본에 대해 [Enhanced Monitoring 사용(Enable enhanced monitoring)]을 선택합니다.

3.    [모니터링 역할(Monitoring Role)]에 생성한 IAM 역할을 지정합니다.

4.    Amazon RDS에서 rds-monitoring-role 역할을 생성하도록 하려면 [기본값(Default)]을 선택합니다.

5.    [세분성(Granularity)] 속성을 DB 인스턴스 또는 읽기 전용 복제본에 대한 지표가 수집되는 시점 간의 간격(초)으로 설정합니다. [세분성(Granularity)] 속성의 값을 1, 5, 10, 15, 30 또는 60으로 설정할 수 있습니다.

RDS 성능 개선 도우미

참고: DB 인스턴스를 생성한 후 성능 개선 도우미를 수동으로 사용 설정한 경우 Performance Schema를 사용하려면 인스턴스를 재부팅해야 합니다. Performance Schema는 파라미터가 ‘0’ 또는 ‘1’로 설정되거나 파라미터의 소스 열이 ‘user’로 설정된 경우 사용 중지됩니다. performance_schema 파라미터가 사용 중지된 경우 성능 개선 도우미에는 Amazon RDS MySQL 프로세스의 목록 상태로 범주화된 DB 로드가 표시됩니다. performance_schema 파라미터를 사용하려면 reset performance_schema parameter를 사용합니다.

RDS 성능 개선 도우미를 사용하는 경우 데이터베이스 로드를 시각화하고 대기, SQL 문, 호스트 또는 사용자별로 로드를 필터링할 수 있습니다. 이렇게 하면 문제를 일으키는 쿼리를 식별하고 해당 쿼리에 연결된 대기 유형 및 대기 이벤트를 볼 수 있습니다.

Amazon RDS 콘솔에서 Amazon RDS for MySQL에 대한 성능 개선 도우미를 활성화할 수 있습니다.

느린 쿼리 로깅

slow_query_log 값을 ‘1’로 설정하여 느린 쿼리 로그를 사용할 수 있습니다. 기본값은 ‘0’입니다. 즉, 느린 쿼리 로그가 사용 중지되어 있습니다. 느린 쿼리 로그는 long_query_time 지표에 지정된 시간(초)보다 길게 실행되는 모든 쿼리를 기록합니다. (long_query_time 지표의 기본값은 ‘10’입니다.) 예를 들어 2초보다 길게 실행되는 쿼리를 로깅하려면 long_query_time 지표의 시간(초)을 ‘2’와 같은 값으로 업데이트하면 됩니다.

사용자 지정 파라미터 그룹을 사용하여 Amazon RDS for MySQL에 느린 쿼리 로그를 사용하려면 다음을 수행합니다.

1.    Amazon RDS 콘솔을 엽니다.

2.    탐색 창에서 [파라미터 그룹(Parameter groups)]을 선택합니다.

3.    수정하려는 파라미터 그룹을 선택합니다.

4.    그런 다음 [파라미터 그룹(Parameter group)] 작업을 선택합니다.

5.    편집(Edit)을 선택합니다.

6.    [파라미터 편집(Edit parameters)]을 선택합니다.

7.    다음 파라미터를 업데이트합니다.
log_output: 일반 로그 또는 느린 쿼리 로그가 사용된 경우 파일 시스템에 대한 쓰기 로그의 값을 ‘file’로 업데이트합니다. 로그 파일은 매시간 순환됩니다.
long_query_time: 2초 이상 실행되는 쿼리를 로깅하려면 값을 ‘2’ 이상으로 업데이트합니다.
low_query_log: 로깅을 사용하려면 값을 ‘1’로 업데이트합니다. (기본값은 ‘0’이며, 이는 로깅이 사용 중지되었음을 의미합니다.)

8.    [변경 내용 저장(Save Changes)]을 선택합니다.

참고: 사용자 지정 DB 그룹의 파라미터 값은 수정할 수 있지만 기본 DB 파라미터 그룹은 수정할 수 없습니다. 사용자 지정 DB 파라미터 그룹의 파라미터를 수정할 수 없는 경우 [값 유형(Value type)]이 ‘수정 가능(Modifiable)’으로 설정되어 있는지 확인합니다. Amazon CloudWatch 로그 그룹에 MySQL 로그를 게시하는 방법에 대한 자세한 내용은 Amazon CloudWatch Logs에 MySQL 로그 게시를 참조하세요.