Amazon CloudWatch Logs에 MySQL 로그 게시
Amazon CloudWatch Logs의 로그 그룹에 로그 데이터를 게시하도록 MySQL DB 인스턴스를 구성할 수 있습니다. CloudWatch Logs를 통해 로그 데이터에 대한 실시간 분석을 수행할 수 있고, CloudWatch를 사용하여 경보를 만들고 지표를 볼 수 있습니다. CloudWatch Logs를 사용하여 내구성이 뛰어난 스토리지에 로그 레코드를 저장할 수 있습니다.
Amazon RDS는 각 MySQL 데이터베이스 로그를 로그 그룹에 개별적인 데이터베이스 스트림으로 게시합니다. 예를 들어 느린 쿼리 로그를 포함하도록 내보내기 함수를 구성하면 느린 쿼리 데이터가 /aws/rds/instance/
로그 그룹의 느린 쿼리 로그 스트림에 저장됩니다.my_instance
/slowquery
오류 로그는 기본적으로 활성화됩니다. 다음 표에는 기타 MySQL 로그의 요구 사항이 요약되어 있습니다.
로그 | 요구 사항 |
---|---|
감사 로그 |
DB 인스턴스는 |
일반 로그 |
DB 인스턴스는 파라미터 설정 |
느린 쿼리 로그 |
DB 인스턴스는 파라미터 설정 |
로그 출력 |
DB 인스턴스는 파라미터 설정 |
콘솔을 사용하여 MySQL 로그를 CloudWatch Logs에 게시하려면
https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 데이터베이스를 선택한 다음 변경하려는 DB 인스턴스를 선택합니다.
-
수정을 선택합니다.
-
로그 내보내기 섹션에서 CloudWatch Logs에 게시하기 시작할 로그를 선택합니다.
-
[Continue]를 선택한 후, 요약 페이지에서 [Modify DB Instance]를 선택합니다.
AWS CLI를 사용하여 MySQL 로그를 게시할 수 있습니다. 다음 파라미터로 modify-db-instance
명령을 호출할 수 있습니다.
-
--db-instance-identifier
-
--cloudwatch-logs-export-configuration
참고
--cloudwatch-logs-export-configuration
옵션에 대한 변경 사항은 항상 DB 인스턴스에 즉시 적용됩니다. 따라서 --apply-immediately
및 --no-apply-immediately
옵션은 지정해도 아무런 효과가 없습니다.
또 다음 AWS CLI 명령을 호출해 MySQL 로그를 게시할 수 있습니다.
다음 옵션으로 AWS CLI 명령 중 하나를 실행합니다.
-
--db-instance-identifier
-
--enable-cloudwatch-logs-exports
-
--db-instance-class
-
--engine
실행하는 AWS CLI 명령에 따라 다른 옵션이 필요할 수 있습니다.
다음 예에서는 CloudWatch Logs에 로그 파일을 게시하도록 기존 MySQL DB 인스턴스를 수정합니다. --cloudwatch-logs-export-configuration
값은 JSON 객체입니다. 이 객체에 대한 키는 EnableLogTypes
이며, 해당 값은 audit
, error
, general
및 slowquery
의 조합을 사용하는 문자열의 배열입니다.
대상 LinuxmacOS, 또는Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
Windows의 경우:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
다음 예에서는 CloudWatch Logs에 로그 파일을 게시하도록 MySQL DB 인스턴스를 생성합니다. --enable-cloudwatch-logs-exports
값은 문자열의 JSON 배열입니다. 문자열은 audit
, error
, general
및 slowquery
의 조합일 수 있습니다.
대상 LinuxmacOS, 또는Unix:
aws rds create-db-instance \ --db-instance-identifier
mydbinstance
\ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ --db-instance-classdb.m4.large
\ --engineMySQL
Windows의 경우:
aws rds create-db-instance ^ --db-instance-identifier
mydbinstance
^ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^ --db-instance-classdb.m4.large
^ --engineMySQL
RDS API를 사용하여 MySQL 로그를 게시할 수 있습니다. 다음 파라미터로 ModifyDBInstance
작업을 호출할 수 있습니다.
-
DBInstanceIdentifier
-
CloudwatchLogsExportConfiguration
참고
CloudwatchLogsExportConfiguration
파라미터에 대한 변경 사항은 항상 DB 인스턴스에 즉시 적용됩니다. 따라서 ApplyImmediately
파라미터는 지정해도 아무런 효과가 없습니다.
또한 다음 RDS API 작업을 호출해 MySQL 로그를 게시할 수 있습니다.
다음 파라미터로 RDS API 작업 중 하나를 실행합니다.
-
DBInstanceIdentifier
-
EnableCloudwatchLogsExports
-
Engine
-
DBInstanceClass
실행하는 AWS CLI 명령에 따라 다른 파라미터가 필요할 수 있습니다.