ソース DB クラスターごとに、リードレプリカとすることができるクロスリージョン DB クラスターは最大 5 つです。
グローバルデータベースとの相違点:
グローバルデータベースの場合、プライマリ DB クラスターからすべてのセカンダリへのレプリケーションは、
データベースエンジンではなく Aurora ストレージレイヤーによって処理されるため、
変更をレプリケートする際のラグタイムは 通常は 1 秒未満で、最小となります。
Aurora PostgreSQLベースの DB クラスターは、異なる AWS リージョンの Aurora レプリカをサポートしていません。
(1)暗号化なしの場合
-- ソース DB クラスターの作成
aws rds create-db-cluster-parameter-group \
--db-parameter-group-family aurora-mysql5.7 \
--db-cluster-parameter-group-name cpg01 \
--description cpg01
aws rds modify-db-cluster-parameter-group \
--db-cluster-parameter-group-name cpg01 \
--parameters ParameterName=binlog_format,ParameterValue=MIXED,ApplyMethod=pending-reboot
aws rds create-db-cluster \
--db-cluster-identifier cluster11 \
--engine aurora-mysql \
--engine-version 5.7.mysql_aurora.2.10.0 \
--master-username root \
--master-user-password 'password' \
--db-cluster-parameter-group-name cpg01
aws rds create-db-instance \
--db-instance-identifier cluster11-instance01 \
--db-cluster-identifier cluster11 \
--db-instance-class db.t3.small \
--engine aurora-mysql \
--no-auto-minor-version-upgrade
-- クロスリージョンリードレプリカDB クラスターの作成
export AWS_DEFAULT_REGION=ap-northeast-3
aws rds create-db-cluster \
--db-cluster-identifier cluster12 \
--engine aurora-mysql \
--engine-version 5.7.mysql_aurora.2.10.0 \
--replication-source-identifier arn:aws:rds:ap-northeast-1:999999999999:cluster:cluster11
aws rds describe-db-clusters --db-cluster-identifier cluster12
aws rds describe-db-clusters | jq -c '.DBClusters | [.DBClusterIdentifier , .Status]'
aws rds create-db-instance \
--db-instance-identifier cluster12-instance01 \
--db-cluster-identifier cluster12 \
--db-instance-class db.t3.small \
--engine aurora-mysql \
--no-auto-minor-version-upgrade
-- リードレプリカをスタンドアロンのDB クラスターに昇格させる
aws rds promote-read-replica-db-cluster \
--db-cluster-identifier cluster12
(2)暗号化ありの場合
-- ソース DB クラスターの作成
aws rds create-db-cluster-parameter-group \
--db-parameter-group-family aurora-mysql5.7 \
--db-cluster-parameter-group-name cpg01 \
--description cpg01
aws rds modify-db-cluster-parameter-group \
--db-cluster-parameter-group-name cpg01 \
--parameters ParameterName=binlog_format,ParameterValue=MIXED,ApplyMethod=pending-reboot
aws rds create-db-cluster \
--db-cluster-identifier cluster21 \
--engine aurora-mysql \
--engine-version 5.7.mysql_aurora.2.10.0 \
--master-username root \
--master-user-password 'password' \
--db-cluster-parameter-group-name cpg01 \
--storage-encrypted
aws rds create-db-instance \
--db-instance-identifier cluster21-instance01 \
--db-cluster-identifier cluster21 \
--db-instance-class db.t3.small \
--engine aurora-mysql \
--no-auto-minor-version-upgrade
-- クロスリージョンリードレプリカDB クラスターの作成
export AWS_DEFAULT_REGION=ap-northeast-3
aws rds create-db-cluster \
--db-cluster-identifier cluster22 \
--engine aurora-mysql \
--engine-version 5.7.mysql_aurora.2.10.0 \
--replication-source-identifier arn:aws:rds:ap-northeast-1:999999999999:cluster:cluster21 \
--storage-encrypted \
--kms-key-id arn:aws:kms:ap-northeast-3:999999999999:key/11111111-2222-3333-4444-555555555555 \
--source-region ap-northeast-1
★クロスリージョンレプリカ側ではカスタマー管理CMKを使用する必要あり
aws rds describe-db-clusters --db-cluster-identifier cluster22
aws rds describe-db-clusters | jq -c '.DBClusters | [.DBClusterIdentifier , .Status]'
aws rds create-db-instance \
--db-instance-identifier cluster22-instance01 \
--db-cluster-identifier cluster22 \
--db-instance-class db.t3.small \
--engine aurora-mysql \
--no-auto-minor-version-upgrade
-- リードレプリカをスタンドアロンのDB クラスターに昇格させる
aws rds promote-read-replica-db-cluster \
--db-cluster-identifier cluster22