背景
- リリース前にサービス品質監査を行う予定
- 回復性特性の中に、データベース問題がある時にデータを回復する
- AWS RDSの機能とmysql機能より、データ復元方法を調査する
概要
復元方法と対応ケースを考える
番号 | 復元方法 | 対応ケース |
---|---|---|
1 | バックトラック | 突然データを削除してしまって、早めに復元したい |
2 | 特定時点へ復元 | クラスターが存在しているが、特定時点(3分前)に戻れる |
3 | スナップショット復元 | クラスターも削除してしまう場合の復元 |
4 | mysqldump | リリース時に、db migrationミスの対応 |
- 上記のテーブル分類より一つ一つ説明する
内容
バックトラック
-
Aurora DB クラスターのバックトラックとは
- 指定した時間まで DB クラスターを「巻き戻し」ます。
- 前提条件
- 操作ミスに本番DBへアクセスしてデータを削除してしまう
- すぐミスを発見できる
- 復旧手順
- 復旧時間
- 10min
- メリット
- 簡単にエラーを取り消すことができます。
- DB クラスターのバックトラックは迅速に実行できます。
- デメリット
- バックトトラックウィンドウの上限は 72 時間
- バックトトラック機能有効の場合は、別の料金がかかる
- 時間あたりの料金: 0.014USD/変更レコード 100 万件
スナップショット復元
- スナップショットからの復元とは
- 前提条件
- クラスターが削除されてしまうが、スナップショットが保留される
- 復旧手順
- 復旧時間
- 40min
- デメリット
- スナップショットの自動バックアップが1日1回
- 新しいクラスターが作成されて、復元後にエンドポイントのことを考えないといけない
特定時点へ復元
- 特定時点へ復元とは
- 前提条件
- バックトラック復元できない場合
- 復旧手順
- 復旧時間
- 40min
- デメリット
- 新しいクラスターが作成されて、復元後にエンドポイントのことを考えないといけない
mysqldump
- 前提条件
- リリース時にdb migrationのために事前バックアップする
- 復旧手順
$ mysql -h hostname -u username -pパスワード < dump.sql
- 復旧時間
- 10min(データの量によって)
- メリット
- バックトラックも復元できるが、料金かからない
- デメリット
- データの量が多い場合は、バックアップの時間がかかる