{RDS}リードレプリカの使用

DB インスタンスがソース DB インスタンスとして機能するには、バックアップ保持期間を 0 以外の値に設定することにより、
ソース DB インスタンスで自動バックアップを有効にする必要があります。

MariaDBMySQLOracle DB の各インスタンスの場合、クロスリージョンリードレプリカのソースが削除されると、リードレプリカが昇格します。
PostgreSQL DB インスタンスの場合、クロスリージョンリードレプリカのソースが削除されると、リードレプリカのレプリケーションのステータスは terminated に設定されます。リードレプリカは昇格しません。

aws rds describe-db-engine-versions \
--engine mysql \
| jq -c '.DBEngineVersions | [ .Engine, .EngineVersion ]'


-- プライマリインスタンス作成
aws rds create-db-instance \
--db-instance-identifier mysql01 \
--allocated-storage 20 \
--db-instance-class db.t3.micro \
--engine mysql \
--master-username root \
--master-user-password 'password' \
--no-multi-az \
--engine-version 8.0.25 \
--storage-type gp2 \
--no-publicly-accessible \
--no-enable-performance-insights \
--no-auto-minor-version-upgrade \
--backup-retention-period 1

-- 同一リージョンにリードレプリカ作成

aws rds create-db-instance-read-replica \
--db-instance-identifier mysql01-replica01 \
--region ap-northeast-1 \
--source-db-instance-identifier arn:aws:rds:ap-northeast-1:999999999999:db:mysql01


-- 別リージョンにリードレプリカ作成

aws rds create-db-instance-read-replica \
--db-instance-identifier mysql01-replica02 \
--region ap-northeast-3 \
--source-db-instance-identifier arn:aws:rds:ap-northeast-1:999999999999:db:mysql01

 


-- クリーンアップ

aws rds delete-db-instance \
--db-instance-identifier mysql01-replica02 \
--region ap-northeast-3 \
--skip-final-snapshot

aws rds delete-db-instance \
--db-instance-identifier mysql01-replica01 \
--skip-final-snapshot

aws rds delete-db-instance \
--db-instance-identifier mysql01 \
--skip-final-snapshot

 

aws rds describe-db-engine-versions \
--engine postgres \
| jq -c '.DBEngineVersions | [ .Engine, .EngineVersion ]'


-- プライマリインスタンス作成
aws rds create-db-instance \
--db-instance-identifier postgres01 \
--allocated-storage 20 \
--db-instance-class db.t3.micro \
--engine postgres \
--master-username postgres \
--master-user-password 'password' \
--no-multi-az \
--engine-version 13.3 \
--storage-type gp2 \
--no-publicly-accessible \
--no-enable-performance-insights \
--no-auto-minor-version-upgrade \
--backup-retention-period 1


-- 同一リージョンにリードレプリカ作成

aws rds create-db-instance-read-replica \
--db-instance-identifier postgres01-replica01 \
--region ap-northeast-1 \
--source-db-instance-identifier arn:aws:rds:ap-northeast-1:999999999999:db:postgres01


-- 別リージョンにリードレプリカ作成

aws rds create-db-instance-read-replica \
--db-instance-identifier postgres01-replica02 \
--region ap-northeast-3 \
--source-db-instance-identifier arn:aws:rds:ap-northeast-1:999999999999:db:postgres01


-- クリーンアップ

aws rds delete-db-instance \
--db-instance-identifier postgres01-replica02 \
--region ap-northeast-3 \
--skip-final-snapshot

aws rds delete-db-instance \
--db-instance-identifier postgres01-replica01 \
--skip-final-snapshot

aws rds delete-db-instance \
--db-instance-identifier postgres01 \
--skip-final-snapshot

 

Oracle レプリカは、Oracle Enterprise Edition (EE) エンジンでのみ使用することができます。
Oracle DB エンジンは、マウントモードのレプリカデータベースをサポートします。
マウントされたレプリカはユーザー接続を受け付けないため、読み取り専用のワークロードに対応できません。
レプリカが読み取り専用モードの場合は、Active Data Guard ライセンスがあることを確認してください。
レプリカをマウントモードにした場合、Active Data Guard ライセンスは必要ありません。

 

リードレプリカは、SQL Server Enterprise Edition (EE) エンジンでのみ使用することができます。
レプリケートするソース DB インスタンスは、AlwaysOn 可用性グループを持つマルチ AZ 配置である必要があります。