バックアップ
- 自動的にバックアップが取得される。backup retention periodの期間保持する。1~35日が指定可能。デフォルトは1日
- バックアップは増分(最初の1回はフル?)
- バックアップデータの書き出し中にDBサービスの中断や性能上の影響はない
- クラスターボリュームのスナップショットを自分で取ることもできる。これには保持期間はない
- スナップショットから新しくDBクラスターを作成することができる
- 自動バックアップは無効化することはできない
- 自動バックアップとスナップショットはAuroraのバックアップストレージに保存される(詳細はこのページを参照)
- スナップショットの取得元のクラスターを削除した後は、そのスナップショットの保存にはAurora標準のバックアップストレージの料金がかかる(一緒には消えない)
- バックアップはS3に格納されている
- バックアップは、バックアップウィンドウと呼ばれるユーザーが設定可能な30分間隔の時間に1日1回行われる(RDSの説明であるが、おそらくAuroraも同じ?)
データのリストア
- バックアップまたはスナップショットから新しくDBクラスターを作成してデータを復旧させることができる
- バックアップ保持期間の任意の時点にリストア可能
- 保持期間内のAuroraのバックアップは増分なので、リストア時間の短縮のためにスナップショットを頻繁に取る必要はない
- DBインスタンスのリストア可能な最も直近の時点あるいは最も古い時点は、RDSコンソールのLatest Restorable TimeあるいはEarliest Restorable Timeを見る
- リストア可能な最も直近の時点は通常は現在時刻(障害発生時点)から5分以内
- リストア中はLatest Restorable TimeとEarliest Restorable TimeはNULLになる
- Latest Restorable Time、Earliest Restorable TimeがNULLの場合、バックアップやリストアをリクエストすることはできない
- 特定時点へのリストアについてはこのページを参照
DBクローニング
- DBクローニングを使用してDBクラスターのDBを新しいDBクラスターにクローンすることができる
- クローンのDBは最初に作成されるときは最小限の領域しか使用しない。ソースDBまたはクローンDB上でデータが変更されるときにだけデータが(クローンDBに)コピーされる
- 1つのDBクラスターから複数のクローンを作成することができる。またクローンからクローンを作成することもできる
- DBクラスターのクローニングについてはこのページも参照
バックトラック
- バックアップからデータをリストアするのではなく、DBクラスターを特定の時点に「巻き戻す」ことができる
- 特定時点にリストアできるバックアップに置き換わるものではない
- 間違えを簡単に元に戻すことができる。WHERE句なしのDELETEを実行した場合、サービスの最小限の中断でその前の時点に戻すことができる
- 巻き戻しにかかる時間は数分以内
- 過去のデータ変更を調べることができる。例えば特定のデータ変更が起きた時間を知るために、DBクラスターを巻き戻したり、進めたりすることができる
- DBクラスターのバックトラックを有効にすると変更レコードが生成され、目標バックアトラックウィンドウの間保持される。時間単位で課金される
- 例えばテーブルを削除したときにバックトラックウィンドウにそのテーブルを格納する十分なスペースがない場合はバックトラックの変更レコードからそのテーブルは削除される可能性がある
- 必ずDBクラスターの一貫性が取れている時点に巻き戻すことになる。これによりバックトラック完了時点でコミットされていないトランザクションというのはないことになる。バックトラックの時点を指定すると、Auroraはそれに最も近い一貫性が取れている時点を採用するので、完全には一致しない可能性がある。正確な時点はCLIのdescribe-db-cluster-backtracks で知ることができる
- 使用するにはDBクラスター作成時(リストア時、クローン作成時)にバックトラック機能を有効にする必要がある。途中から有効化はできない。途中で有効から無効にすることはできる
- バックトラックウィンドウの上限は72時間
- バックトラックはDBクラスター全体に作用する。特定のテーブル、特定の変更だけを戻すことはできない
- バイナリログレプリケーションを使用したバックトラックはサポートしていない。バックトラックを設定、使用する前にクロスリージョンレプリケーションは無効化しておく必要がある
- クローンDBをそれが作成された時点より前に戻すことはできない。オリジナルのDBを使用してクローンが作成された時より前に(クローンDBを)巻き戻すことができる
- バックトラックではDBインスタンスの短時間の中断が発生する。バックトラックを開始する前に、読み取りや書き込みが発生しないようにクライアントを停止または一時停止する必要がある。バックトラックを処理する際、AuroraはDBを一時的にサービス停止し、開いている接続を閉じ、コミットされていない読み取り書き込みを捨てる。その後、バックトラック処理が完了するのを待機する
- バックトラックはMySQL 5.6でのみサポートされている。バックトラックを有効にしたMySQL 5.6クラスターを5.7にアップグレードすることができない
- 5.6のスナップショットを5.7にリストアすることはできない
- 5.6のPITRで5.7にリストアすることはできない
- 上記の制約は5.6のクラスターでバックトラックをオフにしていても該当する
- デフォルトではバックトラックは無効
- バックトラックはそれが行う変更についてバイナリログのエントリを生成しない。バイナリログの方式を採用している場合、組み合わせることはできない