# ポイントインタイムリカバリ

Source: https://support.kapsulehost.com/ja-jp/site-pitr

ポイントインタイムリカバリは、WordPress および WooCommerce サイトを対象に、データベースを昨日実行されたバックアップの時点だけでなく、任意の選んだ時刻の状態まで再構築できる機能です。本ガイドでは、この機能が対応する範囲と対応しない範囲、有効化の方法、復元のリクエスト方法、そして復元が実際に何に影響するのかを正確に説明します。

## この機能の目的

毎日のバックアップでは、1日に1つの復元ポイントしか得られません。これはほとんどの障害には十分ですが、たとえば午後2時15分に不正なインポート、不具合のあるプラグイン、誤った一括編集が実行され、気づいたのが午後4時だったという特定のケースでは役に立ちません。昨日のバックアップを復元すると、その日の午前中に行われた本物の作業も、間違いと一緒にすべて失われてしまいます。

ポイントインタイムリカバリはこの隙間を埋めます。これを有効にすると、データベースの変更ログが継続的にオフサイトストレージへ送信されるため、保持期間内であればどの時点までも復元を再現できます。

> **Warning:** ポイントインタイムリカバリが対象とするのはデータベースのみです。ファイルは対象外です。アップロードファイル、テーマやプラグインのコード、ディスク上の設定ファイルは含まれません。誰かが画像フォルダを削除した場合、PITR ではそれを元に戻すことはできません。ファイルについてはファイルバックアップが必要です。[バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup)と[バックアップからの復元](https://support.kapsulehost.com/ja-jp/restoring-from-backup)をご覧ください。

## KPanel 内の場所

1. [KPanel](https://kpanel.kapsulehost.com)にサインインします。
2. 左側のサイドバーで**ウェブサイト**をクリックし、対象サイトをクリックします。
3. サイトの左メニューで**バックアップ**を開き、次に**ポイントインタイムリカバリ**を開きます。

直接アクセスするアドレスは `/websites/<site-id>/pitr` です。

![KPanel におけるサイトのポイントインタイムリカバリ](https://support.kapsulehost.com/help/screenshots/site-pitr.a2b6d785.webp)

## 利用条件

ポイントインタイムリカバリを利用するには、2つの条件を満たす必要があります。

**ご契約プランがこの機能に対応している必要があります。** これは WordPress プランファミリーで利用可能です。

**サイトが WordPress または WooCommerce サイトである必要があります。** これは本機能がマネージドデータベースに依存しているためです。

いずれかの条件を満たさない場合、画面上にその旨が明確に表示されます。ポイントインタイムリカバリは、マネージドデータベースを持つ WordPress および WooCommerce サイトでのみ利用可能です。その場合、設定できる項目はありません。

## 有効化の方法

**PITR ステータス**カードには、現在の状態を示すステータスピル、使用中のバックエンド、最後に変更ログが送信された時刻、そして保持日数が表示されます。

**PITR を有効化**をクリックすると機能がオンになります。保持期間は30日間です。

有効化してもデータには一切変更が加わりません。これは、通常の毎日のバックアップと並行して実行される継続的な送信プロセスを開始するものであり、バックアップを置き換えるものではありません。

> **Note:** 有効化した直後には復元ポイントは存在しません。何かを再現できるようになるには、少なくとも1回は送信が実行される必要があり、最初の送信はおよそ5分以内に行われます。それまでは、画面上に復元ポイントがまだない旨が表示されます。

## 復元ウィンドウの確認方法

送信が実行されるようになると、**利用可能な復元ウィンドウ**カードに、復元可能な最も早い時刻と最も遅い時刻、およびそれをカバーするために保持されている変更ログファイルの数が表示されます。

これは障害が発生してからではなく、事前に確認しておいてください。ウィンドウの開始時刻が想定より遅い場合は、どこかの時点で送信が中断され、古い部分の保持期限が切れたことを意味します。

## 復元のリクエスト方法

1. **ポイントインタイムリカバリ**タブを開きます。
2. 復元ウィンドウが希望する時刻をカバーしていることを確認します。
3. **復元先タイムスタンプ**で、日付と時刻を選択します。障害の発生前、発生後ではなく、直前の時点を選んでください。
4. **ステージング DB への復元をリクエスト**をクリックします。

リクエストはただちに検証されます。指定したタイムスタンプが利用可能なウィンドウの範囲外である場合、推測させるのではなく、正確なウィンドウの範囲が表示されます。

## 復元が実際に行うこと

ここは正確に理解しておくべき部分です。多くの方が想像することと正反対だからです。

**ポイントインタイムリカバリによる復元は、本番環境のデータベースには一切触れません。** 復元は、この目的のために新規作成される別個のステージングデータベースに対して行われ、ドメイン名と対象日時にちなんで命名されます。その間、本番サイトは自身のデータベース上でそのまま稼働し続け、変更されることはありません。

復元をリクエストしても、何も上書きされず、何も削除されず、データが失われることもありません。これは意図的な設計です。データ復旧ツールの本質は、使用してもそれによって状況が悪化しないことにあります。

得られるのは、確認可能な1つのデータベースです。本番環境のデータベースと比較したり、破損した行だけを取り出したり、あるいはそのスナップショット全体を採用したいと判断したりすることができます。ステージング環境の復元結果を本番データベースに反映させる作業は、別の、意図的なステップであり、弊社チームがお客様とともに行うものであって、ボタン1つで裏側で自動的に行われるものではありません。

> **Important:** 復元されたデータベースへの切り替えを行うと、復元ポイント以降に本番データベースへ書き込まれたすべての内容が破棄されます。その時刻以降に行われた注文、投稿されたコメント、編集されたコンテンツは、本番データベースにのみ存在する状態になります。切り替えを行う前に、何を引き継ぐ必要があるかを決め、必ずその旨をお伝えください。これが、復元結果がまずステージング環境に反映される理由です。

## リクエストの状況確認

すべてのリクエストは**復元要求**テーブルに表示されます。

| 列 | 表示内容 |
|---|---|
| リクエスト日時 | リクエストした日時 |
| 対象 | 復元を依頼したタイムスタンプ |
| ステータス | リクエストの進行状況 |
| ステージング DB | 復元先となるデータベース名 |

復元の実行中は、現在の段階が表示され、再現処理が始まると、全体のうち何個の変更ログファイルが適用されたかが表示されます。リクエストが失敗した場合は、その下にエラー内容が表示されます。

1つのサイトにつき、同時に実行できる復元は1件のみです。実行中にもう1件リクエストすると、待ち行列に入るのではなく、競合として扱われるため、2件目のリクエストが1件目を壊してしまうことはありません。

弊社エンジニアリングチームがステージング環境への復元を完了させ、ステージングデータベースの準備が整い次第、メールでご連絡いたします。また、リクエストを受け付けた時点でも、対象タイムスタンプとステージングデータベース名を記載した確認メールが届きます。

## 適切なタイムスタンプの選び方

**気づいた時刻ではなく、実際に障害が発生し始めた時刻を特定してください。** 通常、この2つには数時間の差があります。アクティビティログ、注文の日時、あるいは最後に正常だったとわかっているコンテンツ編集の時刻を確認してください。

**少し早めの時点を狙ってください。** 障害発生の直前を復元ポイントにすると、正当な書き込みを数分分失うだけで済みます。直後を選ぶと、障害に加えてそれ以外のすべても復元されてしまいます。

**復元ポイント以降に発生した出来事を記録しておいてください。** 注文、会員登録、コメント、フォーム送信などです。そのリストが、切り替えを行う際に手動で引き継ぐ必要がある内容になります。

## トラブルシューティング

**画面に、PITR は WordPress および WooCommerce でのみ利用可能だと表示される。** サイトがそれらの種類ではないか、ご契約プランが本機能に対応していません。

**復元ポイントがまだ存在しない。** 有効化後、少なくとも1回は送信が実行される必要があります。最初の送信はおよそ5分以内に行われます。

**希望する時点が利用可能なウィンドウの範囲外である。** 保持期間は30日間ですが、送信が中断された場合はウィンドウがそれより短くなることがあります。エラーメッセージに正確な範囲が表示されます。必要な時点がすでに保持期限を過ぎている場合は、毎日のバックアップをご利用ください。[バックアップからの復元](https://support.kapsulehost.com/ja-jp/restoring-from-backup)をご覧ください。

**すでに復元が実行中である。** 完了するまでお待ちください。テーブルに現在の段階と進行状況が表示されます。

**ステータスに、送信プロセスに関するバナーが表示される。** リクエストは記録されており、メッセージには現在の状態が説明されています。データが失われることはありません。

**データベースではなくファイルを元に戻したい。** PITR では対応できません。ファイルバックアップをご利用ください。なお、完了したバックアップは、全体を一括で復元するだけでなく、ファイル単位で参照することもできます。

## 関連ページ

- [バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup):この機能と並行して実行される、毎日のファイルおよびデータベースのバックアップについて。
- [バックアップからの復元](https://support.kapsulehost.com/ja-jp/restoring-from-backup):サイト全体を復元する方法について。
- [ステージング環境](https://support.kapsulehost.com/ja-jp/staging-environments):変更を本番環境に反映する前にテストする方法について。
- [サイトセキュリティ](https://support.kapsulehost.com/ja-jp/site-security):データ損失の原因が誤操作ではなく不正アクセスによるものだった場合。

障害対応の最中で、どのツールを使えばよいかわからない場合は、KPanel の**サポート**からご連絡いただくか、サイト名と問題が発生した時刻を記載のうえ、[support@kapsulehost.com](mailto:support@kapsulehost.com)までメールでお問い合わせください。
