WordPressのバックアップ方針を決める|復元に必要なデータと運用ルールの整理

当ページは検証・整備中のドラフトです。
内容は実環境での検証や追加調査により変更される予定です。
参照:ページ公開・更新ポリシー

WordPressのバックアップは、障害や操作ミス、アップデートの不具合などが発生したときにサイトを復元するために取得する。

何をバックアップするかの対象だけでなく、取得頻度、保持期間、保存先、復元方法まであらかじめ決めておく。利用するホスティングサービスやバックアップ製品の機能も確認し、自動的に取得されている場合でも、その仕様が自分のサイトに適しているか確認しておく。

バックアップ対象の決定

WordPressのサイトを復元するには、ファイルとデータベースの両方が必要になる。

データベースには投稿、固定ページ、ユーザー、各種設定などが保存されている。画像などのファイル本体やテーマ・プラグインのプログラムはファイルとして保存され、それらに関する設定やメタデータはデータベースにも保存される。

サイト全体を復元するにはこの両方が必要になる。

WordPress本体やテーマ・プラグインは配布元から再取得できる場合もある。ただし、同じバージョンを取得できるとは限らず、独自に変更したファイルが含まれることもある。再取得を前提に除外せず、実際に動作している環境のデータをバックアップすることを基本とする。

バックアップ方式の決定

バックアップには、対象全体を保存するフルバックアップのほか、変更されたデータを保存する差分バックアップや増分バックアップがある。

方式によって必要な保存容量や取得時間、復元方法が異なる。

バックアップ製品やホスティングサービス側で方式が決められている場合もあるため、利用できる方式と復元方法を確認しておく。

参考:フルバックアップ・差分バックアップ・増分バックアップとは

バックアップ頻度の決定

バックアップの取得頻度は、失っても許容できるデータの期間から決める。

例えば1日1回のバックアップでは、障害が発生した時刻によっては前回のバックアップ以降に行った更新を失う。

更新頻度の低いWebサイトと、注文や会員情報などが継続的に追加されるサイトでは、必要なバックアップ頻度も異なる。

サイトで発生するデータの変化と、どこまでの消失を許容できるかを基準に取得間隔を決める。

保持する世代の決定

最新のバックアップだけでは、問題が発生する前の状態へ戻せないことがある。

誤操作やデータ破損などに数日後に気付いた場合、問題を含んだ状態ですでにバックアップが更新されていることも考えられる。

必要な期間まで遡れるように、保持する世代数や期間を決める。

参考:世代管理とは

バックアップ先の決定

バックアップを元のWebサイトと同じサーバだけに保存すると、そのサーバ自体に障害が発生した場合にバックアップも利用できなくなる。

ホスティングサービスが提供するバックアップに加えて、必要に応じて別のストレージやクラウドなどへバックアップを保存する。

バックアップを複数の媒体や異なる場所へ分散して保持する考え方として、3-2-1バックアップがある。Webサイトのバックアップをサーバからローカルへ取り出し、そのデータをPC内の他のデータとともに普段のバックアップ対象へ含める方法もある。既存のバックアップ運用へ組み込みやすく、保存先を分散できる。

参考:3-2-1バックアップとは
参考:WordPressバックアップを外部へ取り出す

復元方法の確認

バックアップは、必要なときに復元できる状態でなければならない。

利用するバックアップ機能について、どのデータを復元できるか、復元操作をどこから行うか、サイト全体を失った場合にも利用できるかを確認しておく。

可能であれば本番サイトとは別の環境で復元を試し、バックアップからサイトを戻せることを確認する。

参考:WordPressのステージング環境を用意する
参考:WordPressをバックアップから復元する

バックアップ運用の自動化

決めた頻度で継続してバックアップを取得するには、手作業に依存しない運用が適している。

ホスティングサービスやバックアップ製品の自動バックアップ機能を利用し、決めた頻度と保持ルールでバックアップされる状態を作る。

自動化した後も、バックアップが正常に取得されているか定期的に確認する。

参考:WordPressバックアップを自動化する