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

5분 분량
0

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

해결 방법

Amazon Redshift 클러스터 크기는 다음 네 가지 방법으로 조정할 수 있습니다.

  • 탄력적 크기 조정: 탄력적 크기 조정을 옵션으로 사용할 수 있는 경우 탄력적 크기 조정을 사용하여 노드 유형, 노드 개수 또는 둘 다를 변경할 수 있습니다. 노드 개수만 변경하면 쿼리가 일시적으로 일시 중지되고 연결이 열린 상태로 유지됩니다. 탄력적 크기 조정에는 10~15분이 소요됩니다. 클러스터는 크기 조정 작업 중 읽기 전용으로 사용됩니다.
  • 기본 크기 조정: 탄력적 크기 조정에서 클러스터 크기 또는 노드 변경을 지원하지 않는 경우 기본 크기 조정을 사용합니다. 기본 크기 조정은 타겟 클러스터를 생성한 후 데이터 및 메타데이터를 소스 클러스터에서 타겟 클러스터로 마이그레이션합니다. 타겟 노드 유형 RA3를 사용하는 경우 소스 클러스터는 다시 시작되며 이 경우 몇 분 동안 사용할 수 없습니다. 다시 시작한 후에는 클러스터는 읽기 및 쓰기 작업을 수행할 수 있습니다. 크기 조정은 백그라운드에서 계속됩니다. 다른 유형의 타겟 노드를 사용하는 경우 다시 시작한 후 데이터가 타겟 클러스터로 마이그레이션되는 동안 클러스터는 읽기 전용으로 사용됩니다. 마이그레이션이 완료되면 타겟 클러스터가 엔드포인트로 업데이트되며 읽기 및 쓰기 작업을 수행할 수 있습니다. 사용하는 타겟 노드 유형에 대한 자세한 내용은 기본 크기 조정을 참조하세요.
  • 스냅샷, 복원 및 크기 조정: 기본 크기 조정 작업 중 클러스터를 사용하려면 먼저 기존 클러스터를 복사합니다. 그런 다음 새 클러스터의 크기를 조정합니다. 스냅샷을 찍은 후 소스 클러스터에 데이터를 쓰는 경우 데이터를 수동으로 복사해야 합니다. 새로 생성된 타겟 클러스터로의 수동 데이터 복사는 마이그레이션 완료 후에 이루어져야 합니다.

자세한 내용은 Amazon Redshift 클러스터 관리 개요를 참조하세요.

크기 조정 사전 요구 사항

클러스터에서 탄력적 크기 조정을 사용할 수 있는지 확인하려면 다음 AWS CLI 또는 AWS CloudShell 명령을 실행하세요.

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

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우 AWS CLI 최신 버전을 사용하고 있는지 확인하세요. 클러스터에서 탄력적 크기 조정을 사용할 수 있는 경우 출력은 AWS CLI에서 다음 예제와 비슷합니다.

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

클러스터에서 탄력적 크기 조정을 사용할 수 없는 경우 출력은 AWS CLI에서 다음 예제와 비슷합니다.

{
  "NodeConfigurationOptionList": []
}

성능 벤치마크

기존 클러스터 워크로드 및 타겟 클러스터 워크로드에 벤치마크 테스트를 수행하면 크기 조정을 결정하는 데 도움이 될 수 있습니다.

크기 조정 작업 속도

노드 유형이 탄력적 크기 조정을 사용하여 동일한 클러스터의 크기를 조정하는 경우 작업 수행 시에도 새 클러스터가 생성되지 않습니다. 따라서 작업을 빠르게 완수할 수 있습니다. 기본 크기 조정이나 스냅샷 및 복원 작업을 완료하는 데 소요되느 시간은 다음 요인에 따라 달라질 수 있습니다.

  • 소스 클러스터의 워크로드
  • 소스에서 타겟 클러스터로 전송되는 테이블 개수 및 크기
  • 컴퓨팅 노드와 슬라이스에 분산되어 있는 데이터의 균등도
  • 소스 및 타겟 클러스터의 노드 구성

참고: 대량 데이터가 저장된 클러스터에서 기본 크기 조정 작업을 수행하고 또한 노드가 RA3가 아닌 경우 데이터 마이그레이션 속도가 저하될 수 있습니다. 수 테라바이트(TB) 용량의 데이터가 저장된 클러스터를 마이그레이션하는 데는 며칠이 걸릴 수 있습니다. RA3 노드의 데이터 전송은 더 빨리 완료됩니다.

작동 속도 최적화

기본 크기 조정이나 스냅샷 및 복원 작업에 필요한 시간을 단축하려면

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

문제 해결

  • 크기 조정 작업 중에는 테이블 크기가 커지거나 작아질 수 있습니다. 이러한 동작은 예상된 결과입니다. 자세한 내용은 Amazon Redshift 클러스터의 테이블이 예상보다 많거나 적은 디스크 스토리지 공간을 소비하는 이유는 무엇인가요?를 참조하세요.
  • 클러스터 상태가 AWS CLI에서 NONE인 경우 타겟 클러스터가 아직 프로비저닝 중인 것입니다. 타겟 클러스터가 프로비저닝 중인 경우 아직 복제되지 않은 상태입니다. 타겟 클러스터가 프로비저닝된 후에는 상태가 IN_PROGRESS로 변경됩니다.
  • AWS CloudFormation StackSets의 크기가 조정되지 않고 내부 오류 메시지가 표시되는 경우 클러스터에서 탄력적 크기 조정을 사용할 수 있는지 확인하세요. 오류 메시지는 다음과 유사합니다. “내부 오류가 발생했습니다. 나중에 쿼리를 다시 시도하세요.” 이 오류는 CloudFormation 스택이 탄력적 크기 조정을 사용하면서 Classic:false가 기본값으로 설정되어 있기 때문에 발생합니다.
  • “더 큰 타겟 클러스터를 선택하세요.” 오류 메시지가 표시되는 경우 데이터가 타겟 클러스터에 맞지 않는 것입니다. 더 많은 노드나 다른 노드 유형으로 Amazon Redshift 클러스터의 크기를 조정합니다.
  • 크기 조정 작업이 완료되기 전에 취소하려면 Amazon Redshift 콘솔의 클러스터 목록에서 크기 조정 취소를 선택합니다. 자세한 내용은 스냅샷, 복원 및 크기 조정을 참조하세요.

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

  • 크기 조정 작업 중 사용 가능한 클러스터에 대한 요금이 청구됩니다. 예를 들어 크기 조정 작업 중에 소스 구성에 대한 요금이 청구됩니다. 크기 조정이 완료된 후에는 소스 구성에 대한 요금이 더 이상 청구되지 않습니다. 클러스터 상태가 Available로 변경되는 즉시 타겟 구성에 대한 요금 청구가 시작됩니다.
  • 소형 노드 유형(large, xlarge)에서 대형 유형(8xlarge)으로 크기를 조정하면 클러스터에는 노드당 더 많은 스토리지가 필요합니다. 노드당 스토리지가 클수록 COMMIT을 실행할 때 기록되는 메타데이터도 커집니다. 따라서 단일 COMMIT 작업의 기본 비용은 노드가 클수록 더 높습니다. 여러 개의 작은 COMMIT 작업을 동시에 실행할 경우 성능이 저하될 수 있습니다. 성능을 개선하려면 여러 변경 사항을 하나의 COMMIT 작업으로 그룹화하세요.
  • 예약 인스턴스를 구매한 경우 요금은 크기가 조정된 클러스터 구성, 예약 노드 유형, 예약 노드 수에 따라 달라집니다. 자세한 내용은 예약 노드 작동 방식을 참조하세요.

관련 정보

Amazon Redshift에서 클러스터 크기 조정

Amazon Redshift에서 연결 문제 해결

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

AWS 공식
AWS 공식업데이트됨 9달 전
댓글 없음