メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

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

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

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

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

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

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

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

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

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

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

開始する前に

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

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

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

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

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

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

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

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

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

Amazon RDS マネジメントコンソールを使用して DB クラスターからクロスリージョン Aurora リードレプリカを作成するには

  1. https://console.aws.amazon.com/rds で Amazon Aurora コンソールを開きます。

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

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

  4. クロスリージョンリードレプリカを作成する DB クラスターのチェックボックスをオンにします。[Instance Actions] を選択し、[Create Cross Region Read Replica] を選択します。

     インスタンスアクション: クロスリージョンリードレプリカ
  5. [Cross Region Read Replica] パネルで、次の表に示すように、クロスリージョンリードレプリカ DB クラスターのオプションを設定を選択します。

    オプション 説明

    DB インスタンスクラス

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

    マルチ AZ 配置

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

    リードレプリカのソース

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

    DB Instance Identifier

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

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

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

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

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

    • 各リージョンにおいて、各 AWS アカウントのすべての DB インスタンスで一意にする必要があります。

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

    DB クラスター識別子

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

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

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

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

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

    • 各リージョンにおいて、各 AWS アカウントのすべての DB クラスターで一意にする必要があります。

    送信先リージョン

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

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

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

    暗号を有効化

    ソース DB クラスターが暗号化されている場合、[Enable Encryption] 値は Yes、暗号化されていない場合は No です。この値は変更できません。

    マスターキー

    このフィールドは、ソース DB クラスターが暗号化されていて、[Enable Encryption] 値が Yes の場合のみ表示されます。

    リードレプリカの暗号化に使用する AWS KMS キー識別子を指定します。暗号化されている DB クラスターをリージョン間でレプリケートしますが、KMS キーはリージョン固有のため、ソース DB クラスターで使用されているのとは異なる KMS 暗号化キーを指定する必要があります。入力する KMS 暗号化キーは、ターゲットリージョンで有効でなければなりません。

    KMS キーの使用方法については、「AWS Key Management Service とは」を参照してください。

    パブリックアクセス可能

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

    アベイラビリティーゾーン

    特定のアベイラビリティーゾーンを指定するかどうかを決定したあと、そのアベイラビリティーゾーンを選択します。または、[No preference] を選択すると、新しい DB クラスターのアベイラビリティーゾーンが Amazon RDS により選択されます。

    優先度

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

    Database Port

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

    Enable Enhanced Monitoring

    DB クラスターが実行されているオペレーティングシステムに対してリアルタイムでのメトリクスの収集を有効にする場合、このオプションは [Yes] になります。詳細については、「拡張モニタリング」を参照してください。

    モニタリングロール

    このオプションは、[Enable Enhanced Monitoring] が [Yes] に設定されている場合にのみ使用できます。[Monitoring Role] プロパティで、Amazon RDS が Amazon CloudWatch Logs と通信できるように作成した AWS Identity and Access Management (IAM) ロールに設定するか、[Default] を選択して、ロール (rds-monitoring-role) が RDS に作成されるようにします。

    詳細度

    このオプションは、[Enable Enhanced Monitoring] が [Yes] に設定されている場合にのみ使用できます。新しい DB クラスターのメトリクスを収集する間隔を秒単位で設定します。

    Auto Minor Version Upgrade

    クロスリージョンリードレプリカ DB クラスターで MySQL DB エンジンのマイナーバージョンアップグレードをリリースと同時に自動的に受信するには、[Yes] を選択します。

    [Auto Minor Version Upgrade] オプションは、DB クラスターの MySQL マイナーエンジンバージョンに対するアップグレードのみに適用されます。システム安定性を維持するために適用される定期的なパッチは適用されません。

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

AWS CLI を使用して、DB クラスターからクロスリージョン Aurora リードレプリカを作成するには

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

    --replication-source-identifier により識別される DB クラスターが暗号化されるクロスリージョンレプリケーションの場合、--source-region オプションまたは --pre-signed-url オプションと、--kms-key-id オプションを指定する必要があります。--source-region を使用すると、レプリケートする暗号化されている DB クラスターを含むソースリージョンで実行可能な CreateDBCluster API アクションの有効なリクエストである署名付き URL が自動生成されます。--pre-signed-url を使用するには、代わりに署名付き URL を手動で作成する必要があります。KMS キー ID は、リードレプリカを暗号化するために使用され、ターゲットリージョンで有効な KMS 暗号化キーでなければなりません。これらのオプションの詳細については、「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、OS X、Unix の場合:

    Copy
    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 の場合:

    Copy
    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、OS X、Unix の場合:

    Copy
    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

    Windows の場合:

    Copy
    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
  2. 次の例に示すように、AWS CLI の describe-db-clusters コマンドを使用して、DB クラスターが使用できる状態であることを確認します。

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

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

    Linux、OS X、Unix の場合:

    Copy
    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 の場合:

    Copy
    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 コマンドを呼び出します。

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

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

    ReplicationSourceIdentifier により識別される DB クラスターが暗号化されているクロスリージョンレプリケーションの場合、PreSignedUrl パラメーターと KmsKeyId パラメーターも指定する必要があります。署名付き URL は、レプリケートする暗号化されている DB クラスターを含むソースリージョンで実行可能な CreateDBCluster API アクションの有効なリクエストでなければなりません。KMS キー ID は、リードレプリカを暗号化するために使用され、ターゲットリージョンで有効な KMS 暗号化キーでなければなりません。署名付き 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 リージョンで呼び出されます。

    Copy
    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 リージョンで呼び出されます。

    Copy
    https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &KmsKeyId=my-us-east-1-key &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 クラスターが使用可能になっていることを確認します。

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

    Copy
    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 クロスリージョンレプリカの表示

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

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

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

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

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

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

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

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

ソース DB クラスターごとに作成できるクロスリージョンリードレプリカ DB クラスターは 1 つだけです。新しいクロスリージョン DB クラスターを作成するには、リードレプリカである既存のクロスリージョン DB クラスターを削除する必要があります。

DB クラスター [DB クラスター ARN] でクロスリージョンレプリケーションがサポートされるには、データベースエンジンをアップグレードする必要があります

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