Amazon Redshift 클러스터의 크기를 조정하려면 어떻게 해야 합니까?
최종 업데이트 날짜: 2021년 1월 6일
Amazon Redshift 클러스터의 크기를 조정하고 싶습니다. 크기를 조정하면 성능 및 결제에 어떤 영향을 미칩니까?
해결 방법
Amazon Redshift 클러스터는 다음 3가지 방법으로 크기를 조정할 수 있습니다.
- 탄력적 크기 조정: 옵션으로 사용할 수 있는 경우 탄력적 크기 조정을 사용하여 노드 유형, 노드 수 또는 두 가지 모두를 변경합니다. 노드 수만 변경하면 쿼리가 일시적으로 일시 중지되고 연결이 열린 상태로 유지됩니다. 탄력적 크기 조정은 10-15분 정도 걸릴 수 있습니다. 크기 조정 작업 중에 클러스터는 읽기 전용입니다.
- 클래식 크기 조정: 노드 유형, 노드 수 또는 두 가지 모두를 변경하려면 클래식 크기 조정 기능을 사용합니다. 탄력적 크기 조정을 통해 사용할 수 없는 구성으로 크기를 조정할 때 이 옵션을 선택합니다. 크기 조정 작업은 데이터 크기에 따라 2시간 이상 소요되거나 최대 며칠까지 계속될 수 있습니다. 크기 조정 작업 중에 원본 클러스터는 읽기 전용입니다.
- 스냅샷, 복원 및 크기 조정: 클래식 크기 조정 중에 클러스터를 가용 상태로 유지하려면 기존 클러스터의 사본을 만듭니다. 그런 다음 새 클러스터의 크기를 조정합니다. 스냅샷이 생성된 후 데이터가 소스 클러스터에 기록되는 경우, 마이그레이션이 완료된 후 데이터를 수동으로 복사해야 합니다.
크기 조정 작업 속도
동일한 노드 유형으로 탄력적 크기 조정을 사용하여 클러스터의 크기를 조정하면 작업이 새 클러스터를 생성하지 않습니다. 결과적으로 작업이 빠르게 완료됩니다. 클래식 크기 조정 작업이나 스냅샷 및 복원 작업을 완료하는 데 소요되는 시간은 다음 요인에 따라 달라질 수 있습니다.
- 원본 클러스터의 워크로드
- 전송되는 테이블의 수와 크기
- 컴퓨팅 노드와 조각에 걸쳐 데이터가 균등하게 분산되어 있는 정도
- 원본 및 대상 클러스터의 노드 구성
클래식 크기 조정 작업이나 스냅샷 및 복원 작업에 소요되는 시간을 단축하려면:
- AWS 실습에서 Table Inspector 스크립트를 실행하여 편향된 테이블을 찾습니다. 편향된 테이블을 수정하려면 적절한 분산 키를 선택합니다. 자세한 내용은 Amazon Redshift Engineering의 고급 테이블 설계 플레이북: 분산 스타일 및 분산 키를 참조하세요.
- 사용되지 않는 테이블을 제거합니다. 사용되지 않는 테이블을 식별하려면 AWS 실습에서 검색되지 않은 테이블 요약 스크립트를 실행합니다.
참고: 검색되지 않은 테이블 요약 스크립트는 최근 기록(2~5일)만 보여 줍니다. 더 긴 기간의 사용량 데이터를 캡처하려면 시스템 객체 지속성 유틸리티를 사용하세요. - 크기 조정 작업의 속도를 높입니다. 자세한 내용은 Amazon Redshift 성능 튜닝을 위한 10가지 기법을 참조하세요.
Amazon Redshift 콘솔에서 크기 조정 작업의 상태를 확인하려면 클러스터 세부 정보 페이지의 [상태(Status)] 탭을 선택합니다. [상태(Status)] 탭에는 평균 전송 속도, 경과 시간, 남은 시간이 표시됩니다.
문제 해결
- 크기 조정 작업 중에 테이블의 크기가 증가하거나 감소합니다. 이는 예상된 동작입니다. 자세한 내용은 Amazon Redshift 클러스터의 테이블이 예상보다 많거나 적은 디스크 스토리지 공간을 소비하는 이유는 무엇입니까?를 참조하세요.
- AWS CLI(AWS 명령줄 인터페이스)에서 클러스터의 상태가 NONE으로 표시될 경우 대상 클러스터가 아직 프로비저닝되는 중인 것입니다. 대상 클러스터가 프로비저닝되는 중에는 아직 복사되지 않았습니다. 대상 클러스터가 프로비저닝되고 나면 상태가 IN_PROGRESS로 바뀝니다.
- “더 큰 대상 클러스터를 선택하세요.” 라는 오류 메시지가 나타나면 데이터가 대상 클러스터에 맞지 않는 것입니다. 더 많은 노드 또는 다른 노드 유형으로Amazon Redshift 클러스터의 크기를 조정합니다.
- 완료되기 전에 크기 조정 작업을 취소하려면 Amazon Redshift 콘솔의 클러스터 목록에서 [크기 조정 취소(Cancel Resize)]를 선택합니다. 자세한 내용은 스냅샷, 복원 및 크기 조정을 참조하세요.
크기 조정된 클러스터의 요금
- 크기 조정 작업 중에는 사용 가능한 클러스터에 대해 요금이 발생합니다. 예를 들어 크기 조정 작업 중에는 원본 구성에 대해 요금이 발생합니다. 크기 조정이 완료되면 원본 구성에 대해 요금이 발생하지 않습니다. 클러스터 상태가 [사용 가능(Available)]으로 변경되는 즉시 대상 구성에 대해 요금이 발생하기 시작합니다. 스냅샷 및 복원 방법을 사용하면 일시적으로 추가 클러스터가 생깁니다. 환경을 정리할 때까지 추가 클러스터에 대한 요금이 청구됩니다.
- 더 작은 노드 유형(large, xlarge)을 더 큰 노드 유형(8xlarge)으로 크기 조정하려면 클러스터에 노드당 더 많은 스토리지가 필요합니다. 노드당 스토리지가 많을수록 COMMIT을 실행할 때 쓰여지는 메타데이터의 양도 늘어납니다. 따라서 노드 크기가 클수록 단일 커밋 작업의 기본 요금이 더 높습니다. 여러 개의 작은 커밋 작업을 동시에 실행하면 성능이 저하될 수 있습니다. 성능을 높이려면 여러 변경 사항을 단일 커밋 작업으로 그룹화합니다.
- 예약 인스턴스를 구매한 경우 크기 조정된 클러스터 구성, 예약 노드 유형, 예약 노드 수에 따라 결제 요금이 달라집니다. 자세한 내용은 예약 노드의 작동 방식을 참조하세요.