로그를 사용하여 내 Amazon Redshift 데이터베이스 클러스터의 작업을 추적하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 12월 23일

Amazon Redshift 클러스터에서 데이터베이스 감사를 실행하려면 어떻게 해야 합니까?

간략한 설명

Amazon Redshift에는 다음과 같은 3가지 로깅 옵션이 있습니다.

감사 로그 및 STL 테이블은 로그인한 사용자 및 로그인 시점과 같은 데이터베이스 수준 활동을 기록합니다. 이러한 테이블은 이러한 사용자가 수행한 SQL 활동과 수행 시점도 기록합니다. CloudTrail은 서비스 수준에서 실행한 작업을 추적합니다.

참고: 외부 테이블을 사용하여 로그를 보려면 Amazon Redshift Spectrum을 사용합니다. 자세한 내용은 Amazon Redshift Spectrum을 사용하여 보안 및 규정 준수에 대해 데이터베이스 감사 로그 분석을 참조하세요.

해결 방법

감사 로그와 STL 테이블

다음은 감사 로그와 STL 테이블을 비교한 표입니다. 사용 사례에 적합한 로깅 옵션을 선택하십시오.

감사 로그 STL 테이블
활성화되어야 합니다. 감사 로깅을 활성화하려면 콘솔을 사용하여 감사 구성 또는 Amazon Redshift CLI 및 API를 사용하여 로그 구성 단계를 수행합니다. 데이터 웨어하우스 클러스터에 속한 모든 노드에서 자동으로 사용할 수 있습니다.
감사 로그 파일은 Amazon S3 수명 주기 규칙을 정의하여 파일을 자동으로 보관하거나 삭제할지 결정하지 않으면 무기한 저장됩니다. 자세한 내용은 객체 수명 주기 관리를 참조하세요. 로그 기록은 로그 사용량과 남아있는 디스크 공간에 따라 2~5일 동안 저장됩니다. 보존 기간을 연장하려면 GitHub의 AWS 실습에서 Amazon Redshift 시스템 객체 지속성 유틸리티를 사용합니다.
감사 로그 파일에 액세스하는 경우 Amazon Redshift 데이터베이스에 대한 액세스는 필요하지 않습니다. STL 테이블에 액세스하는 경우 Amazon Redshift 데이터베이스에 대한 액세스 권한이 필요합니다.
Amazon S3에 저장된 로그를 검토하는 경우 데이터베이스 컴퓨팅 리소스는 필요하지 않습니다. STL 테이블에서 쿼리를 실행하는 경우 다른 쿼리 실행과 마찬가지로, 데이터베이스 컴퓨팅 리소스가 필요합니다.
타임스탬프를 사용하면 프로세스 ID와 데이터베이스 작업의 연관성을 분석할 수 있습니다. 클러스터를 다시 시작해도 Amazon S3의 감사 로그에 영향을 주지 않습니다. 프로세스 ID는 클러스터 재시작 시 재활용될 수 있기 때문에 프로세스 ID와 데이터베이스 작업 사이의 연관성을 언제나 분석할 수 있는 것은 아닙니다.
다음 로그 파일에 정보를 저장합니다. 여러 테이블에 정보를 저장합니다. 다음 테이블을 사용하여 S3 감사 로그에 저장되는 정보와 비슷한 정보를 검토하십시오.
  • SVL_STATEMENTTEXT: 시스템에서 실행된 SQL 명령의 완전한 레코드를 제공합니다. STL_DDLTEXT, STL_QUERYTEXT 및 STL_UTILITYTEXT 테이블의 모든 행을 결합합니다.
  • STL_CONNECTION_LOG: 인증 시도 횟수, 연결 또는 연결 해제입니다.
사용자 작업 로그에 모든 SQL 문을 기록합니다. 실행되는 쿼리는 STL_QUERY에 기록됩니다. DDL 문은 STL_DDLTEXT에 기록됩니다. SELECT 외 SQL 명령 텍스트는 STL_UTILITYTEXT에 기록됩니다.
Amazon Redshift에서 명령문을 수신하는 즉시 명령문을 기록합니다. Amazon S3의 파일은 배치에서 업데이트되며, 표시하는 데 몇 시간이 걸릴 수 있습니다. 로그는 각 SQL 문이 실행된 후에 생성됩니다.
어떤 작업을, 누가, 언제 실행했는지 기록되지만 작업에 걸린 시간은 기록되지 않습니다. 작업을 완료하는 데 걸린 시간은 STARTTIME 열과 ENDTIME 열에서 확인할 수 있습니다. 작업을 실행한 사용자를 확인하려면 SVL_STATEMENTTEXT(userid)와 PG_USER(usesysid)를 결합하십시오.
Amazon S3에서 로그가 사용하는 스토리지에 대해 비용이 청구됩니다. 그 외에 STL 테이블 스토리지에 추가되는 비용은 없습니다.
리더 노드 전용 쿼리가 기록됩니다. 리더 노드 전용 쿼리가 기록되지 않습니다.

CloudTrail

CloudTrail에서 수집한 정보를 사용하여 AWS 서비스에 성공적으로 제출된 요청, 요청을 제출한 사람, 요청이 제출된 시점을 확인할 수 있습니다. 자세한 내용은 AWS CloudTrail로 Amazon Redshift API 호출 로깅을 참조하세요.

CloudTrail 로그 파일은 수명 주기 규칙을 정의하여 파일을 자동으로 보관하거나 삭제할지 결정하지 않으면 Amazon S3에 무기한 저장됩니다. 자세한 내용은 객체 수명 주기 관리를 참조하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?