Auroraのみのお話なのですが、あるDBを検証用として使用する場合、簡単に複製できればいいなと思うものです。そこで!クローン機能を使えば簡単に本番DBの複製が可能です。今回初めて触って感銘を受けたので、まずは細かい機能のお話からしていきたいと思います。
■Aurora DB クラスターでのデータベースのクローン作成
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Aurora.Managing.Clone.html
■目的/動作
- 稼働環境で影響を及ぼさないために役に立つ
- スキーマの変更やパラメータグループの変更など、変更の影響を試したり評価したりする場合
- データのエクスポートや分析クエリの実行など、大量のワークロードを扱うオペレーションを実行する場合
- 開発やテストの目的で試験的な環境で本番稼働用の DB クラスターのコピーを作成する場合
- クローンはレプリケーションではないので元DBに変更があってもクローン先は更新されない
■制約
- AWS リージョンをまたぐクローンデータベースは作成できない
- 1 つのコピーから最大で 15 までのクローン作成に制限
- アカウント間でのデータベースのクローン作成はサポートされていない
- 異なるVPCのサブネットは同じアベイラビリティゾーンにマッピングする必要があり
あくまで、使用目的としては検証用やRead only用に使うのがふさわしいです。もちろん独立して動いているのでクローンは全く別DBとなります。
■早速試してみる
・クローンの作成
・DBインスタンス識別子
・ログのエキスポート
・待つ
数分後…
基本元の設定とまったく同じなので、迷わずポチリまくりましょう。もちろんインスタンスタイプも応じて変更できます。
■確認
とりあえずテーブルの容量が同じだったらOKなので確認すると、
・元DB
1 2 3 4 5 6 7 |
mysql> select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables group by table_schema order by sum(data_length+index_length) desc; +--------------------+----------------+ | table_schema | MB | +--------------------+----------------+ | adachin | 103580.xxxxxx | +--------------------+----------------+ 3 rows in set (0.01 sec) |
・クローンDB
1 2 3 4 5 6 7 |
mysql> select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables group by table_schema order by sum(data_length+index_length) desc; +--------------------+----------------+ | table_schema | MB | +--------------------+----------------+ | adachin | 103580.xxxxxx | +--------------------+----------------+ 3 rows in set (0.01 sec) |
まったく同じ
■まとめ
すばやく複製されるのはめちゃくちゃいい!!しかも本番DBと同じデータ容量を使用した検証などもできるので、不具合があった場合切り戻しも可能なのは素晴らしい!スナップショットは定期的に消さないとコスト上がりそうですね。
0件のコメント