읽기 전용 복제본을 사용하여 다중 AZ DB 클러스터로 마이그레이션 - Amazon Relational Database Service

읽기 전용 복제본을 사용하여 다중 AZ DB 클러스터로 마이그레이션

단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포를 다중 AZ DB 클러스터 배포로 마이그레이션하여 가동 중지 시간을 줄이려면 다중 AZ DB 클러스터 읽기 전용 복제본을 생성할 수 있습니다. 소스의 경우 단일 AZ 배포의 DB 인스턴스 또는 다중 AZ DB 인스턴스 배포의 기본 DB 인스턴스를 지정합니다. DB 인스턴스는 다중 AZ DB 클러스터로의 마이그레이션 중에 쓰기 트랜잭션을 처리할 수 있습니다.

다중 AZ DB 클러스터 읽기 전용 복제본을 생성하기 전에 다음 사항을 고려하세요.

  • 소스 DB 인스턴스는 다중 AZ DB 클러스터를 지원하는 버전에 있어야 합니다. 자세한 내용은 Amazon RDS에서 다중 AZ DB 클러스터를 지원하는 리전 및 DB 엔진 단원을 참조하십시오.

  • 다중 AZ DB 클러스터 읽기 전용 복제본은 소스와 동일한 메이저 버전 또는 같거나 더 높은 마이너 버전에 있어야 합니다.

  • 백업 보존 기간을 0이 아닌 다른 값으로 설정하여 소스 DB 인스턴스의 자동 백업을 켜야 합니다.

  • 소스 DB 인스턴스의 할당된 스토리지는 100GiB 이상이어야 합니다.

  • RDS for MySQL의 경우 소스 DB 인스턴스에 대해 gtid-modeenforce_gtid_consistency 파라미터를 모두 ON으로 설정해야 합니다. 기본 파라미터 그룹이 아니라 사용자 지정 파라미터 그룹을 사용해야 합니다. 자세한 내용은 Amazon RDS DB 인스턴스용 DB 파라미터 그룹 단원을 참조하십시오.

  • 활성 상태의 장기 실행 트랜잭션은 읽기 전용 복제본 생성 프로세스를 늦출 수 있습니다. 읽기 전용 복제본을 생성하기 전에 장기 실행 트랜잭션이 완료되기를 기다리는 것이 좋습니다.

  • 다중 AZ DB 클러스터 읽기 전용 복제본의 소스 DB 인스턴스를 삭제하는 경우 읽기 전용 복제본이 독립된 다중 AZ DB 클러스터로 승격됩니다.

다중 AZ DB 클러스터 읽기 전용 복제본 생성 및 승격

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 다중 AZ DB 클러스터를 생성하고 승격할 수 있습니다.

참고

모든 읽기 전용 복제본은 소스 DB 인스턴스와 동일한 Amazon VPC 기반의 Virtual Private Cloud(VPC)에 생성하는 것이 좋습니다.

소스 DB 인스턴스와 다른 VPC에 읽기 전용 복제본을 생성하는 경우 Classless Inter-Domain Routing(CIDR) 범위가 복제본과 RDS 시스템 간에 겹칠 수 있습니다. CIDR이 겹치면 복제본이 불안정해져 복제본에 연결하는 애플리케이션에 부정적인 영향을 줄 수 있습니다. 읽기 전용 복제본을 생성할 때 오류가 발생하면 다른 대상 DB 서브넷 그룹을 선택합니다. 자세한 내용은 VPC에서 DB 인스턴스를 사용한 작업 단원을 참조하십시오.

읽기 전용 복제본을 사용하여 단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포를 다중 AZ DB 클러스터로 마이그레이션하려면 AWS Management Console을 사용하여 다음 단계를 완료합니다.

  1. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

  2. 다중 AZ DB 클러스터 읽기 전용 복제본을 생성합니다.

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

    2. 읽기 전용 복제본의 소스로 사용할 DB 인스턴스를 선택합니다.

    3. 작업에서 읽기 전용 복제본 만들기를 선택합니다.

    4. Availability and durability(가용성 및 내구성)에서 Multi-AZ DB cluster(다중 AZ DB 클러스터)를 선택합니다.

    5. DB 인스턴스 식별자에 읽기 전용 복제본의 이름을 입력합니다.

    6. 나머지 섹션에서 DB 클러스터 설정을 지정합니다. 설정에 대한 자세한 내용은 다중 AZ DB 클러스터를 생성하기 위한 설정 섹션을 참조하세요.

    7. 읽기 전용 복제본 생성을 선택합니다.

  3. 준비가 되면 읽기 복제본을 독립형 다중 AZ DB 클러스터로 승격합니다.

    1. 어떤 트랜잭션도 소스 DB 인스턴스에 쓰지 못하도록 한 후 읽기 전용 복제본의 업데이트가 모두 끝날 때까지 기다립니다.

      읽기 전용 복제본에서 수행된 데이터베이스 업데이트는 기본 DB 인스턴스의 업데이트가 끝난 후에 이어집니다. 이 복제 지연은 서로 크게 다를 수 있습니다. ReplicaLag 지표를 사용하여 읽기 전용 복제본의 업데이트가 모두 완료되는 시간을 측정합니다. 복제 지연에 대한 자세한 내용은 읽기 전용 복제본 모니터링 섹션을 참조하세요.

    2. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

    3. Amazon RDS 콘솔에서 데이터베이스를 선택합니다.

      데이터베이스 창이 표시됩니다. 각 읽기 전용 복제본은 역할 열에 복제본이라고 표시됩니다.

    4. 승격하려는 다중 AZ DB 클러스터 읽기 전용 복제본을 선택합니다.

    5. Actions(작업)에서 Promote(승격)를 선택합니다.

    6. Promote read replica(읽기 전용 복제본 승격) 페이지에서 새롭게 승격된 다중 AZ DB 클러스터의 백업 보존 기간과 백업 기간을 입력합니다.

    7. 원하는 대로 설정되었으면 Promote read replica(읽기 전용 복제본 승격)를 선택합니다.

    8. 승격된 다중 AZ DB 클러스터의 상태가 Available이 될 때까지 기다립니다.

    9. 애플리케이션이 승격된 다중 AZ DB 클러스터를 사용하도록 설정합니다.

    더 이상 필요하지 않은 경우 선택적으로 단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포를 삭제하세요. 지침은 DB 인스턴스 삭제 단원을 참조하십시오.

읽기 전용 복제본을 사용하여 단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포를 다중 AZ DB 클러스터로 마이그레이션하려면 AWS CLI을 사용하여 다음 단계를 완료합니다.

  1. 다중 AZ DB 클러스터 읽기 전용 복제본을 생성합니다.

    소스 DB 인스턴스에서 읽기 복제본을 생성하려면 AWS CLI 명령 create-db-cluster를 사용합니다. --replication-source-identifier의 경우 소스 DB 인스턴스의 Amazon 리소스 이름(ARN)을 지정합니다.

    대상 LinuxmacOS, 또는Unix:

    aws rds create-db-cluster \ --db-cluster-identifier mymultiazdbcluster \ --replication-source-identifier arn:aws:rds:us-east-2:123456789012:db:mydbinstance --engine postgres \ --db-cluster-instance-class db.m5d.large \ --storage-type io1 \ --iops 1000 \ --db-subnet-group-name defaultvpc \ --backup-retention-period 1

    Windows의 경우:

    aws rds create-db-cluster ^ --db-cluster-identifier mymultiazdbcluster ^ --replication-source-identifier arn:aws:rds:us-east-2:123456789012:db:mydbinstance --engine postgres ^ --db-cluster-instance-class db.m5d.large ^ --storage-type io1 ^ --iops 1000 ^ --db-subnet-group-name defaultvpc ^ --backup-retention-period 1
  2. 어떤 트랜잭션도 소스 DB 인스턴스에 쓰지 못하도록 한 후 읽기 전용 복제본의 업데이트가 모두 끝날 때까지 기다립니다.

    읽기 전용 복제본에서 수행된 데이터베이스 업데이트는 기본 DB 인스턴스의 업데이트가 끝난 후에 이어집니다. 이 복제 지연은 서로 크게 다를 수 있습니다. Replica Lag 지표를 사용하여 읽기 전용 복제본의 업데이트가 모두 완료되는 시간을 측정합니다. 복제 지연에 대한 자세한 내용은 읽기 전용 복제본 모니터링 섹션을 참조하세요.

  3. 준비가 되면 읽기 복제본을 독립형 다중 AZ DB 클러스터로 승격합니다.

    다중 AZ DB 클러스터 읽기 전용 복제본을 승격하려면 AWS CLI 명령 promote-read-replica-db-cluster를 사용합니다. --db-cluster-identifier의 경우 다중 AZ DB 클러스터 읽기 전용 복제의 식별자를 지정합니다.

    aws rds promote-read-replica-db-cluster --db-cluster-identifier mymultiazdbcluster
  4. 승격된 다중 AZ DB 클러스터의 상태가 Available이 될 때까지 기다립니다.

  5. 애플리케이션이 승격된 다중 AZ DB 클러스터를 사용하도록 설정합니다.

더 이상 필요하지 않은 경우 선택적으로 단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포를 삭제하세요. 지침은 DB 인스턴스 삭제 단원을 참조하십시오.

읽기 전용 복제본을 사용하여 단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포를 다중 AZ DB 클러스터로 마이그레이션하려면 RDS API를 사용하여 다음 단계를 완료합니다.

  1. 다중 AZ DB 클러스터 읽기 전용 복제본을 생성합니다.

    다중 AZ DB 클러스터 읽기 전용 복제본을 생성하려면 필요한 파라미터 DBClusterIdentifier와 함께 CreateDBCluster 작업을 사용합니다. ReplicationSourceIdentifier의 경우 소스 DB 인스턴스의 Amazon 리소스 이름(ARN)을 지정합니다.

  2. 어떤 트랜잭션도 소스 DB 인스턴스에 쓰지 못하도록 한 후 읽기 전용 복제본의 업데이트가 모두 끝날 때까지 기다립니다.

    읽기 전용 복제본에서 수행된 데이터베이스 업데이트는 기본 DB 인스턴스의 업데이트가 끝난 후에 이어집니다. 이 복제 지연은 서로 크게 다를 수 있습니다. Replica Lag 지표를 사용하여 읽기 전용 복제본의 업데이트가 모두 완료되는 시간을 측정합니다. 복제 지연에 대한 자세한 내용은 읽기 전용 복제본 모니터링 섹션을 참조하세요.

  3. 준비가 되면 읽기 복제본을 독립형 다중 AZ DB 클러스터로 승격합니다.

    다중 AZ DB 클러스터 읽기 전용 복제본을 승격하려면 필요한 파라미터 DBClusterIdentifier와 함께 PromoteReadReplicaDBCluster 작업을 사용합니다. 다중 AZ DB 클러스터 읽기 전용 복제의 식별자를 지정합니다.

  4. 승격된 다중 AZ DB 클러스터의 상태가 Available이 될 때까지 기다립니다.

  5. 애플리케이션이 승격된 다중 AZ DB 클러스터를 사용하도록 설정합니다.

더 이상 필요하지 않은 경우 선택적으로 단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포를 삭제하세요. 지침은 DB 인스턴스 삭제 단원을 참조하십시오.

다중 AZ DB 클러스터 읽기 전용 복제본 생성 시 제한

단일 AZ 배포 또는 다중 AZ DB 인스턴스 배포에서 다중 AZ DB 클러스터 읽기 전용 복제본을 생성하는 데는 다음과 같은 제한이 적용됩니다.

  • 소스 DB 인스턴스를 소유한 AWS 계정와 다른 AWS 계정에서는 다중 AZ DB 클러스터 읽기 전용 복제본을 생성할 수 없습니다.

  • 소스 DB 인스턴스와 다른 AWS 리전에는 다중 AZ DB 클러스터 읽기 전용 복제본을 생성할 수 없습니다.

  • 다중 AZ DB 클러스터 읽기 전용 복제본을 특정 시점으로 복구할 수 없습니다.

  • 스토리지 암호화는 소스 DB 인스턴스와 다중 AZ DB 클러스터에서 동일한 설정을 가져야 합니다.

  • 소스 DB 인스턴스가 암호화된 경우 다중 AZ DB 클러스터 읽기 전용 복제본은 동일한 KMS 키를 사용하여 암호화되어야 합니다.

  • 소스 DB 인스턴스가 범용 SSD(gp3) 스토리지를 사용하고 할당된 스토리지가 400GiB 미만인 경우 다중 AZ DB 클러스터 읽기 전용 복제본의 프로비저닝된 IOPS를 수정할 수 없습니다.

  • 소스 DB 인스턴스에서 마이너 버전 업그레이드를 수행하려면 먼저 다중 AZ DB 클러스터 읽기 전용 복제본에서 마이너 버전 업그레이드를 수행해야 합니다.

  • PostgreSQL 다중 AZ DB 클러스터 읽기 전용 복제본용 RDS에서 마이너 버전 업그레이드를 수행할 때, 업그레이드 후 리더 DB 인스턴스가 라이터 DB 인스턴스로 전환되지 않습니다. 따라서 Amazon RDS가 라이터 인스턴스를 업그레이드하는 동안 DB 클러스터에 가동 중지가 발생할 수 있습니다.

  • 다중 AZ DB 클러스터 읽기 전용 복제본에서 메이저 버전 업그레이드를 수행할 수 없습니다.

  • 다중 AZ DB 클러스터 읽기 전용 복제본의 소스 DB 인스턴스에서 메이저 버전 업그레이드를 수행할 수 있지만, 읽기 전용 복제본으로의 복제가 중지되고 다시 시작할 수 없습니다.

  • 다중 AZ DB 클러스터 읽기 전용 복제본은 읽기 전용 복제본 계단식 읽기를 지원하지 않습니다.

  • RDS for PostgreSQL의 경우 다중 AZ DB 클러스터 읽기 전용 복제본은 장애 조치할 수 없습니다.