Amazon Redshift 프로비저닝 클러스터 - Amazon Redshift

Amazon Redshift 프로비저닝 클러스터

Amazon Redshift 데이터 웨어하우스는 노드라는 컴퓨팅 리소스의 모음으로, 노드는 클러스터라는 그룹을 구성합니다. 각 클러스터는 Amazon Redshift 엔진을 실행하며, 하나 이상의 데이터베이스를 포함합니다.

참고

현재 Amazon Redshift 버전 1.0 엔진을 사용할 수 있습니다. 하지만 엔진이 업데이트되면 여러 Amazon Redshift 엔진 버전을 선택하여 사용할 수 있습니다.

Amazon Redshift의 클러스터 및 노드

Amazon Redshift 클러스터는 노드로 구성됩니다. 각 클러스터마다 리더 노드 1개와 컴퓨팅 노드 1개 이상이 있습니다. 리더 노드는 클라이언트 애플리케이션에서 쿼리를 수신하여 구문을 분석한 후 쿼리 실행 계획을 작성합니다. 그런 다음 리더 노드는 이러한 계획의 병렬 실행을 컴퓨팅 노드에 맞춰 조정하고 이들 노드에서 중간 결과를 집계합니다. 그런 다음 최종적으로 결과를 다시 클라이언트 애플리케이션에 반환합니다.

컴퓨팅 노드는 쿼리 실행 플랜을 실행하고 쿼리를 처리하기 위해 노드 간에 데이터를 전송합니다. 중간 결과는 클라이언트 애플리케이션으로 보내지기 전에 집계를 위해 리더 노드로 보내집니다. 리더 노드와 컴퓨팅 노드에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서데이터 웨어하우스 시스템 아키텍처를 참조하세요.

참고

Amazon Redshift 콘솔(https://console.aws.amazon.com/redshiftv2/)에서 클러스터를 생성할 때 데이터 크기 및 쿼리 특성을 기반으로 클러스터 구성 권장 사항을 제공 받을 수 있습니다. 이 크기 조정 계산기를 사용하려면 RA3 노드 유형을 지원하는 AWS 리전의 콘솔에서 선택에 대한 도움말(Help me choose)을 찾습니다. 자세한 내용은 클러스터 생성 섹션을 참조하세요.

클러스터를 시작할 때 지정하는 한 가지 옵션이 노드 유형입니다. 노드 유형에서는 각 노드의 CPU, RAM, 스토리지 용량, 및 스토리지 드라이브 유형을 결정합니다.

Amazon Redshift는 워크로드를 수용할 수 있도록 다양한 노드 유형을 제공하며 필요한 성능, 데이터 크기 및 예상 데이터 증가에 따라 RA3 또는 DC2를 선택하는 것이 좋습니다.

관리형 스토리지가 포함된 RA3 노드를 사용하면 컴퓨팅 및 관리형 스토리지를 개별적으로 조절하고 비용을 지불하는 방식으로 데이터 웨어하우스를 최적화할 수 있습니다. RA3에서는 성능 요구 사항에 따라 노드 수를 선택하며, 사용하는 관리형 스토리지에 대해서만 비용을 지불합니다. RA3 클러스터는 매일 처리하는 데이터 크기에 따라 크기를 조정합니다. Virtual Private Cloud(VPC)에서 RA3 노드 유형을 사용하는 클러스터를 시작합니다. EC2-Classic에서는 RA3 클러스터를 시작할 수 없습니다. 자세한 내용은 VPC에서 Redshift 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹 생성 섹션을 참조하세요.

Amazon Redshift 관리형 스토리지는 각 RA3 노드에서 빠른 로컬 스토리지에는 대용량 고성능 SSD를 사용하며, 내구성이 뛰어난 장기 스토리지에는 Amazon S3를 사용합니다. 한 노드의 데이터가 대용량 로컬 SSD의 크기 이상으로 증가하는 경우 Amazon Redshift 관리형 스토리지는 자동으로 해당 데이터를 Amazon S3에 오프로드합니다. 데이터가 고성능 SSD 또는 Amazon S3 중에 어디에 저장되는지에 관계없이, Amazon Redshift 관리형 스토리지에 대한 동일한 낮은 요금을 지불합니다. 지속적으로 확장하는 스토리지가 필요한 워크로드의 경우 관리형 스토리지를 사용하면 컴퓨팅 노드에서 별도로 데이터 웨어하우스 스토리지 용량을 자동으로 규모 조정할 수 있습니다.

DC2 노드를 사용하면 로컬 SSD 스토리지가 포함된 컴퓨팅 집약적인 데이터 웨어하우스를 갖출 수 있습니다. 데이터 크기와 성능 요구 사항을 기반으로 필요한 노드의 수를 선택합니다. DC2 노드는 높은 성능을 위해 데이터를 로컬로 저장하며, 데이터 크기가 증가하면 컴퓨팅 노드를 더 추가하여 클러스터의 스토리지 용량을 늘릴 수 있습니다. 1TB 미만의 비압축 데이터 세트에 대해서는 가장 저렴한 가격으로 최고의 성능을 얻을 수 있도록 DC2 노드 유형을 권장합니다. 데이터가 증가할 것으로 예상되면 컴퓨팅 및 스토리지 크기를 독립적으로 조정하여 더 좋은 요금과 성능을 얻을 수 있도록 RA3 노드를 사용하는 것이 좋습니다. Virtual Private Cloud(VPC)에서 DC2 노드 유형을 사용하는 클러스터를 시작합니다. EC2-Classic에서는 DC2 클러스터를 시작할 수 없습니다. 자세한 내용은 VPC에서 Redshift 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹 생성 단원을 참조하십시오.

노드 유형은 사용할 수 있는 크기도 다양합니다. 클러스터의 전체 스토리지도 노드 유형과 노드 수에 따라 결정됩니다. 자세한 내용은 노드 유형 세부 정보 섹션을 참조하세요.

일부 노드 유형에서는 노드 1개(단일 노드) 또는 노드 2개 이상(다중 노드)이 허용됩니다. 일부 노드 유형의 클러스터에 대한 최소 노드 수는 노드 2개입니다. 단일 노드 클러스터에서는 리더 기능과 컴퓨팅 기능이 노드 하나로 공유됩니다. 단일 노드 클러스터는 프로덕션 워크로드를 실행하는 데 사용하지 않는 것이 좋습니다. 반면에 다중 노드 클러스터에서는 리더 노드와 컴퓨팅 노드가 분리됩니다. 리더 노드는 컴퓨팅 노드와 동일한 노드 유형입니다. 컴퓨팅 노드에 대한 요금만 지불합니다.

Amazon Redshift는 각 AWS 리전의 AWS 계정마다 리소스에 할당량을 적용합니다. 할당량은 노드 또는 스냅샷과 같이 AWS 리전 내에서 지정된 리소스 유형에 대해 계정에서 생성할 수 있는 리소스 수를 제한합니다. Amazon Redshift 리소스에 적용되는 기본 할당량에 대한 자세한 내용은 Amazon Redshift의 할당량 및 제한 섹션을 참조하세요.

클러스터 비용은 AWS 리전, 노드 유형, 노드 수, 노드의 사전 예약 여부에 따라 다릅니다. 노드 비용에 대한 자세한 내용은 Amazon Redshift 요금 페이지에서 확인할 수 있습니다.

노드 유형 세부 정보

아래 표는 각 노드 유형 및 크기에 따라 노드 명세를 요약한 것입니다. 표의 제목에는 다음과 같은 의미가 있습니다.

  • vCPU는 각 노드의 가상 CPU 수입니다.

  • RAM은 각 노드의 메모리 크기(기비바이트: GiB)입니다.

  • 노드당 기본 조각은 클러스터를 생성하거나 클래식 크기 조정으로 크기를 조정할 때 컴퓨팅 노드가 분할되는 조각 수입니다.

    탄력적 크기 조정을 사용하여 클러스터 크기를 조정할 경우 노드당 조각 수가 변경될 수 있습니다. 그러나 탄력적 크기 조정 후에도 클러스터의 모든 컴퓨팅 노드에 있는 총 조각 수는 동일하게 유지됩니다.

    스냅샷에서 복원 작업을 사용하여 클러스터를 생성할 때 노드 유형을 변경하면 결과 클러스터의 조각 수가 원래 클러스터에서 변경될 수 있습니다.

  • 스토리지는 각 노드의 스토리지 용량 및 유형입니다.

  • 노드 범위는 노드 유형 및 크기에 따라 Amazon Redshift에서 지원되는 노드의 최소 수와 최대 수입니다.

    참고

    선택한 AWS 리전의 AWS 계정에 적용되는 할당량에 따라 제한되는 노드 수가 줄어들 수도 있습니다. Amazon Redshift 리소스에 적용되는 기본 할당량에 대한 자세한 내용은 Amazon Redshift의 할당량 및 제한 섹션을 참조하세요.

  • 총 용량은 노드 범위에서 지정하는 최대 노드 수를 배포했을 때 클러스터의 전체 스토리지 용량을 말합니다.

다음 테이블에서는 RA3 노드의 사양을 설명합니다.

노드 유형 vCPU RAM(GiB) 노드당 기본 슬라이스 노드당 관리형 스토리지 한도 1 클러스터 생성을 사용한 노드 범위 총 관리형 스토리지 용량 2
ra3.large(단일 노드) 2 16 2 1TB 1 1TB3
ra3.large(다중 노드) 2 16 2 8TB 2~16 128TB
ra3.xlplus(단일 노드) 4 32 2 4TB 1 4TB3
ra3.xlplus(다중 노드) 4 32 2 32TB 2~164 1,024TB4
ra3.4xlarge 12 96 4 128TB 2~325 8,192TB5
ra3.16xlarge 48 384 16 128TB 2~128 16,384TB

1 Amazon Redshift 관리형 스토리지의 스토리지 한도입니다. 이것은 하드 제한입니다.

2 총 관리형 스토리지 한도는 노드당 관리 스토리지 한도를 곱한 최대 노드 수입니다.

3 단일 노드 클러스터를 다중 노드로 크기 조정하려면 클래식 크기 조정만 지원됩니다.

4 최대 16개의 노드가 있는 ra3.xlplus(다중 노드) 노드 유형으로 클러스터를 생성할 수 있습니다. 다중 노드 클러스터의 경우 탄력적 크기 조정을 통해 최대 32개 노드까지 크기를 조정할 수 있습니다.

5 최대 32개의 노드가 있는 ra3.4xlarge 노드 유형으로 클러스터를 생성할 수 있습니다. 탄력적 크기 조정으로 최대 64개 노드까지 크기를 조정할 수 있습니다.

다음 테이블에서는 고밀도 컴퓨팅 노드의 사양을 설명합니다.

노드 유형 vCPU RAM(GiB) 노드당 기본 슬라이스 노드당 스토리지 노드 범위 총 용량
dc2.large 2 15 2 160GB NVMe-SSD 1~32 5.12TB
dc2.8xlarge 32 244 16 2.56TB NVMe-SSD 2~128 326TB
참고

고밀도 스토리지(DS2) 노드 유형은 더 이상 사용할 수 없습니다.

이전 노드 유형 이름

이전 버전의 Amazon Redshift에서는 특정 노드 유형의 이름이 달랐습니다. Amazon Redshift API 및 AWS CLI에서 이전 이름을 사용할 수 있습니다. 하지만 그보다는 이러한 이름을 참조하는 스크립트를, 현재 이름을 사용하도록 업데이트하는 것이 좋습니다. 현재 이름과 이전 이름은 다음과 같습니다.

현재 이름 이전 이름
ds2.xlarge ds1.xlarge, dw.hs1.xlarge, dw1.xlarge
ds2.8xlarge ds1.8xlarge, dw.hs1.8xlarge, dw1.8xlarge
dc1.large dw2.large
dc1.8xlarge dw2.8xlarge

노드 수 결정

Amazon Redshift는 클러스터의 모든 컴퓨팅 노드에 걸쳐 쿼리를 배포하고 병렬식으로 실행하기 때문에 노드를 클러스터에 추가하여 쿼리 성능을 높일 수 있습니다. 두 개 이상의 컴퓨팅 노드에서 클러스터를 실행할 경우 각 노드의 데이터가 다른 노드의 디스크에 미러링되므로 데이터가 손실될 위험이 줄어듭니다.

Amazon Redshift 콘솔 및 Amazon CloudWatch 지표를 사용하여 쿼리 성능을 모니터링할 수 있습니다. 클러스터에 대한 요금과 성능 간의 균형을 맞추기 위해 필요에 따라 노드를 추가하거나 제거할 수도 있습니다. 추가 노드를 요청하면 Amazon Redshift가 배포, 로드 밸런싱 및 데이터 유지 보수에 필요한 모든 세부 정보를 관리합니다. 성능에 대한 자세한 내용은 Amazon Redshift 클러스터 성능 모니터링 섹션을 참조하세요.

예약 노드는 일정한 상태의 프로덕션 워크로드에 적합하며 온디맨드 요금보다 상당히 많은 할인을 제공합니다. 실험 및 개념 증명을 실행한 후 예약 노드를 구입하여 프로덕션 구성을 검증할 수 있습니다. 자세한 내용은 예약 노드 섹션을 참조하세요.

클러스터를 일시 중지하면 클러스터가 일시 중지되는 시간 동안 온디맨드 결제가 일시 중지됩니다. 일시 중지된 이 시간 동안에는 백업 스토리지에 대해서만 요금을 지불합니다. 이렇게 하면 필요한 데이터 웨어하우스 용량을 미리 계획하고 구매할 필요가 없으며 개발 또는 테스트를 위해 환경을 비용 효과적으로 관리할 수 있습니다.

온디맨드 및 예약 노드의 요금에 대한 자세한 내용은 Amazon Redshift 요금을 참조하세요.

클러스터 생성 시 EC2-VPC 사용

Amazon Redshift 클러스터는 선택하는 Amazon Redshift 노드 유형 및 크기에 대해 구성된 Amazon EC2 인스턴스에서 실행됩니다. EC2-VPC를 사용하여 클러스터를 생성합니다. 여전히 EC2-Classic을 사용하는 경우 EC2-VPC를 사용하여 성능을 향상하고 보안을 강화하는 것이 좋습니다. 이러한 네트워킹 플랫폼에 대한 자세한 내용은 Amazon EC2 사용 설명서의 지원되는 플랫폼을 참조하세요. AWS 계정 설정에 따라 EC2-VPC나 EC2-Classic을 사용할 수 있는지 여부가 결정됩니다.

참고

SQL 클라이언트 도구와 Amazon Redshift 데이터베이스 간 연결 문제를 방지하기 위해 다음 2가지 방법 중 하나를 사용하는 것이 좋습니다. 호스트가 패킷 크기를 협상하도록 인바운드 규칙을 구성할 수 있습니다. 또는 Amazon EC2 인스턴스 네트워크 인터페이스(NIC)의 최대 전송 단위(MTU)를 1500으로 설정해 TCP/IP 점보 프레임을 사용 중지할 수 있습니다. 이러한 옵션에 대한 자세한 내용은 쿼리가 중단되거나, 간혹 클러스터까지 전송되지 않습니다 섹션을 참조하세요.

EC2-VPC

EC2-VPC를 사용하면 클러스터는 AWS 계정에 논리적으로 격리된 VPC(Virtual Private Cloud)에서 실행됩니다. EC2-VPC에서 클러스터를 프로비저닝하는 경우 하나 이상의 VPC 보안 그룹을 클러스터와 연결하여 클러스터에 대한 액세스를 제어합니다. 자세한 내용은 Amazon VPC 사용 설명서VPC의 보안 그룹 섹션을 참조하세요.

VPC에서 클러스터를 생성하려면 먼저 VPC의 서브넷 정보를 입력하여 Amazon Redshift 클러스터 서브넷 그룹을 생성한 다음 클러스터를 시작할 때 서브넷 그룹을 입력해야 합니다. 자세한 내용은 Redshift 리소스의 서브넷 섹션을 참조하세요.

Amazon Virtual Private Cloud(Amazon VPC)에 대한 자세한 내용은Amazon VPC 제품 세부 정보 페이지를 참조하세요.

기본 디스크 공간 경보

Amazon Redshift 클러스터를 생성할 때는 옵션으로 Amazon CloudWatch 경보를 구성하여 모든 클러스터 노드에서 사용 중인 디스크 공간의 평균 비율을 모니터링할 수 있습니다. 이러한 경보를 기본 디스크 공간 경보라고 부릅니다.

기본 디스크 공간 경보의 목적은 클러스터의 스토리지 용량을 모니터링하는 데 있습니다. 이 경보는 데이터 웨어하우스의 요건에 따라 구성할 수 있습니다. 예를 들어, 이 경보를 클러스터 크기 조정에 필요한 지표로 사용할 수 있습니다. 여러 노드 유형에 대해 크기를 조정하거나 노드를 추가할 수 있으며, 또는 향후 확장을 고려하여 예약 노드를 구매할 수 있습니다.

기본 디스크 공간 경보는 디스크 사용량이 일정한 횟수와 지속 시간으로 지정한 비율에 도달하거나, 이를 초과할 때 트리거됩니다. 기본적으로는 지정한 비율에 도달할 때 트리거되며, 해당 비율 이상에서 5분 이상 지속됩니다. 기본 값은 클러스터를 시작한 후에도 편집할 수 있습니다.

CloudWatch 경보가 트리거되면 Amazon Simple Notification Service(Amazon SNS)는 지정된 수신자에게 알림을 보내 백분율 임계값에 도달했음을 경고합니다. Amazon SNS는 주제를 사용하여 수신자와 알림으로 전송되는 메시지를 지정합니다. 기존 Amazon SNS 주제를 사용할 수도 있지만 그렇지 않고 클러스터를 시작할 때 지정한 설정에 따라 주제를 생성할 수도 있습니다. 경보 주제는 클러스터를 시작한 후에도 편집 가능합니다. Amazon SNS 주제 생성에 대한 자세한 내용은 Amazon Simple Notification Service 시작하기 섹션을 참조하세요.

클러스터를 시작한 후 클러스터 상태(Status) 창의 CloudWatch 경보(CloudWatch Alarms)에서 경보를 보고 편집할 수 있습니다. 이름은 percentage-disk-space-used-default-<string>입니다. 먼저 경보를 열어 연결되어 있는 Amazon SNS 주제를 확인한 후 경보 설정을 편집하면 됩니다. 기존 Amazon SNS 주제를 선택하지 않은 경우에는 직접 생성한 주제의 이름은 <clustername>-default-alarms(<recipient>)가 됩니다. 예를 들면 examplecluster-default-alarms (notify@example.com)와 같습니다.

기본 디스크 공간 경보의 구성 및 편집에 대한 자세한 내용은 클러스터 생성디스크 공간 경보 생성 섹션을 참조하세요.

참고

클러스터를 삭제해도 클러스터와 연결된 경보가 삭제되지는 않지만 트리거되지도 않습니다. 더 이상 필요 없는 경보는 CloudWatch 콘솔에서 삭제할 수 있습니다.

클러스터 상태

클러스터 상태에는 현재 클러스터 상태가 표시됩니다. 다음 표는 각 클러스터 상태를 설명한 것입니다.

상태 표시기 설명
available 클러스터가 실행 중이며 사용할 수 있습니다.
available, prep-for-resize 클러스터가 탄력적으로 크기를 조정할 수 있도록 준비 중입니다. 클러스터가 실행 중이고 읽기 및 쓰기 쿼리에 사용할 수 있지만 스냅샷 생성 등과 같은 클러스터 작업은 수행할 수 없습니다.
available, resize-cleanup 탄력적 크기 조정 작업이 새 클러스터 노드로 데이터 전송을 완료하는 중입니다. 클러스터가 실행 중이고 읽기 및 쓰기 쿼리에 사용할 수 있지만 스냅샷 생성 등과 같은 클러스터 작업은 수행할 수 없습니다.
cancelling-resize 크기 조정 작업을 취소하는 중입니다.
creating Amazon Redshift가 클러스터를 생성하고 있습니다. 자세한 내용은 클러스터 생성 섹션을 참조하세요.
deleting Amazon Redshift가 클러스터를 삭제하고 있습니다. 자세한 내용은 클러스터 종료 및 삭제 단원을 참조하십시오.
final-snapshot Amazon Redshift가 삭제에 앞서 클러스터의 최종 스냅샷을 생성 중입니다. 자세한 내용은 클러스터 종료 및 삭제 단원을 참조하십시오.
hardware-failure

클러스터에 하드웨어 장애가 발생했습니다.

단일 노드 클러스터가 있는 경우 노드를 변경할 수 없습니다. 클러스터를 복구하려면 스냅샷을 복원하세요. 자세한 내용은 Amazon Redshift 스냅샷 및 백업 섹션을 참조하세요.

incompatible-hsm Amazon Redshift가 하드웨어 보안 모듈(HSM)에 연결할 수 없습니다. 클러스터와 HSM 사이의 HSM 구성을 확인하세요. 자세한 내용은 하드웨어 보안 모듈을 사용한 암호화 섹션을 참조하세요.
incompatible-network 기본 네트워크 구성에 문제가 있습니다. 클러스터를 시작한 VPC가 존재하는지, 그리고 VPC 설정이 올바른지 확인하세요. 자세한 내용은 VPC의 Redshift 리소스 섹션을 참조하세요.
incompatible-parameters 연결되어 있는 파라미터 그룹에서 1개 이상의 파라미터 값에 문제가 있어서 파라미터 값을 적용할 수 없습니다. 파라미터 그룹을 수정하고 잘못된 값은 모두 업데이트하세요. 자세한 내용은 Amazon Redshift 파라미터 그룹 섹션을 참조하세요.
incompatible-restore 스냅샷에서 클러스터를 복원하는 데 문제가 발생했습니다. 다른 스냅샷을 이용해 클러스터를 다시 복원하세요. 자세한 내용은 Amazon Redshift 스냅샷 및 백업 섹션을 참조하세요.
modifying Amazon Redshift가 클러스터에 변경 사항을 적용 중입니다. 자세한 내용은 클러스터 수정 섹션을 참조하세요.
paused 클러스터가 일시 중지되었습니다. 자세한 내용은 클러스터 일시 중지 및 다시 시작 섹션을 참조하세요.
rebooting Amazon Redshift가 클러스터를 재부팅하고 있습니다. 자세한 내용은 클러스터 재부팅 섹션을 참조하세요.
renaming Amazon Redshift가 클러스터에 새 이름을 적용 중입니다. 자세한 내용은 클러스터 이름 변경 섹션을 참조하세요.
resizing Amazon Redshift가 클러스터 크기를 조정하고 있습니다. 자세한 내용은 클러스터 크기 조정 섹션을 참조하세요.
rotating-keys Amazon Redshift가 클러스터의 암호 키를 교체하고 있습니다. 자세한 내용은 키 교체 암호화 섹션을 참조하세요.
storage-full 클러스터에 할당된 스토리지 용량이 거의 다 찼습니다. 클러스터 크기를 조정하여 노드를 추가하거나 다른 노드 크기를 선택하세요. 자세한 내용은 클러스터 크기 조정 단원을 참조하십시오.
updating-hsm Amazon Redshift가 HSM 구성을 업데이트 중입니다.