メニュー
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 クラスターからリードレプリカを作成するために使用できます。

To create a cross-region Aurora Read Replica from a DB cluster by using the Amazon RDS Management Console

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

  2. In the top-right corner of the AWS マネジメントコンソール, select the AWS Region that hosts your source DB cluster.

  3. In the navigation pane, choose Instances.

  4. Select the check box for the DB cluster that you want to create a cross-region Read Replica for. Choose Instance Actions, and then choose Create Cross Region Read Replica.

    
                                    Instance Actions: Create Cross Region Read
                                        Replica
  5. In the Cross Region Read Replica panel, select the option settings for your cross-region Read Replica DB cluster, as described in the following table.

    Option Description

    DB Instance Class

    Choose a DB instance class that defines the processing and memory requirements for the primary instance in the DB cluster. For more information about DB instance class options, see DB インスタンスクラス.

    Multi-AZ Deployment

    Choose Create Replica in Different Zone to create a standby replica of the new DB cluster in another Availability Zone in the target region for failover support. For more information about multiple Availability Zones, see リージョンとアベイラビリティーゾーン.

    Read Replica Source

    Choose the source DB cluster to create a cross-region Read Replica for.

    DB Instance Identifier

    Type a name for the primary instance in your cross-region Read Replica DB cluster. This identifier is used in the endpoint address for the primary instance of the new DB cluster.

    The DB instance identifier has the following constraints:

    • It must contain from 1 to 63 alphanumeric characters or hyphens.

    • Its first character must be a letter.

    • It cannot end with a hyphen or contain two consecutive hyphens.

    • It must be unique for all DB instances for each AWS account, for each region.

    Because the cross-region Read Replica DB cluster is created from a snapshot of the source DB cluster, the master user name and master password for the Read Replica are the same as the master user name and master password for the source DB cluster.

    DB Cluster Identifier

    Type a name for your cross-region Read Replica DB cluster that is unique for your account in the target AWS Region for your replica. This identifier will be used in the cluster endpoint address for your DB cluster. For information on the cluster endpoint, see Aurora エンドポイント.

    The DB cluster identifier has the following constraints:

    • It must contain from 1 to 63 alphanumeric characters or hyphens.

    • Its first character must be a letter.

    • It cannot end with a hyphen or contain two consecutive hyphens.

    • It must be unique for all DB clusters for each AWS account, for each region.

    Destination Region

    Choose the AWS Region that will host the new cross-region Read Replica DB cluster.

    Destination DB Subnet Group

    Choose the DB subnet group to use for the cross-region Read Replica DB cluster.

    Enable Encryption

    The Enable Encryption value is Yes if the source DB cluster is encrypted, and No if it isn't. You can't change this value.

    Master Key

    This field only appears if the source DB cluster is encrypted and the Enable Encryption value is Yes.

    Specify the AWS KMS key identifier to use to encrypt the Read Replica. Because you are replicating the encrypted DB cluster across regions, and KMS keys are region-specific, you must specify a different KMS encryption key than that used on the source DB cluster. The KMS encryption key you enter must be valid for the destination region.

    For more information about using KMS keys, see What is AWS Key Management Service?.

    Publicly Accessible

    Choose Yes to give the cross-region Read Replica DB cluster a public IP address; otherwise, select No.

    Availability Zone

    Determine if you want to specify a particular Availability Zone, and then either choose that Availability Zone, or choose No preference to have Amazon RDS choose the Availability Zone for your new DB cluster.

    Priority

    Choose a failover priority for the primary instance of the new DB cluster. This priority determines the order in which Aurora Replicas are promoted when recovering from a primary instance failure. If you don't select a value, the default is tier-1. For more information, see Aurora DB クラスターの耐障害性.

    Database Port

    Specify the port that applications and utilities will use to access the database. Aurora DB clusters default to the default MySQL port, 3306. Firewalls at some companies block connections to this port. If your company firewall blocks the default port, choose another port for the new DB cluster.

    Enable Enhanced Monitoring

    This option will be Yes to enable gathering metrics in real time for the operating system that your DB cluster runs on. For more information, see 拡張モニタリング.

    Monitoring Role

    This option is only available if Enable Enhanced Monitoring is set to Yes. Set the Monitoring Role property to the AWS Identity and Access Management (IAM) role that you created to permit Amazon RDS to communicate with Amazon CloudWatch Logs for you, or choose Default to have RDS create a role for you named rds-monitoring-role.

    Granularity

    This option is only available if Enable Enhanced Monitoring is set to Yes. Set the interval, in seconds, at which metrics are collected for your new DB cluster.

    Auto Minor Version Upgrade

    Choose Yes if you want your cross-region Read Replica DB cluster to receive minor MySQL DB engine version upgrades automatically when they become available.

    The Auto Minor Version Upgrade option only applies to upgrades to MySQL minor engine versions for your DB cluster. It doesn't apply to regular patches applied to maintain system stability.

  6. Choose Create to create your cross-region Read Replica for Aurora.

To create a cross-region Aurora Read Replica from a DB cluster by using the AWS CLI

  1. Call the AWS CLI create-db-cluster command in the region where you want to create the Read Replica DB cluster. Include the --replication-source-identifier option and specify the Amazon Resource Name (ARN) of the source DB cluster to create a Read Replica for.

    For cross-region replication where the DB cluster identified by --replication-source-identifier is encrypted, you must also specify either the --source-region or --pre-signed-url option, and the --kms-key-id option. Using --source-region autogenerates a pre-signed URL that is a valid request for the CreateDBCluster API action that can be executed in the source region that contains the encrypted DB cluster to be replicated. Using --pre-signed-url requires you to construct a pre-signed URL manually instead. The KMS key ID is used to encrypt the Read Replica, and must be a KMS encryption key valid for the destination region. To learn more about these options, see create-db-cluster.

    注記

    You can set up cross-region replication from an unencrypted DB cluster to an encrypted Read Replica by specifying --storage-encrypted and providing a value for --kms-key-id. In this case, you don't need to specify --source-region or --pre-signed-url.

    You don't need to include the --master-username and --master-user-password parameters, because those values are taken from the source DB cluster.

    The following code example creates a Read Replica in the us-east-1 region from an unencrypted DB cluster snapshot in the us-west-2 region. The command is called in the us-east-1 region.

    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

    The following code example creates a Read Replica in the us-east-1 region from an encrypted DB cluster snapshot in the us-west-2 region. The command is called in the us-east-1 region.

    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. Check that the DB cluster has become available to use by using the AWS CLI describe-db-clusters command, as shown in the following example.

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

    When the describe-db-clusters results show a status of available, create the primary instance for the DB cluster so that replication can begin. To do so, use the AWS CLI create-db-instance command as shown in the following example.

    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

    When the DB instance is created and available, replication begins. You can determine if the DB instance is available by calling the AWS CLI describe-db-instances command.

To create a cross-region Aurora Read Replica from a DB cluster by using the RDS API

  1. Call the RDS API CreateDBCluster action in the region where you want to create the Read Replica DB cluster. Include the ReplicationSourceIdentifier parameter and specify the Amazon Resource Name (ARN) of the source DB cluster to create a Read Replica for.

    For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl and KmsKeyId parameters. The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source region that contains the encrypted DB cluster to be replicated. The KMS key ID is used to encrypt the Read Replica, and must be a KMS encryption key valid for the destination region. To automatically rather than manually generate a presigned URL, use the AWS CLI create-db-cluster command with the --source-region option instead.

    注記

    You can set up cross-region replication from an unencrypted DB cluster to an encrypted Read Replica by specifying StorageEncrypted as true and providing a value for KmsKeyId. In this case, you don't need to specify PreSignedUrl.

    You don't need to include the MasterUsername and MasterUserPassword parameters, because those values are taken from the source DB cluster.

    The following code example creates a Read Replica in the us-east-1 region from an unencrypted DB cluster snapshot in the us-west-2 region. The action is called in the us-east-1 region.

    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

    The following code example creates a Read Replica in the us-east-1 region from an encrypted DB cluster snapshot in the us-west-2 region. The action is called in the us-east-1 region.

    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. Check that the DB cluster has become available to use by using the RDS API DescribeDBClusters action, as shown in the following example.

    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

    When the DescribeDBClusters results show a status of available, create the primary instance for the DB cluster so that replication can begin. To do so, use the RDS API CreateDBInstance action as shown in the following example.

    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

    When the DB instance is created and available, replication begins. You can determine if the DB instance is available by calling the AWS CLI DescribeDBInstances command.

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 を再作成してください。