Amazon Redshift에서 탄력적 크기 조정은 어떻게 작동하나요?

6분 분량
0

Amazon Redshift 클러스터에서 탄력적 크기 조정을 수행하려고 합니다. 탄력적 크기 조정은 어떻게 작동하며 탄력적 크기 조정을 사용할 때 고려해야 할 사항은 무엇입니까?

간략한 설명

Amazon Redshift를 사용하면 클러스터 크기 조정 중에 특정 개수의 노드로 마이그레이션할 수 있습니다. 기본적으로 Amazon Redshift는 대상 클러스터에 동일한 수의 데이터 슬라이스를 유지하려고 합니다. 슬라이스 매핑은 클러스터 크기를 조정하는 데 필요한 시간을 줄여줍니다. 슬라이스 매핑 프로세스 중에 Amazon Redshift는 클러스터 데이터 슬라이스를 대상 클러스터의 새 컴퓨팅 노드로 재편성합니다.

클래식 크기 조절의 경우 모든 행이 클러스터에 복사되고, 매핑하여 분포 설정에 따라 분할합니다. 탄력적 크기 조절의 경우, 전체 데이터 슬라이스를 슬라이스가 매핑된 노드에 복제할 수 있습니다.

Amazon Redshift 클러스터에서 탄력적 크기 조정을 수행하려면 다음 사항을 고려하십시오.

  • 탄력적 크기 조정 시 테이블 정렬이나 디스크 공간 회수는 수행되지 않습니다. 테이블을 정렬하고 디스크 공간을 회수하려면 VACUUM을 실행합니다.
  • 탄력적 크기 조정은 EC2-VPC 플랫폼을 사용하는 Amazon Redshift 클러스터에서만 사용할 수 있습니다.
  • 탄력적 크기 조정은 대개 클래식 크기 조정보다 완료하는 데 걸리는 시간이 짧습니다. 그에 비해 클래식 크기 조정 작업은 새 클러스터를 프로비저닝하고 소스 클러스터에서 데이터를 복사합니다. 클래식 크기 조정 작업은 먼저 분포 스타일에 따라 데이터를 새 노드에 배포합니다. 그런 다음 ANALYZE 명령을 실행하여 테이블 통계를 업데이트합니다. 즉, Amazon Redshift 클러스터의 탄력적 크기 조정 작업보다 클래식 크기 조정 작업을 완료하는 데 시간이 더 오래 걸립니다.

해결 방법

탄력적 크기 조정의 작동 방식

Amazon Redshift에서는 대상 노드 유형에 따라 탄력적 크기 조정이 다르게 작동할 수 있습니다. 대상 노드 유형이 소스 노드 유형과 같은지 확인하십시오.

노드 유형을 확인하려면 Amazon Redshift 콘솔에 로그인하십시오. 탐색 메뉴에서 [클러스터(Clusters)]를 선택합니다. [클러스터(Clusters)] 페이지의 각 클러스터 이름 아래에 노드 유형이 표시됩니다. 또는 describe-clusters AWS Command Line Interface(AWS CLI) 명령을 사용하여 Amazon Redshift 클러스터에 대한 자세한 정보를 얻을 수 있습니다.

aws redshift describe-clusters --region <Cluster Region>

예 1: 대상 노드 유형이 기존 노드 유형과 같은 경우

탄력적 크기 조정을 사용하여 클러스터 크기를 조정하면(노드 유형 변경 없이 노드를 추가 또는 제거) Amazon Redshift가 자동으로 데이터를 새 노드에 재배포합니다.
새 클러스터를 프로비저닝하고 여기로 데이터를 전송하는 클래식 크기 조정과 달리 탄력적 크기 조정의 경우에는 새 클러스터를 생성하지 않습니다. 탄력적인 크기 조정 작업은 일반적으로 약 몇 분 정도 걸립니다. 탄력적 크기 조정 시에는 백그라운드에서 데이터 재배포를 완료하는 동안 쿼리 런타임이 약간 늘어날 수 있습니다.

참고: 메타데이터 마이그레이션 중에는 Amazon Redshift 클러스터를 몇 분 동안 일시적으로 사용할 수 없습니다. Amazon Redshift 탄력적 크기 조정 프로세스에 대한 자세한 내용은 탄력적 크기 조정 단원을 참조하십시오.

예 2: 대상 노드 유형이 기존 노드 유형과 다른 경우

노드 유형이 변경되면 Amazon Redshift가 먼저 스냅샷을 생성합니다. 그러면 새 대상 클러스터에 스냅샷의 최신 데이터가 프로비저닝되고 데이터는 백그라운드에서 새 클러스터로 전송됩니다. 데이터 전송 중에 Amazon Redshift 클러스터는 읽기 전용 모드로 작동하며 모든 쓰기가 차단됩니다. 크기 조정 작업이 거의 완료되면 Amazon Redshift는 새 클러스터의 엔드포인트를 기존 클러스터의 엔드포인트와 일치하도록 자동으로 업데이트합니다. 그런 다음 원래 클러스터에 대한 모든 연결이 닫힙니다.

DC2 및 DS2 노드 수 제한

Amazon Redshift 클러스터에서 탄력적 크기 조정을 수행하는 경우 DC2 및 DS2 노드 유형에 대한 다음 제한을 고려합니다.

  • dc2.large 또는 ds2.xlarge 노드 유형의 경우 현재 노드 수의 절반 또는 두 배를 사용합니다. 예를 들어 노드가 6개인 클러스터는 12개 노드 또는 3개 노드로 크기 조정할 수 있습니다.
  • dc2.8xlarge, ds2.8xlarge, ra3.xplus 노드 유형의 경우 절반 또는 최대 두 배의 노드 수를 사용하세요. 예를 들어 노드가 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 redshift describe-node-configuration-options --action-type resize-cluster --cluster-identifier <Cluster Name> --region <Cluster Region>

다음 예에서는 resize-cluster 명령을 사용하는 방법을 보여 줍니다.

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 CLI 및 API를 사용하여 스냅샷을 관리할 수 있습니다.
    참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 버전의 CLI를 사용하고 있는지 확인합니다.
  • Amazon Redshift에서 탄력적 크기 조정 작업을 시작한 후에는 작업을 취소할 수 없습니다. 크기 조정 작업이 완료될 때까지 기다렸다가 다른 크기 조정 작업을 수행하거나 클러스터를 재부팅해야 합니다.
  • 새 노드 구성에는 기존 데이터를 저장할 수 있는 충분한 스토리지가 있어야 합니다. 노드를 추가하는 경우에도 데이터가 재배포되는 방식 때문에 새 구성에 스토리지가 충분하지 않을 수 있습니다. 스토리지 공간에 대한 자세한 내용은 Amazon Redshift 클러스터의 테이블이 예상보다 많거나 적은 디스크 스토리지 공간을 소비하는 이유는 무엇인가요?를 참조하세요.
  • Amazon Redshift 클러스터에서 탄력적 크기 조정을 수행하면 데이터 슬라이스가 고르지 않게 배포되어 노드 간에 데이터 스큐가 발생할 수 있습니다. Amazon Redshift 클러스터에서 데이터 스큐가 관찰되면 대신 클래식 크기 조정을 수행합니다.
  • Amazon Redshift 클러스터에서 사용 사례에 가장 적합한 옵션이 클래식 크기 조정인 경우에는 이 방식의 크기 조정을 수행합니다. 예를 들어 단일 노드 클러스터로 크기를 조정하는 경우에는 클래식 크기 조정을 수행할 수 있습니다. 탄력적 크기 조정을 사용하면 원래 구성의 슬라이스 수를 보존하여 클러스터에서 노드를 추가하거나 제거할 수 있습니다. 하지만 성능에 차이가 있을 수 있습니다. 노드 슬라이스의 수가 대상 노드 유형의 슬라이스 수와 일치하도록 하려는 경우 클래식 크기 조정을 사용합니다. 자세한 내용은 Amazon Redshift에서 클러스터 크기 조정을 참조하세요.
  • 탄력적 크기 조정이 시작되고 스냅샷 작업이 진행 중일 때 몇 분 내에 스냅샷이 완료되지 않으면 크기 조정이 실패할 수 있습니다.
  • 탄력적 크기 조정으로는 단일 노드 클러스터에서 또는 단일 노드 클러스터로 크기를 조정할 수 없습니다.
  • DS2 예약 노드와 같은 예약 노드의 경우 크기 조정 시 RA3 예약 노드로 업그레이드할 수 있습니다. 탄력적 크기 조정을 수행하거나 콘솔을 사용하여 스냅샷에서 복원할 때 노드를 업그레이드할 수 있습니다.

관련 정보

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

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

필요한 경우에 Amazon Redshift 클러스터를 확장/축소하여 몇 분 만에 필요한 성능 달성

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음