別で Aurora のスナップショットを別アカウントに共有する方法を書きましたが、その方法だと手動スナップショットの取得に2時間、共有されたスナップショットを新規 Aurora で復元するのに2時間の合計4時間も掛かりました。
ちょっとさすがにそれは長いよねってことで、クローンを利用する方法を試してみました。
移行元アカウントでの作業
KMS キーの作成と共有
Aurora もスナップショットと同じく、デフォルト KMS キーで暗号化されていると別アカウントに共有できないようなので、デフォルトでない KMS キーを作成する。
Aurora のスナップショット(デフォルトKMSキーで暗号化されてる)を別アカウントに共有するに既に書いてあるので、そちらを参照します。
移行したい Aurora DB クラスターをクローン
上で作成した KMS キーを使って暗号化された、クローンを作成
- RDS メニューの「データベース」
- リソース共有を行いたい DB クラスターを選択し、「アクション」の「クローン作成」
クローンの作成
「DB インスタンス識別子」を入力
追加設定の「AWS KMS キー」で、上で作成した KMS キーを利用
最低この2つを変更、クローンを作成する
AWS Resource Access Manager
- AWS Resource Access Manager の左メニューから「リソースの共有」
- 「リソース共有の作成」
リソース共有の作成
リソース共有の名前
共有したい Aurora っぽい名前を入力
リソースオプション
- 検索セレクトボックスで Aurora DB クラスターを選択
- 表示された DB 識別子で共有したい DB を選択
選択されたリソース
上記リソースオプションで選択した DB が表示される
必要があれば触る
タグ・オプション
必要があれば追加
次へ
マネージド型アクセス許可を関連付ける
必要があれば触る
次へ
プリンシパルにアクセス権限を付与する
プリンシパル - オプション
すべてのユーザーとの共有を許可
プリンシパル
プリンシパルタイプの選択 - AWSアカウント
AWS アカウント ID を入力 - 共有先のAWSアカウントID
次へ
確認と作成
問題なければリソース共有を作成
移行先アカウントでの作業
AWS Resource Access Manager で確認
「自分と共有」メニューから、他アカウントから共有されているリソースが表示される
問題なく共有されていれば、RDS メニューの「データベース」にて、赤枠部分に共有されたDBクラスターが表示される
この共有DBクラスターのクローンを作成すれば、移行完了。
ここからクローン作成に2時間30分程度掛かりました。一応4時間に比べると多少短くなっている模様。
参考サイト