Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Amazon Redshift에서 탄력적 크기 조정은 어떻게 작동합니까?
Amazon Redshift 클러스터에서 탄력적인 크기 조정을 수행하려고 합니다. 탄력적 크기 조정의 작동 방식 및 사용할 수 있는 모범 사례를 알고 싶습니다.
간략한 설명
탄력적 크기 조정은 테이블을 정렬하거나 디스크 공간을 회수하지 않습니다. VACUUM을 실행하여 테이블을 정렬하고 디스크 공간을 회수하십시오. 탄력적 크기 조정은 EC2-VPC 플랫폼을 사용하는 Amazon Redshift 클러스터에서만 사용 가능합니다.
탄력적 크기 조정은 클래식 크기 조정보다 완료하는 데 시간이 덜 걸리는 경우가 많습니다. 클래식 크기 조정 작업 중에 Amazon Redshift가 소스 클러스터에서 데이터를 복사하면 새 클러스터가 프로비저닝됩니다. 클래식 크기 조정 작업에서는 먼저 배포 스타일에 따라 새 노드에 데이터를 배포합니다. 그런 다음, ANALYZE 명령을 실행하여 테이블 통계를 업데이트합니다.
단일 노드 클러스터의 크기를 조정하려면 클래식 크기 조정이 더 나은 옵션일 수 있습니다. 탄력적인 크기 조정을 사용하면 클러스터에서 노드를 추가하거나 제거할 수 있습니다. 하지만 이로 인해 성능이 변화할 수 있습니다. 노드 슬라이스가 대상 노드 유형의 슬라이스 수와 일치하도록 하려면 클래식 크기 조정을 사용하십시오.
다음 구성은 단일 노드 탄력적 크기 조정을 지원합니다.
- 1 노드 dc2.large ↔ 1 노드 ra3.xlplus, 2 노드 ra3.xlplus, 2 노드 ra3.4xlarge
- 1 노드 ra3.xlplus ↔ 2 노드 ra3.xlplus, 2 노드 ra3.4xlarge
해결 방법
탄력적 크기 조정 작동 방식
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
탄력적 크기 조정은 대상 노드 유형에 따라 다르게 작동할 수 있습니다. 대상 노드 유형이 소스 노드 유형과 동일한지 확인하십시오.
노드 유형을 확인하려면 Amazon Redshift 콘솔을 엽니다. 탐색 창에서 클러스터를 선택합니다. 클러스터 페이지의 각 클러스터 이름 아래에 노드 유형이 표시됩니다.
또한 describe-clusters AWS CLI 명령을 실행하여 Amazon Redshift 클러스터에 대한 추가 정보를 얻을 수 있습니다.
aws redshift describe-clusters --region cluster_region
참고: cluster_region을 해당 클러스터의 AWS 리전으로 바꾸십시오.
대상 노드 유형이 기존 노드 유형과 동일
Amazon Redshift는 탄력적 크기 조정을 사용하여 클러스터 크기를 조정할 때 데이터를 새 노드에 자동으로 재배포합니다.
탄력적 크기 조정은 일반적으로 몇 분 내에 작업을 완료합니다. 탄력적 크기 조정이 백그라운드에서 데이터 재배포를 완료하면 쿼리 런타임이 약간 증가할 것으로 예상할 수 있습니다.
참고: 메타데이터 마이그레이션 중에는 Amazon Redshift 클러스터를 몇 분 동안 일시적으로 사용할 수 없습니다.
대상 노드 유형이 기존 노드 유형과 다름
노드 유형이 변경된 경우 Amazon Redshift는 먼저 스냅샷을 생성합니다. 그러면 스냅샷의 최신 데이터가 새 대상 클러스터에 프로비저닝되고 백그라운드에서 새 클러스터로 데이터가 전송됩니다. 데이터 전송 중에 Amazon Redshift 클러스터는 읽기 전용 모드로 작동하며 모든 쓰기가 차단됩니다. 크기 조정이 거의 완료되면 Amazon Redshift는 기존 클러스터의 엔드포인트와 일치하도록 새 클러스터의 엔드포인트를 자동으로 업데이트합니다. 그러면 원래 클러스터에 대한 모든 연결이 닫힙니다.
DC2 및 DS2 노드 수 제한 사항
DC2 및 DS2 노드 유형에 대한 다음 제한 사항에 유의하십시오.
- dc2.large 또는 ds2.xlarge 노드 유형의 경우 현재 노드 수의 절반 또는 두 배를 사용하십시오. 예를 들어, 노드가 6개인 클러스터의 크기를 12개 노드 또는 3개 노드로 조정할 수 있습니다.
- dc2.8xlarge, ds2.8xlarge 또는 ra3.xlplus 노드 유형의 경우 노드 수의 절반을 사용하거나 최대 두 배로 늘리십시오. 예를 들어, 노드가 6개인 클러스터의 크기를 3, 4, 5, 7, 8, 9, 10, 11, 12개 노드로 조정할 수 있습니다.
- ra3.16xlarge 또는 ra3.4xlarge 노드 유형의 경우 현재 노드 수의 1/4 또는 최대 4배를 사용하십시오. 예를 들어, 8개의 노드가 있는 ra3 클러스터의 크기를 2, 3, 4, 5, 6, 7, 9 및 최대 32개 노드까지 조정할 수 있습니다.
탄력적 크기 조정 모범 사례
클러스터의 탄력적 크기 조정을 수행할 때는 다음 모범 사례를 사용하십시오.
- 클러스터 크기를 조정하기 전에 자동 스냅샷을 활성화하거나 수동 스냅샷을 생성합니다.
참고: 기본적으로 수동 스냅샷은 클러스터를 삭제한 후에도 무기한 보존됩니다. 하지만 Amazon Redshift는 보존 기간이 끝나면 자동 스냅샷을 삭제합니다. - describe-node-configuration-options AWS CLI 명령을 실행하여 크기 조정 작업을 위한 노드 구성 옵션을 가져옵니다.
참고: cluster_name을 클러스터 이름으로 바꾸고 cluster_region을 클러스터의 리전으로 바꾸십시오.aws redshift describe-node-configuration-options --action-type resize-cluster --cluster-identifier cluster_name --region cluster_region - 크기를 조정하기 전에 클러스터에서 VACUUM을 실행합니다. 탄력적 크기 조정은 삭제로 표시된 행을 자동으로 삭제하지 않습니다.
- resize-cluster 명령을 실행하여 모든 노드 구성 변경 사항을 지정합니다.
참고: cluster_name을 클러스터 이름으로, target_node_type을 대상 노드 유형으로, number_of_target_nodes를 대상 노드 수로, cluster_region을 클러스터의 리전으로 바꾸십시오.aws redshift resize-cluster --cluster-identifier cluster_name --cluster-type multi-node --node-type target_node_type --number-of-nodes number_of_target_nodes --no-classic --region cluster_region
수행해야 할 추가 작업
Amazon Redshift 클러스터에서 탄력적 크기 조정을 수행할 때는 다음 작업을 수행하십시오.
- 클러스터의 스냅샷을 생성해야 합니다.
- Amazon Redshift에서 탄력적 크기 조정 작업을 시작한 후에는 작업을 취소할 수 없습니다. 크기 조정 작업이 완료될 때까지 기다린 후 다시 크기 조정 작업 또는 클러스터 재부팅을 수행하십시오.
- 새 노드 구성에 기존 데이터를 위한 충분한 스토리지가 있는지 확인합니다. 노드를 추가하는 경우에도 데이터가 재배포되는 방식 때문에 새 구성에 충분한 스토리지가 없을 수 있습니다. 스토리지 공간에 대한 자세한 내용은 프로비저닝된 Amazon Redshift 클러스터의 테이블이 예상보다 많거나 적은 디스크 스토리지 공간을 소비하는 이유는 무엇인가요?를 참조하십시오.
- 탄력적 크기 조정 작업을 수행하면 데이터 슬라이스의 불균일한 분포로 인해 노드 간에 데이터 왜곡이 발생할 수 있습니다. 클러스터에서 데이터 왜곡이 발생하는 경우 클래식 크기 조정을 대신 수행하십시오.
- 탄력적 크기 조정이 실패하는 경우 스냅샷이 완료되는지 확인합니다. 스냅샷이 몇 분 내에 완료되지 않으면 크기 조정 작업이 실패할 수 있습니다.
- 크기 조정을 수행할 때 RA3 예약 노드로 업그레이드할 수 있습니다.
관련 정보
관련 콘텐츠
- 질문됨 8년 전

