(1)Aurora への RDS for MySQL スナップショットの移行
(1-1)暗号化なしの場合
-- テスト用MySQL RDS作成
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 5.7.34 \
--storage-type gp2 \
--no-publicly-accessible
-- スナップショット作成
aws rds create-db-snapshot \
--db-snapshot-identifier snap01 \
--db-instance-identifier mysql01
-- インスタンススナップショットの一覧
aws rds describe-db-snapshots
aws rds describe-db-snapshots | jq -c '.DBSnapshots | [ .DBInstanceIdentifier, .DBSnapshotArn ] '
-- Auroraへのスナップショットの移行
aws rds restore-db-cluster-from-snapshot \
--db-cluster-identifier cluster01 \
--snapshot-identifier arn:aws:rds:ap-northeast-1:999999999999:snapshot:snap01 \
--engine aurora-mysql
aws rds create-db-instance \
--db-instance-identifier cluster01-instance01 \
--db-cluster-identifier cluster01 \
--db-instance-class db.t3.small \
--engine aurora-mysql
(1-2)暗号化ありの場合
-- テスト用MySQL RDS作成
aws rds create-db-instance \
--db-instance-identifier mysql02 \
--allocated-storage 20 \
--db-instance-class db.t3.micro \
--engine mysql \
--master-username root \
--master-user-password 'password' \
--no-multi-az \
--engine-version 5.7.34 \
--storage-type gp2 \
--no-publicly-accessible \
--storage-encrypted
-- スナップショット作成
aws rds create-db-snapshot \
--db-snapshot-identifier snap02 \
--db-instance-identifier mysql02
-- インスタンススナップショットの一覧
aws rds describe-db-snapshots
aws rds describe-db-snapshots | jq -c '.DBSnapshots | [ .DBInstanceIdentifier, .DBSnapshotArn ] '
-- Auroraへのスナップショットの移行
aws rds restore-db-cluster-from-snapshot \
--db-cluster-identifier cluster02 \
--snapshot-identifier arn:aws:rds:ap-northeast-1:999999999999:snapshot:snap02 \
--engine aurora-mysql
aws rds create-db-instance \
--db-instance-identifier cluster02-instance01 \
--db-cluster-identifier cluster02 \
--db-instance-class db.t3.small \
--engine aurora-mysql
(2)Aurora リードレプリカを使用した、MySQL DB インスタンスから Amazon Aurora MySQL DB クラスターへのデータの移行
1 つの MySQL DB インスタンスに対して作成できる Aurora リードレプリカは、1 つだけです。
(2-1)暗号化なしの場合
-- テスト用MySQL RDS作成
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 5.7.34 \
--storage-type gp2 \
--no-publicly-accessible
-- Aurora リードレプリカの作成
aws rds create-db-cluster \
--db-cluster-identifier cluster01 \
--engine aurora-mysql \
--replication-source-identifier arn:aws:rds:ap-northeast-1:999999999999:db:mysql01
aws rds create-db-instance \
--db-instance-identifier cluster01-instance01 \
--db-cluster-identifier cluster01 \
--db-instance-class db.t3.small \
--engine aurora-mysql
-- Aurora リードレプリカの昇格
aws rds promote-read-replica-db-cluster \
--db-cluster-identifier cluster01
aws rds describe-events
(2-2)暗号化ありの場合
-- テスト用MySQL RDS作成
aws rds create-db-instance \
--db-instance-identifier mysql02 \
--allocated-storage 20 \
--db-instance-class db.t3.micro \
--engine mysql \
--master-username root \
--master-user-password 'password' \
--no-multi-az \
--engine-version 5.7.34 \
--storage-type gp2 \
--no-publicly-accessible \
--storage-encrypted
-- Aurora リードレプリカの作成
aws rds create-db-cluster \
--db-cluster-identifier cluster02 \
--engine aurora-mysql \
--replication-source-identifier arn:aws:rds:ap-northeast-1:999999999999:db:mysql02 \
--storage-encrypted
aws rds create-db-instance \
--db-instance-identifier cluster02-instance01 \
--db-cluster-identifier cluster02 \
--db-instance-class db.t3.small \
--engine aurora-mysql
-- Aurora リードレプリカの昇格
aws rds promote-read-replica-db-cluster \
--db-cluster-identifier cluster02
aws rds describe-events