메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

AWS CloudTrail을 사용한 Amazon RDS API 호출 로깅

AWS CloudTrail은 AWS 계정에 의해 실행되거나 AWS 계정을 대신하여 실행되는 모든 Amazon RDS API 호출을 로깅하는 서비스입니다. 로깅 정보는 Amazon S3 버킷에 저장됩니다. CloudTrail에서 수집한 정보는 Amazon RDS DB 인스턴스를 모니터링하는 데 사용할 수 있습니다. 예를 들어 요청의 성공적인 완료 여부나 요청 사용자를 확인하는 데 사용됩니다. CloudTrail에 대한 자세한 내용은 AWS CloudTrail User Guide 단원을 참조하십시오.

Amazon RDS 콘솔 또는 Amazon RDS 명령줄 인터페이스를 이용해 AWS 계정을 대신하여 어떤 작업을 수행하면 AWS CloudTrail은 Amazon RDS API로 호출이 실행될 때 해당 작업을 로깅하게 됩니다. 예를 들면, Amazon RDS 콘솔을 이용해 DB 인스턴스를 수정하거나 AWS CLI modify-db-instance 명령을 호출할 경우, AWS CloudTrail 로그는 Amazon RDS API ModifyDBInstance 작업에 대한 호출을 표시합니다. AWS CloudTrail에 의해 로깅된 Amazon RDS API 작업의 목록을 확인하려면 Amazon RDS API 참조를 참조하십시오.

참고

AWS CloudTrail은 Amazon RDS API 호출 이벤트만 로깅합니다. 사용자가 데이터베이스에 연결하거나, 데이터베이스 스키마를 변경하는 경우 등 Amazon RDS API에 속하지 않은 데이터베이스의 작업을 감사하려면 DB 엔진에서 지원하는 모니터링 기능을 사용해야 합니다.

CloudTrail 이벤트 로깅의 구성

CloudTrail은 각 리전마다 감사 추적을 별도로 생성한 다음 Amazon S3 버킷에 저장합니다. Amazon SNS를 사용하여 로그 파일 생성을 알리도록 CloudTrail을 구성할 수도 있지만, 이 기능은 옵션으로 제공됩니다. CloudTrail이 빈번하게 알림 메시지를 전송하므로 Amazon SQS 대기열과 함께 Amazon SNS를 사용하여 알림 메시지를 체계적으로 처리하는 것이 바람직합니다.

AWS Management Console, AWS CLI 또는 API를 사용하여 CloudTrail을 활성화할 수 있습니다. CloudTrail 로깅을 활성화하면 CloudTrail 서비스를 통해 로그 파일을 저장할 Amazon S3 버킷을 직접 생성할 수 있습니다. 자세한 내용은 AWS CloudTrail User Guide에서 추적 생성 및 업데이트를 참조하십시오. AWS CloudTrail User Guide에는 여러 리전의 CloudTrail 로그 파일을 Amazon S3 버킷으로 집계하는 방법에 대한 정보도 담겨 있습니다.

CloudTrail 서비스는 사용이 무료입니다. 하지만 Amazon SNS 사용 요금이 해당 옵션이 포함되어야 하는 것과 마찬가지로 Amazon S3을 사용하려면 기본 요금이 부과됩니다. 요금에 대한 자세한 내용은 Amazon S3Amazon SNS 요금 페이지를 참조하십시오.

CloudTrail 로그 파일의 Amazon RDS 이벤트 항목

CloudTrail 로그 파일에는 JSON 형식의 이벤트 정보가 포함되어 있습니다. 이벤트 레코드 하나가 AWS API 호출 하나를 의미하며 여기에는 요청 작업, 작업을 요청한 사용자, 요청 시간 등의 정보가 담겨 있습니다.

CloudTrail 로그 파일에는 Amazon RDS API 호출 외에 AWS 계정의 모든 AWS API 호출 이벤트도 포함되어 있습니다. 하지만 로그 파일을 읽거나 Amazon RDS API 호출을 스캔하려면 eventName 요소를 사용해야 합니다.

다음은 DB 인스턴스의 스냅샷을 생성한 후 Amazon RDS 콘솔을 사용해 인스턴스를 삭제한 사용자의 CloudTrail 로그를 나타낸 예제입니다. 콘솔은 userAgent 요소로 식별할 수 있습니다. 콘솔에서 요청한 API 호출(CreateDBSnapshot, DeleteDBInstance)은 각 레코드마다 eventName 요소에서 찾아볼 수 있습니다. 그리고 사용자(Alice)에 대한 정보는 userIdentity 요소를 보면 알 수 있습니다.

Copy
{ Records:[ { "awsRegion":"us-west-2", "eventName":"CreateDBSnapshot", "eventSource":"rds.amazonaws.com", "eventTime":"2014-01-14T16:23:49Z", "eventVersion":"1.0", "sourceIPAddress":"192.0.2.01", "userAgent":"AWS Console, aws-sdk-java\/unknown-version Linux\/2.6.18-kaos_fleet-1108-prod.2 Java_HotSpot(TM)_64-Bit_Server_VM\/24.45-b08", "userIdentity": { "accessKeyId":"AKIADQKE4SARGYLE", "accountId":"123456789012", "arn":"arn:aws:iam::123456789012:user/Alice", "principalId":"AIDAI2JXM4FBZZEXAMPLE", "sessionContext": { "attributes": { "creationDate":"2014-01-14T15:55:59Z", "mfaAuthenticated":false } }, "type":"IAMUser", "userName":"Alice" } }, { "awsRegion":"us-west-2", "eventName":"DeleteDBInstance", "eventSource":"rds.amazonaws.com", "eventTime":"2014-01-14T16:28:27Z", "eventVersion":"1.0", "sourceIPAddress":"192.0.2.01", "userAgent":"AWS Console, aws-sdk-java\/unknown-version Linux\/2.6.18-kaos_fleet-1108-prod.2 Java_HotSpot(TM)_64-Bit_Server_VM\/24.45-b08", "userIdentity": { "accessKeyId":"AKIADQKE4SARGYLE", "accountId":"123456789012", "arn":"arn:aws:iam::123456789012:user/Alice", "principalId":"AIDAI2JXM4FBZZEXAMPLE", "sessionContext": { "attributes": { "creationDate":"2014-01-14T15:55:59Z", "mfaAuthenticated":false } }, "type":"IAMUser", "userName":"Alice" } } ] }

CloudTrail 로그 파일의 각 요소와 값에 대한 자세한 내용은 AWS CloudTrail User Guide에서 CloudTrail 이벤트 참조를 참조하십시오.

그 밖에 CloudTrail와 통합된 Amazon 파트너 솔루션 중 하나를 사용하여 CloudTrail 로그 파일을 읽고 분석할 수도 있습니다. 옵션에 대한 자세한 내용은 AWS 파트너 페이지를 참조하십시오.