클러스터 재배치 - Amazon Redshift

클러스터 재배치

Amazon Redshift에서 재배치를 사용하면 데이터 손실이나 애플리케이션 변경 없이 Amazon Redshift가 클러스터를 다른 가용 영역으로 이동할 수 있습니다. 재배치를 사용하면 클러스터에서 서비스 중단이 발생할 때 영향을 최소화하면서 작업을 계속할 수 있습니다.

클러스터 재배치가 켜지면 Amazon Redshift가 일부 상황에서 클러스터를 재배치하도록 선택할 수 있습니다. 특히 현재 가용 영역의 문제로 인해 최적의 클러스터 작동이 방해를 받거나 서비스 가용성을 향상시키려는 경우 클러스터가 재배치됩니다. 지정된 가용 영역의 리소스 제약으로 인해 클러스터 작업이 중단되는 경우에도 재배치 기능을 호출할 수 있습니다. 클러스터를 재개하거나 크기를 조정하는 기능을 예로 들 수 있습니다. Amazon Redshift는 추가 비용 없이 재배치 기능을 제공합니다.

Amazon Redshift 클러스터가 새 가용 영역으로 재배치되면 새 클러스터에는 원래 클러스터와 동일한 엔드포인트가 있습니다. 애플리케이션은 엔드포인트에 다시 연결하고 데이터 수정 또는 손실 없이 작업을 계속할 수 있습니다. 그러나 지정된 가용 영역에서 잠재적인 리소스 제약으로 인해 재배치가 불가능한 경우도 있을 수 있습니다.

Amazon Redshift 클러스터 재배치는 ra3.16xlarge, ra3.4xlarge 및 ra3.xlplus와 같은 RA3 인스턴스 유형에 대해서만 지원됩니다. RA3 인스턴스 유형은 Redshift 관리형 스토리지(RMS)를 내구성 있는 스토리지 계층으로 사용합니다. 클러스터 데이터의 최신 복사본은 AWS 리전의 다른 가용 영역에서 항상 사용할 수 있습니다. 즉, 데이터 손실 없이 Amazon Redshift 클러스터를 다른 가용 영역으로 재배치할 수 있습니다.

클러스터에 대한 재배치를 켜면 Amazon Redshift가 클러스터를 프록시 뒤에 있도록 마이그레이션합니다. 이렇게 하면 클러스터의 컴퓨팅 리소스에 대한 위치 독립적 액세스를 구현하는 데 도움이 됩니다. 마이그레이션으로 인해 클러스터가 재부팅됩니다. 클러스터가 다른 가용 영역으로 재배치되면 새 클러스터가 새 가용 영역에서 다시 온라인 상태가 되는 동안 중단이 발생합니다. 그러나 클러스터가 새 가용 영역으로 재배치된 후에도 클러스터 엔드포인트가 변경되지 않은 상태로 유지되므로 애플리케이션을 변경할 필요가 없습니다.

클러스터 재배치는 모든 RA3 클러스터에서 기본적으로 비활성화되어 있습니다. Amazon Redshift는 프로비저닝된 클러스터를 생성하는 동안 5439를 기본 포트로 할당합니다. 포트 범위 5431~5455 또는 8191~8215에서 다른 포트로 변경할 수 있습니다. 범위를 벗어난 포트로 변경하지 마세요. 오류가 발생합니다. 프로비저닝된 클러스터의 기본 포트를 변경하려면 Amazon Redshift 콘솔, AWS CLI 또는 Amazon Redshift API를 사용하세요. 서버리스 작업 그룹의 기본 포트를 변경하려면 AWS CLI 또는 Amazon Redshift Serverless API를 사용하세요.

재배치를 켜고 현재 리더 노드 IP 주소를 사용하여 클러스터에 액세스하는 경우 해당 액세스를 변경해야 합니다. 대신 클러스터의 Virtual Private Cloud(VPC) 엔드포인트와 연결된 IP 주소를 사용합니다. 이 클러스터 IP 주소를 찾으려면 클러스터 세부 정보 페이지의 [네트워크 및 보안(Network and security)] 섹션에서 VPC 엔드포인트를 찾아서 사용합니다. VPC 엔드포인트에 대한 세부 정보를 보려면 Amazon VPC 콘솔에 로그인합니다.

AWS Command Line Interface(AWS CLI) 명령 describe-vpc-endpoints를 사용하여 엔드포인트와 연결된 탄력적 네트워크 인터페이스를 가져올 수도 있습니다. describe-network-interfaces 명령을 사용하여 연결된 IP 주소를 가져올 수 있습니다. Amazon Redshift AWS CLI 명령에 대한 자세한 내용은 AWS CLI Command ReferenceAvailable commands를 참조하세요.

참고

클러스터 재배치는 추가 Redshift 네트워킹 기능을 구성하기 위한 사전 조건은 아니라는 점을 기억하시기 바랍니다. 예를 들어, 리전 간 스냅샷 복사를 통해 보완하여 환경의 복원력을 높일 수 있지만 반드시 필요한 것은 아닙니다. 또한 다음 기능을 활성화하기 위해 이 기능을 켤 필요도 없습니다.

  • 계정 간 또는 리전 간 VPC에서 Redshift로 연결 - 하나의 AWS Virtual Private Cloud(VPC)에서 Redshift 데이터베이스를 포함하는 다른 VPC로 연결할 수 있습니다. 따라서 데이터베이스에 연결하는 ID에 대한 로컬 VPC 액세스를 제공하지 않고도 서로 다른 계정이나 VPC에서의 클라이언트 액세스 등을 더 쉽게 관리할 수 있습니다. 자세한 내용은 다른 계정 또는 리전의 Redshift VPC 엔드포인트에서 Amazon Redshift Serverless에 연결을 참조하세요.

  • 사용자 지정 도메인 이름 설정 - Amazon Redshift 클러스터 또는 Amazon Redshift Serverless 작업 그룹에 대해 사용자 지정 도메인(사용자 지정 URL이라고도 함)을 만들어 엔드포인트 이름을 더 기억하기 쉽고 간단하게 만들 수 있습니다. 자세한 내용은 클라이언트 연결에 사용자 지정 도메인 이름 사용을 참조하세요.

제한 사항

Amazon Redshift 재배치를 사용할 때 다음 제한 사항에 유의합니다.

  • 지정된 가용 영역의 잠재적인 리소스 제한으로 인해 일부 시나리오에서는 클러스터 재배치가 불가능할 수 있습니다. 이 경우 Amazon Redshift가 원래 클러스터를 변경하지 않습니다.

  • DC2 인스턴스 패밀리에서는 재배치가 지원되지 않습니다.

  • AWS 리전 간에 재배치를 수행할 수 없습니다.

  • Amazon Redshift 재배치는 기본적으로 포트 5439로 설정됩니다. 5431~5455 또는 8191~8215 범위에서 다른 포트로 변경할 수도 있습니다.

클러스터 재배치 켜기

Amazon Redshift 콘솔, AWS CLI 및 Amazon Redshift API에서 클러스터 재배치를 켜고 관리할 수 있습니다.

클러스터 재배치를 켜려면 여러 가용 영역이 포함된 서브넷 그룹을 정의합니다. Amazon Redshift가 액세스 가능한 가용 영역을 2개 이상 식별하는 경우 액세스 가능한 가용 영역 목록에서 자동으로 선택하여 클러스터를 재배치합니다.

재배치가 완료되면 동일한 엔드포인트를 사용하여 클러스터에 액세스합니다. Amazon Redshift는 원래 클러스터의 컴퓨팅 리소스를 삭제하고 리소스 풀로 반환합니다.

콘솔을 사용하여 재배치 관리

Amazon Redshift 콘솔을 사용하여 클러스터 재배치에 대한 설정을 관리할 수 있습니다.

새 클러스터 생성 시 재배치 켜기

새 클러스터를 생성할 때 재배치를 켜려면 다음 절차를 따릅니다.

새 클러스터에 재배치 켜기
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/redshiftv2/에서 Amazon Redshift 콘솔을 엽니다.

  2. 탐색 메뉴에서 클러스터(Clusters)를 선택합니다.

  3. [클러스터 생성(Create cluster)]을 선택하여 새 클러스터를 생성합니다. 클러스터를 생성하는 방법에 대한 자세한 내용은 Amazon Redshift 시작 안내서Amazon Redshift 프로비저닝 클러스터를 참조하세요.

  4. Backup(백업)에서 Cluster relocation(클러스터)에 대해 Enabled(활성화됨)를 선택합니다. 재배치는 기본적으로 해제됩니다.

  5. 클러스터 생성을 선택합니다.

기존 클러스터에 대한 재배치 수정

기존 클러스터에 대한 재배치 설정을 변경하려면 다음 절차를 따릅니다.

기존 클러스터에 대한 재배치 설정을 수정하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/redshiftv2/에서 Amazon Redshift 콘솔을 엽니다.

  2. 탐색 메뉴에서 클러스터(Clusters)를 선택합니다. 현재 AWS 리전의 계정에 대한 클러스터가 나열됩니다. 각 클러스터의 속성 하위 집합이 목록의 열에 표시됩니다.

  3. 목록에서 수정할 클러스터의 이름을 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

  4. [유지 관리(Maintenance)] 탭을 선택하고 [백업 세부 정보(Backup details)] 섹션에서 [편집(Edit)]을 선택합니다.

  5. Backup(백업)에서 Enabled(활성화됨)를 선택합니다. 재배치는 기본적으로 해제됩니다.

  6. 클러스터 수정을 선택합니다.

클러스터 재부팅

다른 가용 영역으로 클러스터를 수동으로 재배치하려면 다음 절차를 따릅니다. 이는 보조 가용 영역에서 네트워크 설정을 테스트하려는 경우 또는 현재 가용 영역에서 리소스 제약 조건을 실행할 때 특히 유용합니다.

다른 가용 영역으로 클러스터를 재배치하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/redshiftv2/에서 Amazon Redshift 콘솔을 엽니다.

  2. 탐색 메뉴에서 클러스터(Clusters)를 선택합니다. 현재 AWS 리전의 계정에 대한 클러스터가 나열됩니다. 각 클러스터의 속성 하위 집합이 목록의 열에 표시됩니다.

  3. 목록에서 이동할 클러스터의 이름을 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

  4. [작업(Actions)]에서 [재배치(Relocate)]를 선택합니다. [클러스터 재배치(Relocate cluster)] 페이지가 표시됩니다.

  5. (옵션) [가용 영역(Availability Zone)]을 선택합니다. 가용 영역을 선택하지 않으면 Amazon Redshift가 자동으로 선택합니다.

Amazon Redshift가 재배치를 시작하고 클러스터를 재배치 중으로 표시합니다. 재배치가 완료되면 클러스터 상태가 사용 가능으로 바뀝니다.

Amazon Redshift CLI를 사용하여 재배치 관리

AWS 명령줄 인터페이스(CLI)를 사용하여 클러스터 재배치에 대한 설정을 관리할 수 있습니다.

AWS CLI 사용 시 다음 예제 명령은 재배치가 켜져 있는 mycluster라는 Amazon Redshift 클러스터를 생성합니다.

aws redshift create-cluster --cluster-identifier mycluster --number-of-nodes 2 --master-username enter a username --master-user-password enter a password --node-type ra3.4xlarge --port 5439 --availability-zone-relocation

현재 클러스터가 다른 포트를 사용하는 경우에는 포트 범위 5431~5455 또는 8191~8215를 사용하도록 수정한 다음 배치를 켜도록 수정해야 합니다. 기본값은 5439입니다. 다음 예제 명령은 클러스터가 지정된 범위에 속하는 포트를 사용하지 않는 경우 포트를 수정합니다.

aws redshift modify-cluster --cluster-identifier mycluster --port 5439

다음 예제 명령은 Amazon Redshift 클러스터에서 availability-zone-relocation 파라미터를 포함합니다.

aws redshift modify-cluster --cluster-identifier mycluster --availability-zone-relocation

다음 예제 명령은 Amazon Redshift 클러스터에서 availability-zone-relocation 파라미터를 끕니다.

aws redshift modify-cluster --cluster-identifier mycluster --no-availability-zone-relocation

다음 예제 명령은 Amazon Redshift 클러스터에서 재배치를 호출합니다.

aws redshift modify-cluster --cluster-identifier mycluster --availability-zone us-east-1b