AWS 上に構築した WordPress のバックアップ方法〜バックアップの取得からリストアまで〜

WordPress の運用をしていると、心配になるのがバックアップの準備です。

せっかく制作したサイトに、どんなトラブルが発生しても、すぐに復旧できるよう事前にバックアップを取る方法を知っておきましょう。

ここでは、AWS 上に構築した WordPress のバックアップを行い、リストアを行えるようにする手順を解説します。

今回は

  • EC2 や EBS のスナップショットのみを取得する場合
  • EBS のスナップショットと RDS のスナップショットを取得する場合
  • WordPress のプラグインを使用しバックアップを取る場合

の 3 パターンを紹介していきます。

EC2 ( EBS ) のスナップショット作成方法

EC2 のバックアップは、EBS のスナップショットを取ることで行います。

ここでは、手動で行う方法と自動的に作成する方法を紹介します。

手動で作成する場合

ストレージタブ

対象の EC2 の「ストレージ」タブから、ボリュームIDの「EBS ボリューム名」をクリックします。

スナップショットの作成

選択した EBS ボリュームのみ表示されるので、チェックを入れて「スナップショットの作成」をクリックします。

スナップショットの作成2

適宜説明を追加し、スナップショットを作成します。

スナップショットの作成完了

以上で作成されていれば完了です。

自動で作成する場合

ライフサイクルマネージャー

「ライフサイクルマネージャー」からライフサイクルポリシーを作成します。

ポリシータイプ

「EBS スナップショットポリシー」を選択し「次へ」をクリック。

ターゲットリソース

ターゲットリソースタグのキーから対象のボリュームを選択。

「ポリシーの説明」にも入力します。

ターゲットリソースタグ

タグと説明の入力例です。

ポリシーのステータス

ポリシーのステータスを「有効」にして「次へ」をクリック。

スケジュール

最後に、スケジュールを設定します。

どのくらいの頻度でバックアップを作成するかを、ここで行いましょう。

今回の例では、9 時から 12 時間おきに、毎日バックアップを作成するようにしています。

バックアップ例

以上の操作で作成できれば、成功です。

EC2 のリストア

ここでは、スナップショットから EBS を作成後、EC2 を作成してアタッチという流れでリストアを行う手順を紹介します。

インスタンスの状態

通常通り EC2 を起動します。

インスタンスを起動

適宜変更を行いインスタンスを起動します。

インスタンスの停止

起動後に、一旦停止させます。

インスタンスの概要

停止後にストレージタブから、リストアしたいボリュームをクリックします。

ボリュームのデタッチ

対象のボリュームを選択し「ボリュームのデタッチ」をクリックします。

この作業は EC2 を停止後でないと行えないため、必ず停止しているか確認してください。

スナップショットから EBSを選択

スナップショットから EBS をリストアします。

対象のスナップショットを選択し「スナップショットからのボリュームを作成」を選択。

※リストアは EC2 と同じ AZ(アヴェイラビリティゾーン)で行います。

ボリュームのアタッチ

リストアした EBS の設定画面を開き「ボリュームのアタッチ」を選択します。

ボリュームのアタッチ入力項目

インスタンスの項目で、先ほど起動した EC2 を選択します。

デバイス名を入力し​「ボリュームのアタッチ」をクリックします。

インスタンスの開始

起動したインスタンスに元々アタッチされてた EBS と同じデバイス名を入力します。(今回の場合は /dev/xvda )

「ボリューム ID 」の項目を見て、ボリュームが正しく入れ替わっていることを確認します。

「デバイス名」の項目でルートデバイス名とボリュームのデバイス名が一致していることを確認し、インスタンスを開始します。

RDS のスナップショット方法

RDS は作成すると、勝手に定期的にバックアップを取得する設定になっていますが、頻度等を変更するときは以下から設定します。

RDS データベースの設定画面

対象の RDS データベースの設定画面から、「変更」をクリックします。

バックアップの保存期間

上記の箇所でバックアップの保存期間、取得する時間などを選択できます。

RDSのリストア

スナップショットからRDSをリストアする方法です。

スナップショットを復元

対象のスナップショットを選択し、アクションから「スナップショットを復元」をクリックします。

DBインスタンスの復元

内容を確認し、復元を実行します。

なお、リストアされた RDS は元の RDS と別の名前となります。

endpoint も変わるため、アプリケーション側の DB 情報( WordPress ならば wp-config.php に記載)の DB ホスト名を修正する必要があります。

WordPress のプラグインでバックアップ

WordPress のプラグインを使ってバックアップをしてみます。

ここでは「 UpDraftPlus 」を使用して S3 にバックアップを作成する方法を説明します。

UpDraftPlus の設定

UpDraftPlus の設定

UpDraftPlus を WordPress にインストールします。

UpDraftPlus のインストール
UpDraftPlus でS3バケットの作成

S3 バケットを作成します。

ユーザーの追加

左のメニューからユーザーを選択し「ユーザーを追加」をクリック。

ここから、IAM ユーザーを作成する作業を行います。

ユーザー詳細の設定

ユーザー名を決め「アクセスキー-プログラムによるアクセス」にチェックを入れて作成します。

既存のポリシーを直接アタッチ

「既存のポリシーを直接アタッチ」を選択し、ポリシーのフィルタに「 AmazonS3FullAccess 」と入力。

AmazonS3FullAccess にチェックを入れて次のステップに進みます。

残りの設定は変更せず作成します。

CSVのダウンロード

成功と表示された後、「 .csv のダウンロード」からアクセスキーをダウンロードします。

UpdraftPlus バックアップ

ここから、WordPress プラグインの設定に移ります

左のメニューから「 UpdraftPlus バックアップ」を選択。

設定タブから Amazon S3 を選択します。

S3の設定テスト

先ほどダウンロードした CSV に記載されている

  • アクセスキー
  • シークレットキー
  • バケット名

を入力してテストをクリックします。

テスト成功画面

テストが成功すれば以下のようなブラウザの通知がきます。

変更の保存

下までスクロールして変更を保存します。

これで、UpdraftPlus の設定は完了です。

UpDraftPlus からバックアップを実行する

UpDraftPlus からバックアップを実行

WordPress の左メニューの「設定」から、バックアップ/復元タブを選択。

今すぐバックアップをクリックします。

作業画面

実行中の画面です。

成功画面

S3 バケットに zip が作成されていれば成功です。

バックアップスケジュールの設定

自動バックアップの設定は、上記スクリーンショットの赤枠内で変更できます。

UpDraftPlus からWordPress のリストアを行う

UpDraftPlus からWordPress のリストア

作成したバックアップからのリストアは、左メニューの「UpDraftPlusバックアップ」を選択し、バックアップ/復元の「復元」から実行します。

復元する項目の選択

何を復元するのかを選択し「次へ」をクリックします。

復元の開始

必要ファイルのダウンロード後、復元がクリックできるようになります。

あとは復元されるのを待つだけです。

まとめ

今回は、AWS 上に構築した WordPress の運用において、備えておきたいバックアップやリストアの方法を紹介してきました。

しかし

「WordPress に詳しくないので、自社で設定できるか不安」

「自社の場合はどうすればよいのかわからない」

といった企業様もいらっしゃるかと思います。

そんな時は当社にご相談ください!

当社は設立当初から WordPress を取り扱っており、AWS に関してもセミナーへの参加や登壇、コミュニティへの貢献など、多方面の知識を持っています。

お問い合わせいただければ、専門のスタッフがお客様の課題をヒアリングし、ご希望に応えられる提案をさせていただきますので、右下のチャットボタンからお問い合わせください。

詳しくは下記ページよりご覧ください。

https://labworks.digitalcube.jp/services/

また、WordPress 専用のフルマネージドホスティング「Amimoto」も提供しています。特徴は下記よりご覧ください。