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

別の 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 クラスターを再起動します。

Aurora MySQL でバイナリログ記録を使用する方法の詳細については、「Aurora と MySQL との間、または Aurora と別の Aurora DB クラスターとの間のレプリケーション (バイナリログレプリケーション)」を参照してください。Aurora MySQL 設定パラメータの変更の詳細については、「Amazon Aurora の DB クラスターパラメータと DB インスタンスパラメータ」および「「パラメータグループを使用する」 」を参照してください。

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

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

AWS Management Console を使用して Aurora MySQL のクロスリージョンリードレプリカを作成すると、Amazon RDS はターゲットの AWS リージョン に DB クラスターを作成した後、その DB クラスターのプライマリインスタンスとなる DB インスタンスを自動的に作成します。

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

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

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

AWS Management Console を使用してクロスリージョンリードレプリカとなる Aurora MySQL DB クラスターを作成するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. AWS Management Console の右上隅で、出典 DB クラスターをホストする AWS リージョン を選択します。

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

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

  5. [Actions] (アクション) として、[Create cross-Region read replica] (クロスリージョンリードレプリカの作成) を選択します。

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

    オプション 説明

    送信先リージョン

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

    送信先 DB サブネットグループ

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

    パブリックアクセス可能

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

    暗号化

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

    AWS KMS key

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

    DB インスタンスクラス

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

    マルチ AZ 配置

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

    リードレプリカのソース

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

    DB インスタンス識別子

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

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

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

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

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

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

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

    DB クラスター識別子

    レプリカのターゲット 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 クラスターが実行されているオペレーティングシステムのメトリクスの収集をリアルタイムでオンにします。詳細については、「拡張モニタリングを使用した OS メトリクスのモニタリング」を参照してください。

    モニタリングロール

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

    詳細度

    [拡張モニタリング] が [拡張モニタリングの有効化] に設定されている場合にのみ使用できます。DB クラスターのメトリクスを収集する間隔を秒単位で設定します。

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

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

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

  7. [作成] を選択して、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 オプションを指定します。

    注記

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

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

    次のコード例では、us-west-2 リージョンにある暗号化されていない DB クラスタースナップショットから us-east-1 リージョンにリードレプリカが作成されます。このコマンドは、us-east-1 リージョンで呼び出されます。この例では、マスターユーザーパスワードを生成して Secrets Manager で管理する --manage-master-user-password オプションを指定しています。詳細については、「Amazon Aurora および AWS Secrets Manager によるパスワード管理」を参照してください。または、--master-password オプションを使用して、自分でパスワードを指定して管理することもできます。

    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 \ --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 ^ --storage-encrypted

    --source-region GovCloud (米国東部) リージョンと AWS GovCloud (米国西部) リージョン間のクロスリージョンレプリケーションには、AWS で識別される DB クラスターが暗号化されている場合、--replication-source-identifier オプションが必要です。--source-region には、ソース DB クラスターの AWS リージョン を指定します。

    --source-region を指定しない場合、--pre-signed-url の値を指定します。署名付きの URL は、ソースの AWS リージョン で呼び出される create-db-cluster コマンドに対する、署名バージョン 4 で署名されたリクエストを含む URL です。pre-signed-url オプションの詳細については、AWS CLI コマンドリファレンスの「create-db-cluster」を参照してください。

  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 に設定します。

    注記

    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

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

  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 オペレーションを呼び出します。レスポンスでは、ReadReplicaIdentifiers フィールドを参照して、クロスリージョンリードレプリカ DB クラスターの識別子を確認します。レプリケーションソースであるソース 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-cluster、または PromoteReadReplicaDBCluster Amazon RDS API オペレーションを使用して、リードレプリカを昇格させます。

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

    注記

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

Aurora MySQL リードレプリカを DB クラスターに昇格するには
  1. AWS Management Console にサインインし、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 を再作成してください。