DB がデフォルトキーで暗号化されていると、スナップショットを移行先に共有しても復元できなかった、という話。
ユーザー管理キーの場合の移行方法は記事がたくさんあるので、デフォルトキーが使われている場合の対処だけ紹介。
アカウント閉鎖まで行う時は移行元のスナップショットが消えたりアクセスできなくなったりがあるので、移行先で復元して改めてスナップショットを取っておくのが良い。
そのスナップショットが復元できるところまで確認しておくと盤石
要点
デフォルトキーで暗号化されていると移行先で操作できなくなるため、ユーザー管理キーでの暗号化で作り直してから移行した。
状況
アカウント閉鎖を前提にデータの保存をしようとしていて、別のアカウントにスナップショットを共有した。
だが、移行先アカウントでは暗号化キーへのアクセス権がなくて復元もコピーもできなかった。
暗号化キーがデフォルトキーだったため、別アカウントへの共有設定ができなかった。
解決策
移行元で暗号化キーを変えたデータベースを作成してスナップショットを取り直した。
ユーザー管理キーであれば設定変更が可能で別アカウントとの共有もできるので、キーを変えてDBを作り直した。
- RDS で、対象DBのスナップショットを作成
- KMS でユーザー管理キーに移行先アカウントからのアクセス権を付与(ブラウザから作成すると共有アカウントの設定欄があるので、新しく作るとわかりやすい)
- RDS で、2 のキーを指定してスナップショットを復元
- 復元した DB のスナップショットを作成
- 4 のスナップショットを移行先に共有
- 移行先アカウントでスナップショットを復元して、復元したDBのスナップショットを作成
キーの指定について
DB スナップショットは DB と同じ暗号化キーを使って作成されるようで、キーの指定ができない。
少なくともブラウザコンソールでは指定できなかった。