내용으로 건너뛰기

Amazon Redshift 클러스터 크기를 조정하려면 어떻게 해야 합니까?

4분 분량
0

Amazon Redshift 클러스터 크기를 조정하고 싶은데 이렇게 하면 성능이나 청구에 어떤 영향을 미치는지 알고 싶습니다.

간략한 설명

클러스터 크기를 조정하려면 탄력적 크기 조정 또는 클래식 크기 조정을 사용하십시오. 클러스터가 적합한 경우 탄력적 크기 조정을 사용하는 것이 가장 좋습니다. 클러스터가 적합하지 않은 경우 클래식 크기 조정을 사용하십시오.

해결 방법

클러스터 적합 여부 확인

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

클러스터가 탄력적 크기 조정에 적합한지 확인하려면 describe-node-configuration-options AWS CLI 명령을 실행합니다.

aws redshift describe-node-configuration-options --cluster-identifier example-cluster-id --action-type resize-cluster

참고: example-cluster-id를 클러스터 ID로 대체하십시오.

클러스터가 탄력적 크기 조정에 적합한 경우의 출력은 다음과 비슷합니다.

{
  "NodeConfigurationOptionList": [
    {
      "NodeType": "dc2.large",
      "NumberOfNodes": 2,
      "EstimatedDiskUtilizationPercent": 0.01
    },
    {
      "NodeType": "ra3.16xlarge",
      "NumberOfNodes": 2,
      "EstimatedDiskUtilizationPercent": 0.01
    }
  ]
}

클러스터가 탄력적 크기 조정에 적합하지 않은 경우의 출력은 다음과 비슷합니다.

{
  "NodeConfigurationOptionList": []
}

작업 시간 단축

노드 유형이 동일한 클러스터에 탄력적 크기 조정을 사용하는 경우 작업이 새 클러스터를 생성하지 않고 빠르게 완료되지 않습니다.

클래식 크기 조정을 사용하는 경우 다음 요소에 따라 작업 시간이 달라집니다.

  • 원본 클러스터의 워크로드
  • 원본 클러스터에서 대상 클러스터로 전송하는 테이블의 수 및 크기
  • 컴퓨팅 노드와 슬라이스 전반의 데이터 분포
  • 원본 및 대상 클러스터의 노드 구성

클래식 크기 조정 시간을 단축하려면 다음 작업을 수행하십시오.

  • RA3 노드 유형으로 마이그레이션합니다.
  • 편향된 테이블을 식별하고 수정합니다. 편향된 테이블을 식별하려면 AWS Labs 테이블 검사기 스크립트를 실행합니다. 자세한 내용은 GitHub 웹 사이트의 table_inspector을 참조하십시오. 편향된 테이블을 수정하려면 적절한 배포 키를 선택합니다.
  • 사용하지 않는 테이블을 제거합니다. 사용하지 않는 테이블을 식별하려면 AWS Labs의 스캔되지 않은 테이블 요약 스크립트를 실행합니다. 자세한 내용은 GitHub 웹 사이트의 unscanned_table_summary를 참조하십시오.
    참고: 스캔되지 않은 테이블 요약에는 지난 2~5일간의 최근 기록만 표시됩니다. 더 오랜 기간의 사용 데이터를 캡처하려면 시스템 객체 지속성 유틸리티를 사용하십시오. 자세한 내용은 GitHub 웹 사이트의 SystemTablePersistence를 참조하십시오.
  • 누락된 테이블 데이터를 식별합니다. 누락된 테이블 데이터를 식별하려면 AWS Labs missing_table_stats 스크립트를 사용하십시오. 자세한 내용은 GitHub 웹 사이트의 missing_table_stats를 참조하십시오. 그런 다음 해당 테이블에서 ANALYZE 명령을 실행합니다.

크기 조정 성능 최적화에 대한 자세한 내용은 Amazon Redshift를 위한 상위 10가지 성능 조정 기술을 참조하십시오. Amazon Redshift 콘솔을 사용하여 크기 조정 작업 상태를 확인하려면 클러스터 세부 정보 페이지에서 상태 탭을 선택합니다. 상태 탭에는 평균 전송 속도, 경과 시간, 남은 시간이 표시됩니다.

클러스터 크기 조정

탄력적 크기 조정을 사용하여 클러스터 노드 유형, 노드 수 또는 둘 다를 변경합니다.

탄력적 크기 조정에서 클러스터 크기 또는 노드 변경을 지원하지 않는 경우 클래식 크기 조정을 사용합니다.

크기 조정 작업 문제 해결

크기 조정 작업 중에는 테이블 크기가 커지거나 작아질 수 있습니다. 자세한 내용은 프로비저닝된 Amazon Redshift 클러스터의 테이블이 예상보다 많거나 적은 디스크 스토리지 공간을 소비하는 이유는 무엇입니까?를 참조하십시오.

클러스터가 AWS CLI에서 NONE 상태인 경우 Amazon Redshift가 아직 대상 클러스터를 프로비저닝하고 있는 것입니다. 대상 클러스터는 프로비저닝 단계가 완료될 때까지 복사되지 않습니다. Amazon Redshift가 대상 클러스터를 프로비저닝한 후에는 상태가 IN_PROGRESS로 변경됩니다.

AWS CloudFormation StackSets의 크기가 조정되지 않고 내부 오류 메시지가 표시되는 경우 클러스터에서 탄력적 크기 조정을 사용할 수 있는지 확인하십시오. 오류 메시지는 다음과 유사합니다. "An internal error has occurred. Please try your query again at a later time." 이 오류는 CloudFormation 스택이 탄력적 크기 조정을 사용하면서 Classic:false가 기본적으로 설정되기 때문에 발생합니다.

"Please choose a larger target cluster" 오류 메시지가 표시되는 경우 데이터가 대상 클러스터에 맞지 않는 것입니다. 더 많은 노드나 다른 노드 유형으로 Amazon Redshift 클러스터의 크기를 조정합니다.

작업이 완료되기 전에 클래식 크기 조정 작업을취소하려면 Amazon Redshift 콘솔의 클러스터 목록에서 크기 조정 취소를 선택합니다.

크기가 조정된 클러스터에 대한 요금 청구

크기 조정 작업 중 사용 가능한 클러스터에 대한 요금을 AWS에서 청구합니다. 예를 들어 크기 조정 작업 중에 원본 구성에 대한 요금을 AWS에서 청구합니다. 크기 조정이 완료된 후에는 AWS에서 원본 구성에 대한 요금을 더 이상 청구하지 않습니다. 클러스터 상태가 Available로 변경되는 즉시 대상 구성에 대한 요금 청구가 시작됩니다.

소형 노드 유형(예: large 또는 xlarge)에서 대형 노드 유형(예: 8xlarge)으로 크기를 조정하면 클러스터에는 노드당 더 많은 스토리지가 필요합니다. 노드당 스토리지가 클수록 COMMIT 작업을 실행할 때 기록되는 메타데이터도 커집니다. 따라서 단일 COMMIT 작업의 기본 비용은 노드가 클수록 더 높습니다. 여러 개의 작은 COMMIT 작업을 동시에 실행할 경우 성능이 저하될 수 있습니다. 성능을 개선하려면 여러 변경 사항을 하나의 COMMIT 작업으로 그룹화하십시오.

예약 인스턴스를 구매한 경우 요금은 크기가 조정된 클러스터 구성, 예약 노드 유형, 예약 노드 수에 따라 달라집니다. 자세한 내용은 예약 노드 작동 방식을 참조하십시오.

관련 정보

Amazon Redshift에서 연결 문제 해결

SQLWorkbench 및 psql을 사용하여 Amazon Redshift용 고품질 벤치마크 테스트 구축

클러스터 작업

AWS 공식업데이트됨 5달 전