데이터를 PostgreSQL과 호환되는 Amazon Aurora로 마이그레이션 - Amazon Aurora

데이터를 PostgreSQL과 호환되는 Amazon Aurora로 마이그레이션

기존 데이터베이스의 데이터를 Amazon Aurora PostgreSQL 호환 버전 DB 클러스터로 마이그레이션하기 위한 몇 가지 옵션이 있습니다. 마이그레이션할 데이터베이스와 데이터 크기에 따라서도 마이그레이션 옵션이 달라집니다. 마이그레이션 옵션은 다음과 같습니다.

스냅샷을 사용하여 RDS for PostgreSQL DB 인스턴스 마이그레이션

RDS for PostgreSQL DB 스냅샷의 데이터를 Aurora PostgreSQL DB 클러스터로 직접 마이그레이션할 수 있습니다.

Aurora 읽기 전용 복제본을 사용하여 RDS for PostgreSQL DB 인스턴스 마이그레이션

또한 PostgreSQL DB 인스턴스의 Aurora PostgreSQL 읽기 전용 복제본을 생성하여 RDS for PostgreSQL DB 인스턴스에서 마이그레이션할 수도 있습니다. RDS for PostgreSQL DB 인스턴스와 Aurora PostgreSQL 읽기 전용 복제본 사이의 복제 지연 시간이 0이 되면 복제를 멈출 수 있습니다. 이때부터 읽기 및 쓰기 작업에서 Aurora 읽기 복제본을 독립 실행형 Aurora PostgreSQL DB 클러스터로 사용할 수 있습니다.

Aurora PostgreSQL로 Amazon S3 데이터 가져오기

데이터를 Amazon S3에서 Aurora PostgreSQL DB 클러스터에 속한 테이블로 가져와 마이그레이션할 수 있습니다.

PostgreSQL과 호환되지 않는 데이터베이스에서 마이그레이션

AWS Database Migration Service(AWS DMS)를 사용하여 PostgreSQL과 호환되지 않는 데이터베이스의 데이터를 마이그레이션할 수 있습니다. AWS DMS에 대한 자세한 내용은 AWS Database Migration Service 사용 설명서에서 AWS Database Migration Service란 무엇입니까?를 참조하세요.

Aurora를 사용할 수 있는 AWS 리전 목록은 AWS 일반 참조에서 Amazon Aurora 섹션을 참조하세요.

중요

가까운 장래에 RDS for PostgreSQL DB 인스턴스를 Aurora PostgreSQL DB 클러스터로 마이그레이션하려는 경우 마이그레이션 계획 단계 초기에 DB 인스턴스의 자동 마이너 버전 업그레이드를 비활성화하는 것이 좋습니다. Aurora PostgreSQL에서 해당 RDS for PostgreSQL 버전이 아직 지원되지 않는 경우 Aurora PostgreSQL로의 마이그레이션이 지연될 수 있습니다.

Aurora PostgreSQL 버전에 대한 자세한 내용은 Amazon Aurora PostgreSQL의 엔진 버전을 참조하세요.

RDS for PostgreSQL DB 인스턴스의 스냅샷을 Aurora PostgreSQL DB 클러스터로 마이그레이션합니다.

Aurora PostgreSQL DB 클러스터를 생성하려면 RDS for PostgreSQL DB 인스턴스의 DB 스냅샷을 마이그레이션할 수 있습니다. 새롭게 생성된 Aurora PostgreSQL DB 클러스터는 원본 RDS for PostgreSQL DB 인스턴스의 데이터로 채워집니다. DB 스냅샷 생성에 대한 자세한 내용은 DB 스냅샷 생성을 참조하세요.

경우에 따라 DB 스냅샷이 데이터를 저장할 AWS 리전에 속하지 않을 수도 있습니다. 이때는 Amazon RDS 콘솔을 사용하여 DB 스냅샷을 해당 AWS 리전으로 복사합니다. DB 스냅샷 복사에 대한 자세한 내용은 DB 스냅샷 복사를 참조하세요.

지정된 AWS 리전에서 사용 가능한 Aurora PostgreSQL 버전과 호환되는 RDS for PostgreSQL 스냅샷을 마이그레이션할 수 있습니다. 예를 들어, RDS PostgreSQL 11.1 DB 인스턴스의 스냅샷은 미국 서부(캘리포니아 북부)에서 Aurora PostgreSQL 버전 11.4, 11.7, 11.8 또는 11.9로 마이그레이션할 수 있습니다. RDS PostreSQL 10.11 스냅샷은 Aurora PostgreSQL 10.11, 10.12, 10.13, 10.14로 마이그레이션할 수 있습니다. 즉, RDS PostgreSQL 스냅샷은 Aurora PostgreSQL과 같거나 낮은 마이너 버전을 사용해야 합니다.

또한 AWS KMS key를 사용하여 새 Aurora PostgreSQL DB 클러스터가 유휴 상태에서 암호화되도록 선택할 수도 있습니다. 이 옵션은 암호화되지 않은 DB 스냅샷에만 가능합니다.

RDS for PostgreSQL DB 스냅샷을 Aurora PostgreSQL DB 클러스터로 마이그레이션하려면 AWS Management Console, AWS CLI 또는 RDS API를 사용합니다. AWS Management Console을 사용할 경우 콘솔은 DB 클러스터와 프라이머리 인스턴스를 모두 생성하는 데 필요한 작업을 수행합니다.

RDS 콘솔을 사용해 PostgreSQL DB 스냅샷을 마이그레이션하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. [Snapshots]를 선택합니다.

  3. [스냅샷(Snapshots)] 페이지에서 Aurora PostgreSQL DB 클러스터로 마이그레이션하려는 RDS for PostgreSQL 스냅샷을 선택합니다.

  4. 작업 을 선택한 다음 스냅샷 마이그레이션을 선택합니다.

  5. [Migrate Database] 페이지에서 다음과 같이 값을 설정합니다.

    • DB 엔진 버전: 마이그레이션된 새 인스턴스에 사용할 DB 엔진 버전을 선택합니다.

    • [DB 인스턴스 식별자(DB instance identifier)]: 선택한 AWS 리전의 계정에 대해 고유한 DB 클러스터의 이름을 입력합니다. 이 식별자는 DB 클러스터에 속한 인스턴스의 엔드포인트 주소로 사용됩니다. 선택한 AWS 리전 및 DB 엔진 포함(예: aurora-cluster1) 등의 몇 가지 지능적 요소를 이름에 추가할 수 있습니다.

      DB 인스턴스 식별자는 다음과 같은 제약 조건이 있습니다.

      • 1–63자의 영숫자 또는 하이픈으로 구성되어야 합니다.

      • 첫 번째 문자는 글자이어야 합니다.

      • 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.

      • 각 AWS 리전별로 AWS 계정마다 모든 DB 인스턴스가 고유해야 합니다.

    • DB 인스턴스 클래스: 데이터베이스에 필요한 스토리지와 용량을 지닌 DB 인스턴스 클래스를 선택합니다(예: db.r6g.large). 데이터베이스의 데이터 용량이 늘어날수록 Aurora 클러스터 볼륨도 자동 확장됩니다. 따라서 현재 스토리지 요구 사항에 맞는 DB 인스턴스 클래스를 선택해야 합니다. 자세한 내용은 Amazon Aurora 스토리지 개요 섹션을 참조하세요.

    • Virtual Private Cloud(VPC): 기존 VPC가 있는 경우, VPC 식별자(예: vpc-a464d1c1)를 선택하여 해당 VPC를 Aurora PostgreSQL DB 클러스터에 사용할 수 있습니다. VPC 생성에 대한 내용은 자습서: DB 클러스터에 사용할 Amazon VPC 생성(IPv4 전용) 섹션을 참조하세요.

      기존 VPC가 없다면 [Create a new VPC]를 선택하여 Amazon RDS에서 VPC를 새로 생성하도록 할 수 있습니다.

    • DB 서브넷 그룹: 기존 서브넷 그룹이 있으면 해당 서브넷 그룹 식별자(예: gs-subnet-group1)를 선택하여 Aurora PostgreSQL DB 클러스터에 기존 서브넷 그룹을 사용할 수 있습니다.

    • 퍼블릭 액세스 가능: VPC에 있는 리소스만 DB 클러스터의 인스턴스에 액세스할 수 있도록 하려면 아니요를 선택합니다. 퍼블릭 네트워크에 있는 리소스가 DB 클러스터의 인스턴스에 액세스할 수 있도록 하려면 를 선택합니다.

      참고

      퍼블릭 서브넷에서는 프로덕션 DB 클러스터가 필요 없을 수도 있습니다. 애플리케이션 서버만 DB 클러스터에 액세스하기 때문입니다. DB 클러스터가 퍼블릭 서브넷에 필요 없는 경우에는 [Publicly Accessible]을 아니오로 설정합니다.

    • VPC 보안 그룹: VPC 보안 그룹을 선택하여 데이터베이스에 대한 액세스를 허용합니다.

    • 가용 영역: Aurora PostgreSQL DB 클러스터의 기본 인스턴스를 호스팅할 가용 영역을 선택합니다. Amazon RDS가 가용 영역을 선택하도록 하려면 기본 설정 없음을 선택합니다.

    • 데이터베이스 포트: Aurora PostgreSQL DB 클러스터의 인스턴스에 연결할 때 사용할 기본 포트를 입력합니다. 기본값은 5432입니다.

      참고

      기업 방화벽 뒤에 있어서 PostgreSQL 기본 포트인 5432 같은 기본 포트에 액세스하지 못할 수도 있습니다. 이런 경우에는 기업 방화벽이 허용하는 포트 값을 입력합니다. 나중에 Aurora PostgreSQL DB 클러스터에 연결할 때도 필요하므로 이 포트 값을 기억해야 합니다.

    • 암호화 활성화: 새 Aurora PostgreSQL DB 클러스터를 저장 상태에서 암호화하려면 암호화 활성화를 선택합니다. 또한 KMS 키를 AWS KMS key 값으로 선택합니다.

    • 마이너 버전 자동 업그레이드: PostgreSQL DB 엔진의 마이너 버전 업그레이드가 있을 때 Aurora PostgreSQL DB 클러스터가 업그레이드를 자동으로 수신하도록 하려면 마이너 버전 자동 업그레이드 사용을 선택합니다.

      마이너 버전 자동 업그레이드 옵션은 Aurora PostgreSQL DB 클러스터에 대해 PostgreSQL 엔진 마이너 버전으로의 업그레이드에만 적용됩니다. 시스템 안정성 유지를 위한 정기 패치에는 적용되지 않습니다.

  6. [Migrate]를 선택하여 DB 스냅샷을 마이그레이션합니다.

  7. 새 DB 클러스터를 보려면 [ 데이터베이스 ] 를 선택합니다. 새 DB 클러스터를 선택하여 마이그레이션 진행률을 모니터링합니다. 마이그레이션이 완료되면 클러스터의 상태가 사용 가능으로 표시됩니다. 연결 및 보안 탭에서 DB 클러스터의 기본 작성기 인스턴스에 연결하는 데 사용할 클러스터 엔드포인트를 찾을 수 있습니다. Aurora PostgreSQL DB 클러스터 연결에 대한 자세한 내용은 Amazon Aurora DB 클러스터에 연결 단원을 참조하세요.

AWS CLI를 사용하여 RDS for PostgreSQL DB 스냅샷을 Aurora PostgreSQL로 마이그레이션하려면 2개의 개별 AWS CLI 명령이 필요합니다. 먼저 restore-db-cluster-from-snapshot AWS CLI 명령을 사용하여 새 Aurora PostgreSQL DB 클러스터를 생성합니다. 그런 다음 create-db-instance 명령을 사용하여 새 클러스터에 프라이머리 DB 인스턴스를 생성하여 마이그레이션을 완료합니다. 다음 절차에서는 스냅샷 생성에 사용된 DB 인스턴스와 구성이 동일한 프라이머리 DB 인스턴스로 Aurora PostgreSQL DB 클러스터를 생성합니다.

Aurora PostgreSQL DB 클러스터로 RDS for PostgreSQL DB 스냅샷 마이그레이션
  1. describe-db-snapshots 명령을 사용하여 마이그레이션하려는 DB 스냅샷에 대한 정보를 가져옵니다. 명령에 --db-instance-identifier 파라미터 또는 --db-snapshot-identifier를 지정할 수 있습니다. 이러한 파라미터 중 하나를 지정하지 않으면 모든 스냅샷을 가져옵니다.

    aws rds describe-db-snapshots --db-instance-identifier <your-db-instance-name>
  2. 이 명령은 지정된 DB 인스턴스에서 생성된 모든 스냅샷에 대한 모든 구성 세부 정보를 반환합니다. 출력에서 마이그레이션할 스냅샷을 찾고 Amazon 리소스 이름(ARN)을 찾습니다. Amazon RDS ARN에 대해 자세히 알아보려면 Amazon Relational Database Service(Amazon RDS)를 참조하세요. ARN은 다음 출력과 유사합니다.

    “DBSnapshotArn": "arn:aws:rds:aws-region:111122223333:snapshot:<snapshot_name>"

    또한 출력에서 엔진 버전, 할당된 스토리지, DB 인스턴스 암호화 여부와 같은 RDS for PostgreSQL DB 인스턴스에 대한 구성 세부 정보를 찾을 수 있습니다.

  3. restore-db-cluster-from-snapshot 명령을 사용하여 마이그레이션을 시작합니다. 다음 파라미터를 지정합니다.

    • --db-cluster-identifier - Aurora PostgreSQL DB 클러스터에 지정하려는 이름입니다. 이 Aurora DB 클러스터는 DB 스냅샷 마이그레이션의 대상입니다.

    • --snapshot-identifier - 마이그레이션할 DB 스냅샷의 Amazon 리소스 이름(ARN)입니다.

    • --engine - Aurora DB 클러스터 엔진에 대해 aurora-postgresql을 지정합니다.

    • --kms-key-id - Aurora PostgreSQL DB 클러스터를 생성할 수 있습니다. 이 선택적 파라미터를 사용하면 암호화되지 않은 DB 스냅샷에서 암호화된 Aurora PostgreSQL DB 클러스터를 생성할 수 있습니다. 또한 DB 스냅샷에 사용된 키와 DB 클러스터에 대해 다른 암호화 키를 선택할 수 있습니다.

      참고

      암호화된 DB 스냅샷에서 암호화되지 않은 Aurora PostgreSQL DB 클러스터를 생성할 수 없습니다.

    다음과 같이 --kms-key-id 파라미터가 지정되지 않은 경우 restore-db-cluster-from-snapshot AWS CLI 명령은 DB 스냅샷과 동일한 키를 사용하여 암호화되거나 원본 DB 스냅샷이 암호화되지 않은 경우 암호화되지 않은 빈 Aurora PostgreSQL DB 클러스터를 생성합니다.

    Linux, macOS, Unix:

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier cluster-name \ --snapshot-identifier arn:aws:rds:aws-region:111122223333:snapshot:your-snapshot-name \ --engine aurora-postgresql

    Windows의 경우:

    aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier new_cluster ^ --snapshot-identifier arn:aws:rds:aws-region:111122223333:snapshot:your-snapshot-name ^ --engine aurora-postgresql
  4. 이 명령은 마이그레이션을 위해 생성 중인 Aurora PostgreSQL DB 클러스터에 대한 세부 정보를 반환합니다. describe-db-clusters AWS CLI 명령을 사용하여 Aurora PostgreSQL DB 클러스터의 상태를 확인할 수 있습니다.

    aws rds describe-db-clusters --db-cluster-identifier cluster-name
  5. DB 클러스터가 "사용 가능" 상태가 되면 create-db-instance 명령을 사용하여 Amazon RDS DB 스냅샷을 기반으로 하는 DB 인스턴스로 Aurora PostgreSQL DB 클러스터를 채웁니다. 다음 파라미터를 지정합니다.

    • --db-cluster-identifier - 이전 단계에서 생성한 새 Aurora PostgreSQL DB 클러스터의 이름입니다.

    • --db-instance-identifier - DB 인스턴스에 부여할 이름입니다. 이 인스턴스는 Aurora PostgreSQL DB 클러스터의 프라이머리 노드가 됩니다.

    • ----db-instance-class - 사용할 DB 인스턴스 클래스를 지정합니다. 마이그레이션할 Aurora PostgreSQL 버전에서 지원하는 DB 인스턴스 클래스 중에서 선택합니다. 자세한 내용은 DB 인스턴스 클래스 유형DB 인스턴스 클래스에 지원되는 DB 엔진 단원을 참조하세요.

    • --engine - DB 인스턴스에 대해 aurora-postgresql을 지정합니다.

    create-db-instance AWS CLI 명령에 적절한 옵션을 전달하여 원본 DB 스냅샷과 다른 구성으로 DB 인스턴스를 생성할 수도 있습니다. 자세한 내용은 create-db-instance 명령을 참조하세요.

    Linux, macOS, Unix:

    aws rds create-db-instance \ --db-cluster-identifier cluster-name \ --db-instance-identifier --db-instance-class db.instance.class \ --engine aurora-postgresql

    Windows의 경우:

    aws rds create-db-instance ^ --db-cluster-identifier cluster-name ^ --db-instance-identifier --db-instance-class db.instance.class ^ --engine aurora-postgresql

마이그레이션 프로세스가 완료되면 Aurora PostgreSQL 클러스터에 채워진 프라이머리 DB 인스턴스가 있습니다.

Aurora 읽기 전용 복제본을 사용하여 RDS for PostgreSQL DB 인스턴스의 데이터를 Aurora PostgreSQL DB 클러스터로 마이그레이션

마이그레이션 프로세스용 Aurora 읽기 전용 복제본을 사용하여 새로운 Aurora PostgreSQL DB 클러스터의 기반으로 RDS for PostgreSQL DB 인스턴스를 사용할 수 있습니다. Aurora 읽기 전용 복제본 옵션은 동일한 AWS 리전 및 계정 내에서 마이그레이션하는 데 만 사용할 수 있으며, 리전에서 RDS for PostgreSQL DB 인스턴스에 대해 호환되는 버전의 Aurora PostgreSQL DB 인스턴스를 제공하는 경우에만 사용할 수 있습니다. 여기에서 호환은 Aurora PostgreSQL 버전이 RDS for PostgreSQL 버전과 동일하거나 동일한 메이저 버전 제품군에서 더 높은 마이너 버전임을 의미합니다.

예를 들어 이 기술을 사용하여 RDS for PostgreSQL 11.14 DB 인스턴스를 마이그레이션하려면 리전에서 PostgreSQL 버전 11 제품군의 Aurora PostgreSQL 버전 11.14 이상의 마이너 버전을 제공해야 합니다.

Aurora 읽기 전용 복제본을 사용한 데이터 마이그레이션 개요

RDS for PostgreSQL DB 인스턴스에서 Aurora PostgreSQL DB 클러스터로의 마이그레이션은 절차가 여러 단계 있습니다. 먼저 소스 RDS for PostgreSQL DB 인스턴스의 Aurora 읽기 전용 복제본을 생성합니다. 그러면 RDS for PostgreSQL DB 인스턴스에서 복제본 클러스터로 알려진 특수 용도 DB 클러스터로 복제 프로세스를 시작합니다. 복제본 클러스터는 Aurora 읽기 전용 복제본(리더 인스턴스)로만 구성됩니다.

복제본 클러스터가 존재하면 클러스터와 소스 RDS for PostgreSQL DB 인스턴스 간의 지연을 모니터링합니다. 복제본 지연이 0일 때 복제본 클러스터를 승격할 수 있습니다. 복제가 중지되고, 복제본 클러스터가 독립 실행형 Aurora DB 클러스터로 승격되고, 리더가 클러스터의 라이터 인스턴스로 승격됩니다. 그런 다음 Aurora PostgreSQL DB 클러스터에 인스턴스를 추가하여 사용 사례에 맞게 Aurora PostgreSQL DB 클러스터의 크기를 조정할 수 있습니다. RDS for PostgreSQL DB 인스턴스를 더 이상 사용하지 않는 경우 삭제할 수도 있습니다.

참고

마이그레이션이 완료되려면 데이터의 테라바이트당 몇 시간이 걸릴 수 있습니다.

RDS for PostgreSQL DB 인스턴스에 Aurora 읽기 전용 복제본이 이미 있거나 교차 리전 읽기 전용 복제본이 있는 경우 Aurora 읽기 전용 복제본을 생성할 수 없습니다.

Aurora 읽기 전용 복제본을 사용한 데이터 마이그레이션 준비

Aurora 읽기 전용 복제본을 사용하는 마이그레이션 프로세스 중에 소스 RDS for PostgreSQL DB 인스턴스에 적용된 업데이트는 복제본 클러스터의 Aurora 읽기 전용 복제본에 비동기식으로 복제됩니다. 이 프로세스는 소스 인스턴스에 미리 쓰기 로그(WAL) 세그먼트를 저장하는 PostgreSQL의 기본 스트리밍 복제 기능을 사용합니다. 이 마이그레이션 프로세스를 시작하기 전에 테이블에 나열된 지표 값을 확인하여 인스턴스의 스토리지 용량이 충분한지 확인해야 합니다.

지표 설명

FreeStorageSpace

사용 가능한 스토리지 공간.

단위: 바이트

OldestReplicationSlotLag

가장 지연된 복제본에 있는 WAL 데이터의 지연 크기.

단위: 메가바이트

RDSToAuroraPostgreSQLReplicaLag

Aurora PostgreSQL DB 클러스터가 원본 RDS DB 인스턴스보다 늦어지는 시간(초).

TransactionLogsDiskUsage

트랜잭션 로그에 사용된 디스크 공간.

단위: 메가바이트

RDS 인스턴스 모니터링에 대한 자세한 내용은 Amazon RDS 사용 설명서에서 모니터링 단원을 참조하십시오.

Aurora 읽기 전용 복제본 생성

RDS for PostgreSQL DB 인스턴스의 Aurora 읽기 전용 복제본은 AWS Management Console 또는 AWS CLI를 사용해 생성할 수 있습니다. AWS Management Console을 사용하여 Aurora 읽기 전용 복제본을 생성하는 옵션은 AWS 리전에서 호환되는 Aurora PostgreSQL 버전을 제공하는 경우에만 이용 가능합니다. 이 경우, Aurora PostgreSQL 버전이 RDS for PostgreSQL 버전과 동일하거나 동일한 주 버전 제품군에서 더 높은 마이너 버전일 경우에만 가능합니다.

원본 PostgreSQL DB 인스턴스에서 Aurora 읽기 전용 복제본을 생성하는 방법은 다음과 같습니다.
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

  3. Aurora 읽기 전용 복제본의 소스로 사용할 RDS for PostgreSQL DB 인스턴스를 선택합니다. 작업에서 Aurora 읽기 전용 복제본 생성을 선택합니다. 이 선택 항목이 표시되지 않으면 호환되는 Aurora PostgreSQL 버전이 리전에서 사용할 수 없음을 의미합니다.

    
                                    Aurora 읽기 전용 복제본 생성
  4. Aurora 읽기 전용 복제본 설정 생성 페이지에서 다음 표와 같이 Aurora PostgreSQL DB 클러스터의 속성을 구성합니다. 복제본 DB 클러스터는 소스 DB 인스턴스의 스냅샷으로 소스와 동일한 '마스터' 사용자 이름과 암호를 사용하여 만드는 것이기 때문에 현재는 변경할 수 없습니다.

    옵션 설명

    DB 인스턴스 클래스

    DB 클러스터의 기본 인스턴스에 대한 처리 및 메모리 요건을 충족하는 DB 인스턴스 클래스를 선택합니다. 자세한 내용은 Aurora DB 인스턴스 클래스 섹션을 참조하세요.

    다중 AZ 배포

    마이그레이션 중에는 사용할 수 없음

    DB 인스턴스 식별자

    DB 인스턴스에 부여할 이름을 입력합니다. 이 식별자는 새 DB 클러스터의 기본 인스턴스에 대한 엔드포인트 주소로 사용됩니다.

    DB 인스턴스 식별자는 다음과 같은 제약 조건이 있습니다.

    • 1–63자의 영숫자 또는 하이픈으로 구성되어야 합니다.

    • 첫 번째 문자는 글자이어야 합니다.

    • 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.

    • 개별 AWS 리전별로 각 AWS 계정의 모든 DB 인스턴스에 대해 고유해야 합니다.

    Virtual Private Cloud(VPC)

    DB 클러스터를 호스팅할 VPC를 선택합니다. Amazon RDS에서 VPC를 생성하도록 하려면 새 VPC 생성을 선택합니다. 자세한 내용은 DB 클러스터 사전 조건 섹션을 참조하세요.

    DB 서브넷 그룹

    DB 클러스터에 사용할 DB 서브넷 그룹을 선택합니다. Amazon RDS에서 자동으로 DB 서브넷 그룹을 생성하도록 하려면 새 DB 서브넷 그룹 생성을 선택합니다. 자세한 내용은 DB 클러스터 사전 조건 단원을 참조하세요.

    퍼블릭 액세스 가능성

    DB 클러스터에 퍼블릭 IP 주소를 할당하려면 [예(Yes)]를 선택하고 그렇지 않으면 [아니요(No)]를 선택합니다. DB 클러스터의 인스턴스는 퍼블릭 DB 인스턴스와 프라이빗 DB 인스턴스를 모두 조합하여 사용할 수 있습니다. 모든 사용자의 액세스에서 인스턴스를 숨기는 방법에 대한 자세한 내용은 VPC에 있는 DB 클러스터를 인터넷에서 숨기기 단원을 참조하십시오.

    가용 영역

    특정 가용 영역의 지정 여부를 결정합니다. 가용 영역에 대한 자세한 내용은 리전 및 가용 영역 단원을 참조하십시오.

    VPC 보안 그룹

    VPC 보안 그룹을 한 개 이상 선택하여 DB 클러스터에 대한 네트워크 액세스를 보안합니다. Amazon RDS에서 VPC 보안 그룹을 생성하게 하려면 새 VPC 보안 그룹 생성을 선택합니다. 자세한 내용은 DB 클러스터 사전 조건 섹션을 참조하세요.

    데이터베이스 포트

    애플리케이션과 유틸리티가 데이터베이스에 액세스할 때 사용할 포트를 지정합니다. Aurora PostgreSQL DB 클러스터는 기본적으로 PostgreSQL 포트, 5432로 지정됩니다. 일부 기업에서는 방화벽으로 이 포트에 대한 연결을 차단합니다. 이처럼 기업 방화벽이 기본 포트를 차단할 경우 새로운 DB 클러스터에 다른 포트를 선택해야 합니다.

    DB 파라미터 그룹

    Aurora PostgreSQL DB 클러스터에 사용할 DB 파라미터 그룹을 선택합니다. Aurora에 사용할 수 있는 기본 파라미터 그룹이 포함되어 있거나, 직접 파라미터 그룹을 생성할 수 있습니다. DB 파라미터 그룹에 대한 자세한 내용은 파라미터 그룹 작업 단원을 참조하십시오.

    DB 클러스터 파라미터 그룹

    Aurora PostgreSQL DB 클러스터에 사용할 DB 클러스터 파라미터 그룹을 선택합니다. Aurora는 기본값으로 사용할 수 있는 DB 클러스터 파라미터 그룹을 제공하며, 자체 DB 클러스터 파라미터 그룹을 생성할 수도 있습니다. DB 클러스터 파라미터 그룹에 대한 자세한 내용은 파라미터 그룹 작업 단원을 참조하십시오.

    암호화

    새 Aurora DB 클러스터를 유휴 상태에서 암호화하려면 암호화 활성화를 선택합니다. 암호화 사용을 선택한 경우 KMS 키를 AWS KMS key 값으로 선택합니다.

    우선 순위

    DB 클러스터의 장애 조치 우선 순위를 선택합니다. 값을 선택하지 않을 경우 기본값은 tier-1입니다. 기본 인스턴스의 결함으로부터 복구할 때 이 우선 순위에 따라 Aurora 복제본이 승격되는 순서가 결정됩니다. 자세한 내용은 Aurora DB 클러스터의 내결함성 섹션을 참조하세요.

    백업 보관 기간

    Aurora가 데이터베이스 백업 사본을 보관하는 기간을 1~35일로 선택합니다. 백업 사본은 데이터베이스를 마지막 특정 시점으로 복구(PITR)하는 데 사용됩니다.

    확장 모니터링

    DB 클러스터가 실행되는 운영 체제에 대한 실시간 지표 수집을 활성화하려면 [Enable enhanced monitoring]을 선택합니다. 자세한 내용은 Enhanced Monitoring을 사용하여 OS 지표 모니터링 섹션을 참조하세요.

    역할 모니터링

    확장 모니터링 활성화를 선택하는 경우에만 사용할 수 있습니다. Enhanced Monitoring에 사용할 AWS Identity and Access Management(IAM) 역할입니다. 자세한 내용은 Enhanced Monitoring 설정 및 활성화 섹션을 참조하세요.

    세부 수준

    확장 모니터링 활성화를 선택하는 경우에만 사용할 수 있습니다. DB 클러스터에 대해 지표를 수집하는 간격(초)을 설정하십시오.

    마이너 버전 자동 업그레이드

    PostgreSQL DB 엔진의 마이너 버전 업그레이드가 있을 때 Aurora PostgreSQL DB 클러스터가 자동으로 업그레이드를 받도록 하려면 를 선택합니다.

    마이너 버전 자동 업그레이드 옵션은 Aurora PostgreSQL DB 클러스터에 대해 PostgreSQL 엔진 마이너 버전으로의 업그레이드에만 적용됩니다. 시스템 안정성 유지를 위한 정기 패치에는 적용되지 않습니다.

    유지보수 윈도우

    시스템 유지 관리를 실행하는 기간을 주 단위로 선택합니다.

  5. Create read replica(읽기 전용 복제본 생성)를 선택합니다.

AWS CLI를 사용하여 소스 RDS for PostgreSQL 인스턴스에서 Aurora 읽기 전용 복제본을 생성하려면 먼저 create-db-cluster CLI 명령을 사용하여 빈 Aurora DB 클러스터를 생성합니다. DB 클러스터가 존재하면 create-db-instance 명령을 사용하여 DB 클러스터의 기본 인스턴스를 생성합니다. 기본 인스턴스는 클러스터에 생성된 최초의 Aurora DB 인스턴스입니다. 이 경우 처음에는 RDS for PostgreSQL DB 인스턴스의 Aurora 읽기 전용 복제본으로 생성됩니다. 프로세스가 끝나면 RDS for PostgreSQL DB 인스턴스는 Aurora PostgreSQL DB 클러스터로 효과적으로 마이그레이션된 상태입니다.

기본 사용자 계정(일반적으로 postgres), 암호 또는 데이터베이스 이름을 지정할 필요가 없습니다. Aurora 읽기 전용 복제본이 사용자가 AWS CLI 명령을 호출할 때 식별되는 소스 RDS for PostgreSQL DB 인스턴스에서 자동으로 해당 정보를 가져옵니다.

Aurora PostgreSQL DB 클러스터와 DB 인스턴스에 사용할 엔진 버전은 사용자가 지정해야 합니다. 지정한 버전은 소스 RDS for PostgreSQL DB 인스턴스와 일치해야 합니다. 소스 RDS for PostgreSQL DB 인스턴스가 암호화되면 Aurora PostgreSQL DB 클러스터 기본 인스턴스에 대한 암호화도 지정해야 합니다. 암호화된 인스턴스를 암호화되지 않은 Aurora DB 클러스터로 마이그레이션하는 것은 지원되지 않습니다.

다음 예제는 암호화되지 않은 RDS DB 원본 인스턴스를 사용하는 my-new-aurora-cluster라는 Aurora PostgreSQL DB 클러스터를 생성합니다. 먼저 create-db-cluster CLI 명령을 호출하여 Aurora PostgreSQL DB 클러스터를 생성합니다. 이 예에서는 선택적으로 --storage-encrypted 파라미터를 사용하여 DB 클러스터를 암호화해야 한다는 것을 지정하는 방법을 보여줍니다. 소스 DB가 암호화되지 않았기 때문에 사용할 키를 지정하는 데 --kms-key-id가 사용됩니다. 필수 및 선택적 파라미터에 대한 자세한 내용은 예시 아래의 목록을 참조하세요.

Linux, macOS, Unix:

aws rds create-db-cluster \ --db-cluster-identifier my-new-aurora-cluster \ --db-subnet-group-name my-db-subnet --vpc-security-group-ids sg-11111111 --engine aurora-postgresql \ --engine-version same-as-your-rds-instance-version \ --replication-source-identifier arn:aws:rds:aws-region:111122223333:db/rpg-source-db \ --storage-encrypted \ --kms-key-id arn:aws:kms:aws-region:111122223333:key/11111111-2222-3333-444444444444

Windows의 경우:

aws rds create-db-cluster ^ --db-cluster-identifier my-new-aurora-cluster ^ --db-subnet-group-name my-db-subnet ^ --vpc-security-group-ids sg-11111111 ^ --engine aurora-postgresql ^ --engine-version same-as-your-rds-instance-version ^ --replication-source-identifier arn:aws:rds:aws-region:111122223333:db/rpg-source-db ^ --storage-encrypted ^ --kms-key-id arn:aws:kms:aws-region:111122223333:key/11111111-2222-3333-444444444444

다음 목록에서 예시에 표시된 일부 옵션에 대한 자세한 정보를 찾을 수 있습니다. 별도로 지정하지 않는 한 이러한 파라미터가 필요합니다.

  • --db-cluster-identifier - 새 Aurora PostgreSQL DB 클러스터에 이름을 지정해야 합니다.

  • --db-subnet-group-name - 소스 DB 인스턴스와 동일한 DB 서브넷에 Aurora PostgreSQL DB 클러스터를 생성합니다.

  • --vpc-security-group-ids - Aurora PostgreSQL DB 클러스터의 보안 그룹을 지정합니다.

  • --engine-version - Aurora PostgreSQL DB 클러스터에 사용할 버전을 지정합니다. 소스 RDS for PostgreSQL DB 인스턴스에서 사용하는 버전과 같아야 합니다.

  • --replication-source-identifier - Amazon 리소스 이름(ARN)을 사용하여 RDS for PostgreSQL DB 인스턴스를 식별합니다. Amazon RDS ARN에 대한 자세한 내용은 DB 클러스터의 AWS 일반 참조에서 Amazon Relational Database Service(RDS) 섹션을 참조하세요.

  • --storage-encrypted – 선택 사항. 암호화를 지정하는 데 필요한 경우에만 다음과 같이 사용합니다.

    • 소스 DB 인스턴스에 암호화된 스토리지가 있는 경우 이 파라미터를 사용합니다. 암호화된 스토리지가 있는 소스 DB 인스턴스에서 이 파라미터를 사용하지 않으면 create-db-cluster에 대한 호출이 실패합니다. Aurora PostgreSQL DB 클러스터에 소스 DB 인스턴스에서 사용하는 키와 다른 키를 사용하려면 --kms-key-id도 지정해야 합니다.

    • 소스 DB 인스턴스의 스토리지가 암호화되지 않았지만 Aurora PostgreSQL DB 클러스터에서 암호화를 사용하도록 하려는 경우에 사용합니다. 그렇다면 --kms-key-id 파라미터와 함께 사용할 암호화 키도 식별해야 합니다.

  • --kms-key-id – 선택 사항. 사용할 경우 ARN, ID, 별칭 ARN 또는 해당 별칭 이름을 사용하여 스토리지 암호화(--storage-encrypted)에 사용할 키를 지정할 수 있습니다. 이 파라미터는 다음 상황에서만 필요합니다.

    • Aurora PostgreSQL DB 클러스터에 대해 소스 DB 인스턴스에서 사용하는 키와 다른 키를 선택합니다.

    • 암호화되지 않은 소스에서 암호화된 클러스터를 만드는 방법 이 경우 Aurora PostgreSQL이 암호화에 사용해야 하는 키를 지정해야 합니다.

Aurora PostgreSQL DB 클러스터를 생성한 후 다음과 같이 create-db-instance CLI 명령을 사용하여 기본 인스턴스를 생성합니다.

Linux, macOS, Unix:

aws rds create-db-instance \ --db-cluster-identifier my-new-aurora-cluster \ --db-instance-class db.x2g.16xlarge \ --db-instance-identifier rpg-for-migration \ --engine aurora-postgresql

Windows의 경우:

aws rds create-db-instance ^ --db-cluster-identifier my-new-aurora-cluster ^ --db-instance-class db.x2g.16xlarge ^ --db-instance-identifier rpg-for-migration ^ --engine aurora-postgresql

다음 목록에서 예시에 표시된 일부 옵션에 대한 자세한 정보를 찾을 수 있습니다.

  • --db-cluster-identifier - 이전 단계에서 create-db-instance 명령으로 생성한 Aurora PostgreSQL DB 클러스터의 이름을 지정합니다.

  • --db-instance-class - 기본 인스턴스에 사용할 DB 인스턴스 클래스의 이름입니다(예: db.r4.xlarge, db.t4g.medium, db.x2g.16xlarge 등). 사용 가능한 인스턴스 클래스 목록은 DB 인스턴스 클래스 유형 섹션을 참조하세요.

  • --db-instance-identifier - 기본 인스턴스의 이름을 지정합니다.

  • --engine aurora-postgresql - 엔진에 대한 aurora-postgresql을 지정합니다.

소스 RDS for PostgreSQL DB 인스턴스에서 Aurora 읽기 전용 복제본을 생성하려면 먼저 CreateDBCluster RDS API 작업을 사용하여 소스 RDS for PostgreSQL DB 인스턴스에서 생성되는 Aurora 읽기 전용 복제본의 새 Aurora DB 클러스터를 생성합니다. Aurora PostgreSQL DB 클러스터를 사용할 수 있게 되면 CreateDBInstance를 사용하여 Aurora DB 클러스터의 기본 인스턴스를 생성합니다.

기본 사용자 계정(일반적으로 postgres), 암호 또는 데이터베이스 이름을 지정할 필요가 없습니다. Aurora 읽기 전용 복제본이 사용자가 ReplicationSourceIdentifier로 지정된 소스 RDS for PostgreSQL DB 인스턴스에서 자동으로 해당 정보를 가져옵니다.

Aurora PostgreSQL DB 클러스터와 DB 인스턴스에 사용할 엔진 버전은 사용자가 지정해야 합니다. 지정한 버전은 소스 RDS for PostgreSQL DB 인스턴스와 일치해야 합니다. 소스 RDS for PostgreSQL DB 인스턴스가 암호화되면 Aurora PostgreSQL DB 클러스터 기본 인스턴스에 대한 암호화도 지정해야 합니다. 암호화된 인스턴스를 암호화되지 않은 Aurora DB 클러스터로 마이그레이션하는 것은 지원되지 않습니다.

Aurora 읽기 전용 복제본의 Aurora DB 클러스터를 생성하려면 다음 파라미터와 함께 CreateDBCluster RDS API 작업을 사용합니다.

  • DBClusterIdentifier - 생성할 DB 클러스터의 이름입니다.

  • DBSubnetGroupName - 이 DB 클러스터와 연결할 DB 서브넷 그룹의 이름입니다.

  • Engine=aurora-postgresql - 사용할 엔진 이름입니다.

  • ReplicationSourceIdentifier - 원본 PostgreSQL DB 인스턴스의 Amazon 리소스 이름(ARN)입니다. Amazon RDS ARN에 대한 자세한 내용은 Amazon Web Services 일반 참조에서 Amazon Relational Database Service(RDS) 섹션을 참조하세요. ReplicationSourceIdentifier가 암호화된 소스를 식별하는 경우, 사용자가 KmsKeyId 옵션을 사용하여 다른 키를 지정하지 않는 한 Amazon RDS가 기본 KMS 키를 사용합니다.

  • VpcSecurityGroupIds - DB 클러스터와 연결할 Amazon EC2 VPC 보안 그룹 목록입니다.

  • StorageEncrypted - DB 클러스터의 암호화 여부를 나타냅니다. ReplicationSourceIdentifier를 지정하지 않고 이 파라미터를 사용할 경우, Amazon RDS는 기본 KMS 키를 사용합니다.

  • KmsKeyId - 암호화된 클러스터의 키입니다. 사용할 경우 ARN, ID, 별칭 ARN 또는 해당 별칭 이름을 사용하여 스토리지 암호화에 사용할 키를 지정할 수 있습니다.

자세한 내용은 Amazon RDS API 참조에서 CreateDBCluster 섹션을 참조하세요.

Aurora DB 클러스터를 사용할 수 있게 되면 CreateDBInstance RDS API 작업을 다음 파라미터와 함께 사용하여 기본 인스턴스를 생성할 수 있습니다.

  • DBClusterIdentifier - DB 클러스터의 이름입니다.

  • DBInstanceClass - 기본 인스턴스에 사용할 DB 인스턴스 클래스의 이름입니다.

  • DBInstanceIdentifier - 기본 인스턴스의 이름입니다.

  • Engine=aurora-postgresql - 사용할 엔진 이름입니다.

자세한 내용은 Amazon RDS API 참조에서 CreateDBInstance 섹션을 참조하세요.

Aurora 읽기 전용 복제본 승격

Aurora PostgreSQL로의 마이그레이션은 복제본 클러스터를 승격하기 전까지는 완료되지 않으므로 RDS for PostgreSQL 소스 DB 인스턴스를 아직 삭제하지 마세요.

복제본 클러스터를 승격하기 전에 RDS for PostgreSQL DB 인스턴스에 진행 중인 트랜잭션이나 데이터베이스 쓰기 작업이 없는지 확인하세요. Aurora 읽기 전용 복제본의 복제본 지연이 0일 때 복제본 클러스터를 승격할 수 있습니다. 복제본 지연 모니터링에 대한 자세한 내용은 Aurora PostgreSQL 복제 모니터링Amazon Aurora에 대한 인스턴스 수준 지표 섹션을 참조하세요.

Aurora 읽기 전용 복제본을 Aurora DB 클러스터로 승격시키려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 Databases(데이터베이스)를 선택합니다.

  3. 복제본 클러스터를 선택합니다.

    
                                    복제본 클러스터를 전체 Aurora PostgreSQL DB 클러스터 상태로 승격
  4. Actions(작업)에서 Promote(승격)를 선택합니다. 몇 분 정도 소요될 수 있으며 가동 중지가 발생할 수 있습니다.

프로세스가 완료되면 Aurora 복제본 클러스터는 Regional Aurora PostgreSQL DB 클러스터이며, 라이터 인스턴스에는 RDS for PostgreSQL DB 인스턴스의 데이터가 들어 있습니다.

Aurora 읽기 전용 복제본을 독립형 DB 클러스터로 승격하려면 promote-read-replica-db-cluster AWS CLI 명령을 사용합니다.

Linux, macOS, Unix:

aws rds promote-read-replica-db-cluster \ --db-cluster-identifier myreadreplicacluster

Windows의 경우:

aws rds promote-read-replica-db-cluster ^ --db-cluster-identifier myreadreplicacluster

Aurora 읽기 복제본을 독립형 DB 클러스터로 승격하려면 RDS API 작업 PromoteReadReplicaDBCluster를 사용합니다.

복제본 클러스터를 승격한 후 다음과 같이 이벤트 로그를 확인하여 승격이 완료되었는지 확인할 수 있습니다.

Aurora 복제본이 승격되었는지 확인하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 Events(이벤트) 를 선택합니다.

  3. 이벤트 페이지에서 소스(Source) 목록의 해당 클러스터 이름을 찾습니다. 각 이벤트에는 소스, 유형, 시간 및 메시지가 있습니다. 계정의 AWS 리전에서 발생한 모든 이벤트를 볼 수 있습니다. 승격에 성공하면 다음 메시지가 생성됩니다.

    Promoted Read Replica cluster to a stand-alone database cluster.

승격이 완료된 후에는 소스 RDS for PostgreSQL DB 인스턴스와 Aurora PostgreSQL DB 클러스터 링크가 해제됩니다. 클라이언트 애플리케이션을 Aurora 읽기 전용 복제본의 엔드포인트로 보낼 수 있습니다. Aurora 엔드포인트에 대한 자세한 내용은 Amazon Aurora 연결 관리 단원을 참조하세요. 이때 DB 인스턴스를 안전하게 삭제할 수 있습니다.