AWS リージョン間での Amazon Aurora MySQL DB クラスターのレプリケーション - Amazon Aurora

AWS リージョン間での Amazon Aurora MySQL DB クラスターのレプリケーション

Amazon Aurora MySQL DB クラスターを、ソース DB クラスターとは異なる AWS リージョンにリードレプリカとして作成できます。このアプローチを使用すると、災害対策機能が向上し、ユーザーに近い AWS リージョンへの読み取りオペレーションをスケールして、AWS リージョン間の移行を容易にすることができます。

暗号化されている DB クラスターと暗号化されていない DB クラスターの両方のリードレプリカを作成できます。ソース DB クラスターが暗号化されている場合、リードレプリカを暗号化する必要があります。

ソース DB クラスターごとに、リードレプリカとすることができるクロスリージョン DB クラスターは最大 5 つです。

注記

クロスリージョンリードレプリカの代わりに Aurora グローバルデータベースを使用すると、最小のラグタイムで読み込みオペレーションをスケーリングできます。Aurora グローバルデータベースには、1 つの AWS リージョンにプライマリ Aurora DB クラスターがあり、異なるリージョンに最大 5 つの読み取り専用セカンダリ DB クラスターがあります。各セカンダリ DB クラスターには、最大 16 個の (15 ではなく) Aurora レプリカを含めることができます。プライマリ DB クラスターからすべてのセカンダリへのレプリケーションは、データベースエンジンではなく Aurora ストレージレイヤーによって処理されるため、変更をレプリケートする際のラグタイムは—通常は 1 秒未満で、最小となります。データベースエンジンをレプリケーションプロセスから除外するということは、データベースエンジンがワークロードの処理のみを実行することを意味します。また、Aurora MySQL の binlog (バイナリログ) のレプリケーションを設定または管理する必要もありません。詳細については、「Amazon Aurora グローバルデータベースの使用」を参照してください。

別の AWS リージョンに Aurora MySQL DB クラスターのリードレプリカを作成するときは、以下の点に注意してください。

  • ソース DB クラスターとクロスリージョンリードレプリカ DB クラスターのどちらにも、最大 15 個の Aurora レプリカを DB クラスターのプライマリインスタンスと同時に作成できます。この機能により、ソース AWS リージョンとレプリケーションターゲットの AWS リージョンの両方で、読み取りオペレーションをスケールできるようになります。

  • クロスリージョンシナリオでは、AWS リージョン間のネットワークチャネルが長くなるため、ソース DB クラスターとリードレプリカ間のラグタイムが長くなります。

  • クロスリージョンレプリケーションから転送されたデータには、Amazon RDS のデータ転送料金が発生します。以下のクロスリージョンレプリケーションアクションでは、ソース AWS リージョンから転送されるデータに対して料金が発生します。

    • リードレプリカを作成すると、Amazon RDS によってソースクラスターのスナップショットが取得され、リードレプリカを保持する AWS リージョンにスナップショットが転送されます。

    • ソースデータベースのデータが変更されるたびに、Amazon RDS によってソースリージョンからリードレプリカを保持する AWS リージョンにデータが転送されます。

    Amazon RDS データ転送料金の詳細については、「Amazon Aurora の料金」を参照してください。

  • 同じソース DB クラスターを参照するリードレプリカに対して、複数の同時作成または削除アクションを実行できます。ただし、ソース DB クラスターごとに作成できるリードレプリカは 5 つまでです。

  • レプリケーションを効率的に実行するには、各リードレプリカに、ソース DB クラスターと同程度のコンピューティングおよびストレージリソースが必要です。ソース DB クラスターを拡張した場合、リードレプリカも拡張する必要があります。

開始する前に

クロスリージョンリードレプリカとなる Aurora MySQL DB クラスターを作成する前に、Aurora MySQL DB クラスターでバイナリログ記録を有効にする必要があります。Aurora MySQL のクロスリージョンレプリケーションは、MySQL バイナリレプリケーションを使用してクロスリージョンリードレプリカ DB クラスターでの変更を再生します。

Aurora MySQL DB クラスターでバイナリログ記録を有効にするには、ソース DB クラスターの binlog_format パラメータを更新します。binlog_format パラメータはクラスターレベルのパラメータであり、デフォルトクラスターパラメータグループにあります。DB クラスターがデフォルトクラスター DB パラメータグループを使用している場合、新しい DB クラスターパラメータグループを作成して binlog_format 設定を変更します。binlog_formatMIXED に設定することをお勧めします。ただし、特定バイナリログ形式が必要な場合は binlog_formatROW または STATEMENT に設定する必要もあります。変更を適用するには、Aurora DB クラスターを再起動します。

詳細については、「Amazon Aurora の DB クラスターパラメータと DB インスタンスパラメータ」および「DB パラメータグループおよび DB クラスターパラメータグループを使用する」を参照してください。

クロスリージョンリードレプリカとなる Amazon Aurora MySQL DB クラスターの作成

AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、または Amazon RDS API を使用して、クロスリージョンリードレプリカである Aurora DB クラスターを作成できます。暗号化されている DB クラスターと暗号化されていない DB クラスターの両方からクロスリージョンリードレプリカを作成できます。

AWS マネジメントコンソール を使用して Aurora MySQL のクロスリージョンリードレプリカを作成すると、Amazon RDS によってターゲット AWS リージョンに DB クラスターが作成された後、その DB クラスターのプライマリインスタンスとなる DB インスタンスが自動的に作成されます。

AWS CLI または RDS API を使用してクロスリージョンリードレプリカを作成する場合は、まずターゲット AWS リージョンで DB クラスターを作成し、アクティブになるまで待機します。アクティブになったら、その DB クラスターのプライマリインスタンスとなる DB インスタンスを作成します。

レプリケーションは、リードレプリカ DB クラスターのプライマリインスタンスが使用可能になると開始されます。

Aurora MySQL DB クラスターからクロスリージョンリードレプリカを作成するには、以下の手順に従います。これらの手順は、暗号化されている DB クラスターまたは暗号化されていない DB クラスターからリードレプリカを作成するために使用できます。

AWS マネジメントコンソール を使用して、クロスリージョンリードレプリカとなる Aurora MySQL DB クラスターを作成するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. AWS マネジメントコンソール の右上隅で、ソース DB クラスターをホストする AWS リージョンを選択します。

  3. ナビゲーションペインで、[インスタンス] を選択します。

  4. クロスリージョンリードレプリカを作成する先の DB インスタンスのチェックボックスをオンにします。[アクション] で、[クロスリージョンのリードレプリカの作成] を選択します。

  5. [Create cross region read replica (クロスリージョンのリードレプリカの作成)] ページで、以下の表に示すように、クロスリージョンリードレプリカ DB クラスターのオプション設定を選択します。

    オプション 説明

    送信先リージョン

    新しいクロスリージョンリードレプリカ DB クラスターをホストする AWS リージョンを選択します。

    Destination DB subnet group

    クロスリージョンリードレプリカ DB クラスターで使用する DB サブネットグループを選択します。

    パブリックアクセス可能

    クロスリージョンリードレプリカ DB クラスターにパブリック IP アドレスを付与する場合は、[Yes (はい)] を選択します。それ以外の場合は、[No (いいえ)] を選択します。

    暗号化

    この DB クラスターを保管時に暗号化するには、[Enable Encryption] を選択します。詳細については、「Amazon Aurora リソースの暗号化」を参照してください。

    マスターキー

    [Encryption] が [Enable Encryption] に設定されている場合にのみ使用できます。この DB クラスターの暗号化に使用するにマスターキーを選択します。詳細については、「Amazon Aurora リソースの暗号化」を参照してください。

    DB インスタンスクラス

    DB クラスターのプライマリインスタンスに対する処理要件やメモリ要件を定義する DB インスタンスクラスを選択します。DB インスタンスクラスのオプションについては、「DB インスタンスクラス」を参照してください。

    マルチ AZ 配置

    [はい] を選択して、フェイルオーバーをサポートするためにターゲット AWS リージョン内の別のアベイラビリティーゾーンに新しい DB クラスターのリードレプリカを作成します。複数のアベイラビリティーゾーンの詳細については、「 リージョンとアベイラビリティーゾーン 」を参照してください。

    Read replica source

    クロスリージョンリードレプリカを作成するソース DB クラスターを選択します。

    DB インスタンス識別子

    クロスリージョンリードレプリカ DB クラスターのプライマリインスタンス名を入力します。この識別子は、新しい DB クラスターのプライマリインスタンスのエンドポイントアドレスで使用されます。

    DB インスタンス識別子には次の制約があります。

    • 1 ~ 63 文字の英数字またはハイフンを使用する必要があります。

    • 1 字目は文字である必要があります。

    • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

    • これは AWS リージョンごとの各 AWS アカウントのすべての DB インスタンスに対して一意にする必要があります。

    クロスリージョンリードレプリカ DB クラスターはソース DB クラスターのスナップショットから作成されるため、リードレプリカのマスターユーザー名およびマスターパスワードはソース DB クラスターのマスターユーザー名およびマスターパスワードと同じになります。

    DB cluster identifier

    レプリカのターゲット AWS リージョンにあるアカウントに対して一意となるクロスリージョンリードレプリカ DB クラスターの名前を入力します。この識別子は、DB クラスターのクラスターエンドポイントアドレスで使用されます。クラスターエンドポイントの詳細については、「Amazon Aurora 接続管理」を参照してください。

    DB クラスター識別子には以下の制約があります。

    • 1 ~ 63 文字の英数字またはハイフンを使用する必要があります。

    • 1 字目は文字である必要があります。

    • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

    • これは AWS リージョンごとの各 AWS アカウントのすべての DB クラスターに対して一意にする必要があります。

    優先度

    新しい DB クラスターのプライマリインスタンスのフェイルオーバー優先度を選択します。この優先度により、プライマリインスタンスの障害からの復旧時に、Aurora レプリカを昇格する順序が決まります。値を選択しない場合、デフォルト値は tier-1 になります。詳細については、「Aurora DB クラスターの耐障害性」を参照してください。

    データベースポート

    データベースのアクセスに使用するために、アプリケーションやユーティリティのポートを指定します。Aurora DB クラスターのデフォルトの MySQL ポートは 3306 になります。会社のファイアウォールでは、このポートへの接続がブロックされます。会社のファイアウォールがデフォルトのポートをブロックする場合は、新しい DB クラスター用に別のポートを選択します。

    拡張モニタリング

    DB クラスターが実行されているオペレーティングシステムに対してリアルタイムでのメトリクスの収集を有効にするには、[Enable enhanced monitoring] を選択します。詳細については、「拡張モニタリングの使用」を参照してください。

    モニタリングロール

    [Enhanced Monitoring] が [Enable enhanced monitoring] に設定されている場合にのみ使用できます。Amazon CloudWatch Logs との通信を Amazon RDS に許可するために作成した IAM ロールを選択するか、[デフォルト] を選択して、RDS によって rds-monitoring-role という名前のロールが作成されるようにします。詳細については、「拡張モニタリングの使用」を参照してください。

    詳細度

    [Enhanced Monitoring] が [Enable enhanced monitoring] に設定されている場合にのみ使用できます。DB クラスターのメトリクスを収集する間隔を秒単位で設定します。

    マイナーバージョン自動アップグレード

    この設定は Aurora MySQL DB クラスターには適用されません。

    Aurora MySQL のエンジンに関する更新の詳細については、「Amazon Aurora MySQL のデータベースエンジンの更新」を参照してください。

  6. [Create (作成)] を選択して、Aurora のクロスリージョンリードレプリカを作成します。

CLI でクロスリージョンリードレプリカとなる Aurora MySQL DB クラスターを作成するには

  1. リードレプリカ DB クラスターを作成する AWS リージョンで、AWS CLI の create-db-cluster コマンドを呼び出します。--replication-source-identifier オプションを含め、リードレプリカを作成するソース DB クラスターの Amazon リソースネーム (ARN) を指定します。

    --replication-source-identifier により識別される DB クラスターが暗号化されているクロスリージョンレプリケーションの場合、--kms-key-id オプションと --storage-encrypted オプションを指定する必要があります。また、--source-region または --pre-signed-url オプションのどちらかを指定する必要があります。--source-region を使用すると、署名付き URL が自動生成されます。これは、レプリケートする暗号化された DB クラスターを含むソース AWS リージョンで実行できる CreateDBCluster API オペレーションの実行可能なリクエストです。--pre-signed-url を使用するには、代わりに署名付き URL を手動で作成する必要があります。AWS KMS キー識別子は、リードレプリカの暗号化に使用されます。これは、ターゲット AWS リージョンで有効な AWS KMS カスタマーマスターキー (CMK) である必要があります。これらのオプションの詳細については、「create-db-cluster」を参照してください。

    注記

    --storage-encrypted を指定して、--kms-key-id の値を指定することにより、暗号化されていない DB クラスターから暗号化されているリードレプリカへのクロスリージョンレプリケーションをセットアップできます。この場合、--source-region または --pre-signed-url を指定する必要はありません。

    --master-username パラメータ --master-user-password とパラメータは指定できません。これらの値は、ソース DB クラスターから取得されます。

    次のコード例では、us-west-2 リージョンにある暗号化されていない DB クラスタースナップショットから us-east-1 リージョンにリードレプリカが作成されます。このコマンドは、us-east-1 リージョンで呼び出されます。

    Linux、macOS、Unix の場合:

    aws rds create-db-cluster \ --db-cluster-identifier sample-replica-cluster \ --engine aurora \ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster

    Windows の場合:

    aws rds create-db-cluster ^ --db-cluster-identifier sample-replica-cluster ^ --engine aurora ^ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster

    次のコード例では、us-west-2 リージョンにある暗号化されている DB クラスタースナップショットから us-east-1 リージョンにリードレプリカが作成されます。このコマンドは、us-east-1 リージョンで呼び出されます。

    Linux、macOS、Unix の場合:

    aws rds create-db-cluster \ --db-cluster-identifier sample-replica-cluster \ --engine aurora \ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster \ --kms-key-id my-us-east-1-key \ --source-region us-west-2 \ --storage-encrypted

    Windows の場合:

    aws rds create-db-cluster ^ --db-cluster-identifier sample-replica-cluster ^ --engine aurora ^ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster ^ --kms-key-id my-us-east-1-key ^ --source-region us-west-2 ^ --storage-encrypted
  2. 以下の例に示すように、AWS CLI の describe-db-clusters コマンドを使用して、DB クラスターが使用できる状態であることを確認します。

    aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

    describe-db-clusters の結果にステータス available と表示されたら、レプリケーションを開始できるように DB クラスターのプライマリインスタンスを作成します。そのためには、以下の例に示すように AWS CLI の create-db-instance コマンドを使用します。

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-cluster-identifier sample-replica-cluster \ --db-instance-class db.r3.large \ --db-instance-identifier sample-replica-instance \ --engine aurora

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier sample-replica-cluster ^ --db-instance-class db.r3.large ^ --db-instance-identifier sample-replica-instance ^ --engine aurora

    DB インスタンスが作成されて使用可能になると、レプリケーションが始まります。DB インスタンスが使用可能かどうかを確認するには、AWS CLI の describe-db-instances コマンドを呼び出します。

API を使用して、クロスリージョンリードレプリカとなる Aurora MySQL DB クラスターを作成するには

  1. リードレプリカ DB クラスターを作成する AWS リージョンで、RDS API CreateDBCluster アクションを呼び出します。ReplicationSourceIdentifier パラメータを含め、リードレプリカを作成するソース DB クラスターの Amazon リソースネーム (ARN) を指定します。

    ReplicationSourceIdentifier により識別される DB クラスターが暗号化されているクロスリージョンレプリケーションの場合、KmsKeyId パラメータを指定して、StorageEncrypted パラメータを true に設定する必要があります。また、PreSignedUrl パラメータを指定する必要があります。署名付き URL は、レプリケートする暗号化された DB クラスターを含むソース AWS リージョンで実行可能な CreateDBCluster API オペレーションの有効なリクエストである必要があります。AWS KMS キー識別子はリードレプリカを暗号化するために使用され、ターゲット AWS リージョンで有効な AWS KMS カスタマーマスターキー (CMK) である必要があります。署名付き URL を手動ではなく自動的に生成するには、--source-region オプションを使用して AWS CLI の create-db-cluster コマンドを使用します。

    注記

    StorageEncryptedtrue と指定し、KmsKeyId の値を指定することにより、暗号化されていない DB クラスターから暗号化されているリードレプリカへのクロスリージョンレプリケーションをセットアップできます。この場合、PreSignedUrl を指定する必要はありません。

    MasterUsername パラメータと MasterUserPassword パラメータは、ソース DB クラスターから取得されるため、これらの値を追加する必要はありません。

    次のコード例では、us-west-2 リージョンにある暗号化されていない DB クラスタースナップショットから us-east-1 リージョンにリードレプリカが作成されます。このアクションは、us-east-1 リージョンで呼び出されます。

    https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster &DBClusterIdentifier=sample-replica-cluster &Engine=aurora &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T001547Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7

    次のコード例では、us-west-2 リージョンにある暗号化されている DB クラスタースナップショットから us-east-1 リージョンにリードレプリカが作成されます。このアクションは、us-east-1 リージョンで呼び出されます。

    https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &KmsKeyId=my-us-east-1-key &StorageEncrypted=true &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCreateDBCluster %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526ReplicationSourceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Acluster%25253Asample-master-cluster %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4 %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster &DBClusterIdentifier=sample-replica-cluster &Engine=aurora &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T001547Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7
  2. 次の例に示すように、RDS API DescribeDBClusters アクションを使用して、DB クラスターが使用可能になっていることを確認します。

    https://rds.us-east-1.amazonaws.com/ ?Action=DescribeDBClusters &DBClusterIdentifier=sample-replica-cluster &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T002223Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=84c2e4f8fba7c577ac5d820711e34c6e45ffcd35be8a6b7c50f329a74f35f426

    DescribeDBClusters の結果にステータス available と表示されたら、レプリケーションを開始できるように DB クラスターのプライマリインスタンスを作成します。そのためには、次の例に示すように RDS API CreateDBInstance アクションを使用します。

    https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBInstance &DBClusterIdentifier=sample-replica-cluster &DBInstanceClass=db.r3.large &DBInstanceIdentifier=sample-replica-instance &Engine=aurora &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T003808Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=125fe575959f5bbcebd53f2365f907179757a08b5d7a16a378dfa59387f58cdb

    DB インスタンスが作成されて使用可能になると、レプリケーションが始まります。DB インスタンスが使用可能かどうかを確認するには、AWS CLI の DescribeDBInstances コマンドを呼び出します。

Amazon Aurora MySQL クロスリージョンレプリカの表示

Amazon Aurora MySQL DB クラスターのクロスリージョンレプリケーションの関係を表示するには、describe-db-clusters AWS CLI コマンド、または DescribeDBClusters RDS API オペレーションを呼び出します。レスポンスで、すべてのクロスリージョンリードレプリカ DB クラスターの DB クラスター識別子の ReadReplicaIdentifiers フィールドを参照し、レプリケーションソースであるソース DB クラスターの ARN の ReplicationSourceIdentifier 要素を参照します。

リードレプリカを DB クラスターに昇格させる

Aurora MySQL リードレプリカをスタンドアロンの DB クラスターに昇格できます。Aurora MySQL リードレプリカを昇格させると、DB インスタンスの再起動後に利用可能になります。

通常、ソース DB クラスターに障害が発生した場合のデータリカバリースキームとして、Aurora MySQL リードレプリカをスタンドアロン DB クラスターに昇格させます。

これを行うには、最初にリードレプリカを作成し、次にソース DB クラスターで障害をモニタリングします。障害が発生した場合、以下の作業を行います。

  1. リードレプリカを昇格させます。

  2. 昇格された DB クラスターにデータベーストラフィックを向けます。

  3. 昇格された DB クラスターをソースとして使用して置き換え用のリードレプリカを作成します。

リードレプリカを昇格させると、リードレプリカはスタンドアロン Aurora DB クラスターになります。リードレプリカのサイズによっては、昇格プロセスが完了するまで数分以上かかる場合があります。リードレプリカを新しい DB クラスターに昇格させると、他の DB クラスターと同等になります。たとえば、そのリードレプリカを作成して、ポイントインタイム復元オペレーションを実行できます。また、その DB クラスターの Aurora レプリカを作成することもできます。

昇格された DB クラスターはリードレプリカではなくなったため、レプリケーションターゲットとしては使用できません。

以下のステップは、DB クラスターにリードレプリカを昇格させる一般的なプロセスを示しています。

  1. リードレプリカソース DB クラスターへのトランザクションの書き込みを停止し、すべての更新がリードレプリカに加えられるまで待ちます。データベース更新は、ソース DB クラスターで行われた後にリードレプリカで行われるため、このレプリケーションラグは大きく変動する場合があります。ReplicaLag メトリクスを使用して、リードレプリカにすべての更新がいつ加えられたかを確認できます。ReplicaLag メトリクスは、ソース DB インスタンスからのリードレプリカ DB インスタンスのラグの時間を記録します。ReplicaLag メトリクスが 0 に達すると、リードレプリカがソース DB インスタンスに追いついています。

  2. Amazon RDS コンソールの [Promote (昇格)] オプション、AWS CLI コマンド promote-read-replica-db-clusterPromoteReadReplicaDBCluster Amazon RDS API オペレーションを使用して、リードレプリカを昇格させます。

    Aurora MySQL DB インスタンスを選択してリードレプリカを昇格させます。リードレプリカが昇格されると、Aurora MySQL DB クラスターがスタンドアロン DB クラスターに昇格します。フェイルオーバー優先度が最も高い DB インスタンスが DB クラスターのプライマリ DB インスタンスに昇格されます。他の DB インスタンスは Aurora レプリカになります。

    注記

    昇格プロセスの完了までには数分かかります。リードレプリカを昇格させると、レプリケーションが停止され、DB インスタンスが再起動されます。再起動が完了すると、リードレプリカは新しい DB クラスターとして使用可能になります。

Aurora MySQL リードレプリカを DB クラスターに昇格するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. コンソールで、[Instances (インスタンス)] を選択します。

    [Instance] ペインが表示されます。

  3. [Instances (インスタンス)] ペインで、昇格させるリードレプリカを選択します。

    リードレプリカは、Aurora MySQL DB インスタンスとして表示されます。

  4. [アクション] で [リードレプリカの昇格] を選択します。

  5. 確認ページで、[リードレプリカの昇格] を選択します。

リードレプリカを DB クラスターに昇格させるには、AWS CLI promote-read-replica-db-cluster コマンドを使用します。

Linux、macOS、Unix の場合:

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

Windows の場合:

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

リードレプリカを DB クラスターに昇格させるには、PromoteReadReplicaDBCluster を呼び出します。

Amazon Aurora MySQL クロスリージョンレプリカのトラブルシューティング

Amazon Aurora クロスリージョンリードレプリカを作成するときに発生する可能性がある一般的なエラーメッセージの一覧と、示されたエラーの解決策を次に示します。

ソースクラスター [DB クラスター ARN] でバイナリログが有効になっていません

この問題を解決するには、ソース DB クラスターでバイナリログ記録を有効にします。詳細については、「開始する前に」を参照してください。

ソースクラスター [DB クラスター ARN] に、書き込みで同期されているクラスターパラメータグループがありません

このエラーは、binlog_format DB クラスターパラメータを更新しても、DB クラスターのプライマリインスタンスを再起動しなかった場合に発生します。DB クラスターのプライマリインスタンス (つまり、書き込み) を再起動し、再試行します。

ソースクラスター [DB クラスター ARN] は、すでにこのリージョンにリードレプリカを持っています

任意の AWS リージョン内のソース DB クラスターごとに、リードレプリカとすることができるクロスリージョン DB クラスターを最大 5 つまで用意できます。特定の AWS リージョンの DB クラスターに最大数のリードレプリカがすでに存在する場合、そのリージョンで新しいクロスリージョン DB クラスターを作成する前に、既存のリードレプリカのいずれかを削除する必要があります。

DB クラスター [DB クラスター ARN] は、クロスリージョンレプリケーションをサポートするために、データベースエンジンのアップグレードを必要とする

この問題を解決するには、ソース DB クラスターのすべてのインスタンスのデータベースエンジンバージョンを最新のデータベースエンジンバージョンにアップグレードした後、クロスリージョンリードレプリカ DB を再作成してください。