RDS for PostgreSQL から Aurora PostgreSQL へのスナップショットやAurora リードレプリカを利用した移行がマネジメントコンソールから行えない場合の対処方法

マネジメントコンソールでの対応がうまくいかない場合は、AWS CLI での対応を行うことで問題の回避ができることがあります。
2021.10.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

ドキュメントを参考にマネジメントコンソールで RDS for PostgreSQL から Aurora PostgreSQL への移行をスナップショットか Aurora リードレプリカを作成して行おうとしています。

ドキュメントに記載の手順をコンソールで実施していくと「スナップショットの移行」の項目がグレーアウトしており、「Aurora リードレプリカの作成」の選択肢も表示されません。対応方法について教えてください。

スナップショットの移行がグレーアウト

Auroraリードレプリカの作成が出現しない

どう対応すればいいの?

RDS for PostgreSQL のバージョンによっては、AWS CLIを利用することでスナップショットや Aurora リードレプリカの作成が可能です。

スナップショットの場合

$ aws rds restore-db-cluster-from-snapshot \
  --snapshot-identifier <DBスナップショットのARN> \
  --engine-version <エンジンバージョン> \
  --db-cluster-identifier <DBクラスタ名> \
  --engine aurora-postgresql
$ aws rds create-db-instance \
   --db-cluster-identifier <DBクラスタ名> \
   --db-instance-class <<DBインスタンスクラス> \
   --db-instance-identifier <DBインスタンス名> \
   --engine aurora-postgresql

Aurora リードレプリカの場合

$ aws rds create-db-cluster \
   --db-cluster-identifier <クラスター名> \
   --engine-version <エンジンバージョン> \
   --db-subnet-group-name <DBサブネットグループ名> \
   --replication-source-identifier <ソースDBインスタンスのARN> \
   --engine aurora-postgresql
$ aws rds create-db-instance \
   --db-cluster-identifier <DBクラスタ名> \
   --db-instance-class <<DBインスタンスクラス> \
   --db-instance-identifier <DBインスタンス名> \
   --engine aurora-postgresql

変更可能なエンジンバージョンかを確認する

RDS for PostgreSQL のエンジンバージョンとそれに対応する Aurora PostgreSQL のエンジンバージョン、マネジメントコンソールと AWS CLI での変更可否を検証してみました(※ 2021年10月23日時点)。

RDS for PostgreSQL Aurora PostgreSQL コンソール AWS CLI
9.6.20 9.6.21
9.6.21 9.6.21
9.6.22 9.6.22 ×
9.6.23 × × ×
10.15 10.14, 10.16
10.16 10.16
10.17 10.17 ×
10.18 × × ×
11.10 11.11
11.11 11.11
11.12 11.12 ×
11.13 × × ×
12.5 12.6
12.6 12.6
12.7 12.7 ×
12.8 × × ×
13.1 13.3
13.2 13.3
13.3 13.3
13.4 × × ×

上記の表をもとに移行が可能であるか、コンソールでの対応が可能であるかをご確認ください。

参照