Amazon Redshift Serverless로 쿼리 및 워크로드 모니터링 - Amazon Redshift

Amazon Redshift Serverless로 쿼리 및 워크로드 모니터링

Amazon Redshift Serverless로 쿼리 및 워크로드 모니터링

제공된 시스템 보기를 사용하여 Amazon Redshift Serverless 쿼리 및 워크로드를 모니터링할 수 있습니다.

쿼리를 모니터링하기 위한 액세스 권한 부여

슈퍼 사용자는 모든 사용자에 대해 쿼리 모니터링을 수행할 수 있도록 슈퍼 사용자가 아닌 사용자에게 액세스 권한을 제공할 수 있습니다. 먼저 쿼리 모니터링 액세스를 제공하기 위해 사용자 또는 역할에 대한 정책을 추가합니다. 그런 다음 사용자 또는 역할에 쿼리 모니터링 권한을 부여합니다.

쿼리 모니터링 정책을 추가하려면
  1. https://console.aws.amazon.com/iam/을 선택합니다.

  2. 액세스 관리(Access management)에서 정책(Policies)을 선택합니다.

  3. 정책 생성(Create Policy)을 선택합니다.

  4. JSON을 선택하고 다음 정책 정의를 붙여 넣습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListDatabases" ], "Resource": "*" }, { "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": "*" } ] }
  5. 정책 검토를 선택합니다.

  6. 이름에 정책의 이름을 입력합니다(예: query-monitoring).

  7. 정책 생성을 선택합니다.

정책을 생성한 후 적절한 권한을 부여할 수 있습니다.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요:

  • AWS IAM Identity Center의 사용자 및 그룹:

    권한 세트를 생성합니다. AWS IAM Identity Center 사용 설명서권한 세트 생성의 지침을 따릅니다.

  • 보안 인증 공급자를 통해 IAM에서 관리되는 사용자:

    ID 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서서드 파티 자격 증명 공급자의 역할 만들기(페더레이션)의 지침을 따릅니다.

  • IAM 사용자:

    • 사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용 설명서에서 IAM 사용자의 역할 생성의 지침을 따릅니다.

    • (권장되지 않음)정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. IAM 사용 설명서에서 사용자(콘솔)에 권한 추가의 지침을 따르십시오.

사용자에게 쿼리 모니터링 권한을 부여하려면

sys:monitor 권한이 있는 사용자는 모든 쿼리를 볼 수 있습니다. 또한 sys:operator 권한이 있는 사용자는 쿼리를 취소하고 쿼리 기록을 분석하고 vacuum 작업을 수행할 수 있습니다.

  1. 시스템 모니터 액세스를 제공하려면 다음 명령을 입력합니다. 여기서 user-name은 액세스를 제공하려는 사용자의 이름입니다.

    grant role sys:monitor to "IAM:user-name";
  2. (선택 사항) 시스템 운영 액세스를 제공하려면 다음 명령을 입력합니다. 여기서 user-name은 액세스를 제공하려는 사용자의 이름입니다.

    grant role sys:operator to "IAM:user-name";
역할에 쿼리 모니터링 권한을 부여하려면

sys:monitor 권한이 있는 역할의 사용자는 모든 쿼리를 볼 수 있습니다. 또한 sys:operator 권한이 있는 역할의 사용자는 쿼리를 취소하고 쿼리 기록을 분석하고 vacuum 작업을 수행할 수 있습니다.

  1. 시스템 모니터 액세스를 제공하려면 다음 명령을 입력합니다. 여기서 role-name은 액세스를 제공하려는 사용자의 이름입니다.

    grant role sys:monitor to "IAMR:role-name";
  2. (선택 사항) 시스템 운영 액세스를 제공하려면 다음 명령을 입력합니다. 여기서 role-name은 액세스를 제공하려는 사용자의 이름입니다.

    grant role sys:operator to "IAMR:role-name";

모니터링 보기

모니터링 보기는 쿼리 및 워크로드 사용량을 모니터링하는 데 사용되는 Amazon Redshift Serverless의 시스템 보기입니다. 이러한 보기는 pg_catalog 스키마에 있습니다. 사용 가능한 시스템 보기는 프로비저닝된 클러스터에 필요한 것보다 훨씬 간단한 Amazon Redshift Serverless를 모니터링하는 데 필요한 정보를 제공하도록 설계되었습니다. SYS 시스템 보기는 Amazon Redshift Serverless에서 작동하도록 설계되었습니다. 이러한 보기에서 제공하는 정보를 표시하려면 SQL SELECT 문을 실행합니다.

시스템 보기는 다음 모니터링 목표를 지원하도록 정의됩니다.

워크로드 모니터링

시간 경과에 따른 쿼리 활동을 모니터링하여 다음을 수행할 수 있습니다.

  • 워크로드 패턴을 이해하여 정상(기준)과 비즈니스 서비스 수준 계약(SLA) 내에 있는 것을 알 수 있습니다.

  • 일시적인 문제이거나 추가 조치가 필요한 문제일 수 있는 정상과의 편차를 신속하게 식별합니다.

데이터 로드 및 언로드 모니터링

Amazon Redshift Serverless 안팎으로 데이터를 이동하는 것은 중요한 기능입니다. COPY 및 UNLOAD를 사용하여 데이터를 로드 또는 언로드하고 비즈니스 SLA 준수를 추적하기 위해 전송된 바이트/행 수 및 완료된 파일 수를 기준으로 진행 상황을 면밀히 모니터링해야 합니다. 이는 일반적으로 시스템 테이블 쿼리를 자주(즉, 매분) 실행하여 진행 상황을 추적하고 심각한 편차가 감지되는 경우 조사/수정 조치에 대한 경고를 발생시켜 수행됩니다.

실패 및 문제 진단

쿼리 또는 런타임 실패에 대해 조치를 취해야 하는 경우가 있습니다. 개발자는 시스템 테이블에 의존하여 문제를 자가 진단하고 올바른 해결책을 결정합니다.

성능 튜닝

처음부터 SLA 요구 사항을 충족하지 않거나 시간 경과에 따라 성능이 저하된 쿼리를 조정해야 할 수 있습니다. 튜닝하려면 실행 계획, 통계, 기간 및 리소스 소비를 비롯한 런타임 세부 정보가 있어야 합니다. 편차의 원인을 파악하고 성능 개선 방법을 안내하기 위해 잘못된 쿼리에 대한 기준 데이터가 필요합니다.

사용자 객체 이벤트 모니터링

구체화된 보기 새로 고침, 정리 및 분석과 같은 사용자 객체에 대한 작업 및 활동을 모니터링해야 합니다. 여기에는 구체화된 뷰에 대한 자동 새로 고침과 같은 시스템 관리형 이벤트가 포함됩니다. 사용자가 시작한 경우 이벤트가 종료되는 시점을 모니터링하고 시스템이 시작한 경우 마지막으로 성공한 실행을 모니터링하려고 합니다.

청구를 위한 사용량 추적

시간 경과에 따른 사용량 추세를 모니터링하여 다음을 수행할 수 있습니다.

  • 예산 계획과 비즈니스 확장 추정치를 알립니다.

  • 콜드 데이터 제거와 같은 잠재적인 비용 절감 기회를 식별합니다.

SYS 시스템 뷰를 사용하여 Amazon Redshift Serverless를 모니터링합니다. SYS 모니터링 뷰에 대한 자세한 내용은 SYS 모니터링 뷰를 참조하세요.