こんにちは。
このブログはGoogle Cloud Platform(GCP)のGoogle Compute Engine(GCE)を使って運用しています。
最近はようやくブログが安定して稼働していますが、導入した当初はプラグインの互換性やテーマとの相性で頻繁にクラッシュしていたため、スナップショットを活用していました。
GCPにはバックアップ機能があり、スナップショットやカスタムイメージ、マシンイメージがあります。スナップショットのみ無料枠があり、月5GBの容量であれば費用がかかりません。(2023/09/26時点)
今回はスナップショットの使い方と復元の方法についてメモしておきます。
GCE スナップショットを作成する
GCEのコンソールにアクセスして、スナップショット
を選択します。
GCEインスタンスが稼働中でも作成できます。
画面上部にあるスナップショットを作成
をクリックします。
以下のように作成します。
- 名前:適当につけます。
- 説明:空欄
- スナップショットソースの種類:ディスク
- ソースディスク:バックアップしたいディスクを選択します。
- 種類:スナップショット
- ロケーション:リージョンに設定してディスクと同じロケーションにします。
- アプリケーション整合性:チェックをつけなくても復元できました。多分不要です。
設定が完了したら作成
をクリックします。
スナップショット作成には少し時間がかかるため気長に待ちます。
スナップショットの差分バックアップについて
スナップショットの作成では、初回のみディスクのフルバックアップが実行されます。次回以降は、差分バックアップとなり作成されるスナップショットの容量は小さくなります。
上の例では初回作成時が1.1GBで2回目は147.9MBとなっています。
スナップショットの削除について
スナップショットは2回目以降は差分バックアップが作成されますが、初回のスナップショットを削除した場合はどうなるのでしょうか。
スナップショットから復元する際に必要なすべてのデータが、次のスナップショットに移動され、移動先のスナップショットのサイズが増えるようです。つまり、初回スナップショットを削除した場合は、2回目の差分ファイルにフルバックアップデータが移動されて統合されます。
詳しくは公式サイトを参照ください。
GCEスナップショットをスケジュールで自動作成する
次はスナップショットを毎時 or 毎時 or 毎週自動で作成する設定についてです。
スケジュール作成
GCEコンソールを開き、スナップショットにアクセスします。
画面上部にあるスナップショットスケジュールを作成
をクリックします。
以下のように作成します。
- 名前:適当につけます。
- 説明:空欄
- ロケーション:リージョンに設定してディスクと同じロケーションにします。
- スケジュール頻度:毎時 or 毎日 or 毎週から選べます。私は毎週にしています。
- 開始時間:UTC(日本より9時間遅い)で時刻を選びます。
- スナップショットの自動削除までの期間:14日(デフォルト)
- 削除ルール:スナップショットを保持する。
- アプリケーション整合性:チェックをつけなくても復元できました。多分不要です。
スケジュールをディスクに割り当てる
次に作成したスケジュールをディスクに割り当てます。
GCEコンソールからディスクを選び、ディスク名をクリックします。
右上にある編集
をクリックします。見当たらない場合は、3点メニューにあります。
サイズはデフォルトの30GBのままにして、スナップショットスケジュールから作成したスケジュールを選択します。設定が完了したら保存
をクリックします。
スナップショットをスケジュールで自動作成する方法は以上です。私は毎週作成していますが、無料枠に収まっています。
スナップショットから復元する
次に作成したスナップショットからGCEインスタンスを復元する方法です。
スナップショットを作成する手順はよく紹介されていますが、復元については情報が少なかったのでメモとして残します。
復元する方法は2種類あります。
- 現在のインスタンスのディスクをスナップショットから置き換える
- 新規にスナップショットからインスタンスを作成する
現在のインスタンスのディスクをスナップショットから置き換える
障害が起こったインスタンスのディスクを削除し、スナップショットのディスクに置き換えます。この作業をする前にかならずスナップショットを作成するか、マシンイメージを作成するなどのバックアップを実施してください。
復元したいインスタンスを選択して、停止
をクリックします。
ステータスが停止になったことを確認したら、インスタンス名をクリックして詳細画面に移ります。
画面上部にある編集
をクリックします。
設定項目の中央部分にある、ストレージ項目に移動します。
ブートディスクの接続を解除
をクリックします。
次に、新しいディスクを追加
をクリックします。
以下のように設定します。
- 名前:適当につけます。
- ディスクソースのタイプ:スナップショット
- ソーススナップショット:復元したいスナップショットを選びます。
- ディスクタイプ:無料枠の標準永続ディスクを選びます。
- サイズ:30GB
- スナップショットスケジュール:必要に応じて選択してください。
- 整合性グループ:空欄
- 暗号化:Googleが管理する暗号鍵
- アタッチメントの設定:読み取り/書き込み
- 削除ルール:ディスクを保持
設定が完了したら、保存
をクリックします。
保存が完了したら、インスタンスを選択して開始/再開
をクリックします。
私の場合はWordPressのnginxが正常に動作していない場合があったため、コンソールを立ち上げて、以下のコマンドで再起動したところ正常に動作しました。
sudo /opt/bitnami/ctlscript.sh restart nginx
新規にスナップショットからインスタンスを作成する
新たにインスタンスを作成して、ディスクをスナップショットから復元する方法です。
GCEコンソールを開き、画面上部にあるインスタンスを作成
をクリックします。
設定項目がつらつらと表示されますが、中央にあるブートディスクの変更
をクリックします。
スナップショットタブを選択して、
- スナップショット:復元したいスナップショットを選びます。
- ブートディスクの種類:無料枠の標準永続ディスクにします。
- サイズ:30GBにします。
選択
をクリックして、ブートディスクの設定欄にスナップショットが表示されていることを確認します。
この記事ではスナップショットに関係するディスク以外の設定は割愛いたします。他の設定が完了したら、画面下部の作成をクリックして終了です。
お疲れ様でした。
おわりに
スナップショットを毎週作成していれば、ブログがプラグインで爆散しても復旧することができます。スナップショットの他にもWordPressプラグインのAll-in-One WP Migrationでローカルやクラウドにバックアップすると安心です。
バックアップと復旧方法を書いたこの記事が爆散しないことを祈り、投稿ボタンを押します。
Be First to Comment