メインコンテンツまでスキップ

特定時点への復旧

Point-in-time recovery は、選んだ時点のデータを秒単位で再現します。時刻が特定できる障害、たとえば失敗したマイグレーションや誤った DELETE の後で、スケジュールされた backup まで戻すとそれ以降のデータをすべて失ってしまう場合に使います。

仕組みは full backup の上に archived log を再適用するもので、そのため戻したい時点より前に両方が揃っている必要があります。

注記

対応するのは PostgreSQL、MySQL、MariaDB のみです。他のすべての engine では backup からの restore が復旧手段になります。

警告

この操作は新しい database を作成します。既存の database を上書きしないため、追加の quota を見込み、完了後にアプリケーションの接続情報を更新してください。

前提条件

  • database で PITR が有効になっていること。PITR の有効化と無効化 を参照してください。
  • PITR を有効にしたに取得された full backup が 1 つ以上あること。
  • 目的の時点をカバーする archived log が利用できること。
  • 元の database に加えて 2 つ目の database を作成できる quota が残っていること。

復旧を実行する

  1. database ID をクリックし、Backup タブ、続いて Restore サブタブを開きます。

  2. Recover to point in time をクリックします。

    復旧時刻の項目がある Restore Database to a Point in Time ダイアログ

  3. 各項目を入力します。

    • Recovery cluster name: 新しい database の名前です。
    • Flavor: 新しい database のコンピュート構成です。
    • Recover to: 戻したい正確な日時です。
  4. Recover をクリックします。

その時点のデータを持つ新しい database が作成されます。

警告

戻せるのは、PITR を有効化した後に実行された最初の full backup より後の時点だけです。その backup が完了するまで PITR は利用できず、それ以前の変更は復旧できません。PITR を有効にした時点が保護の開始点ではありません。

復旧する時点の選び方

問題に気付いた時刻ではなく、データが正しいと確信できる最後の時点を選んでください。この 2 つが一致することはまれで、後者を選ぶと問題ごと復旧してしまいます。

判断がつかない場合は、候補の時刻で復旧し、新しい database に接続して内容を確認してください。この操作は元の database に影響しないため、別の時刻で何度でもやり直せます。

次のステップ