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 クラスターを作成するには
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
AWS Management Console の右上隅で、出典 DB クラスターをホストする AWS リージョン を選択します。
-
ナビゲーションペインで、データベースを選択します。
-
クロスリージョンリードレプリカを作成する DB クラスターを選択します。
-
[Actions] (アクション) として、[Create cross-Region read replica] (クロスリージョンリードレプリカの作成) を選択します。
-
[クロスリージョンのリードレプリカの作成] ページで、以下の表に示すように、クロスリージョンリードレプリカ 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 インスタンスクラスのオプションについては、「Amazon 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 のデータベースエンジンの更新」を参照してください。
-
-
[作成] を選択して、Aurora のクロスリージョンリードレプリカを作成します。
CLI でクロスリージョンリードレプリカとなる Aurora MySQL DB クラスターを作成するには
-
リードレプリカ 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-encryptedWindows の場合:
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」を参照してください。 -
以下の例に示すように、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 クラスターを作成するには
-
リードレプリカ DB クラスターを作成する AWS リージョン で、RDS API CreateDBCluster オペレーションを呼び出します。
ReplicationSourceIdentifier
パラメータを含め、リードレプリカを作成する出典 DB クラスターの Amazon リソースネーム (ARN) を指定します。ReplicationSourceIdentifier
により識別される DB クラスターが暗号化されているクロスリージョンレプリケーションの場合、KmsKeyId
パラメータを指定して、StorageEncrypted
パラメータをtrue
に設定します。注記
StorageEncrypted
をtrue
と指定し、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 コマンドを使用します。 -
次の例に示すように、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
要素を参照してください。