記事の概要
本記事では、GCP(Google Cloud)のサービスであるGCEの自動スナップショットでちょっと引っかかった落とし穴について解説します。
気づけば簡単なことですが、数日気づかなかったのでメモとして記事にします。
自動スナップショットとは
クラウド上のサーババックアップとしてよくスナップショットが利用されています。実際の現場では、運用負荷を下げるために自動でスナップショットを取得することを検討します。
GCPでは、ディスクのスナップショットを取得するために、スナップショットスケジュールを設定することができます。
スナップショットの重要性
クラウドに限らずコンピュータは突然壊れることがあります。
- 間違ってファイルを消してしまった
- 設定を間違えてOSが起動しなくなった
- マシンが物理的に壊れた\(^o^)/
そのため、必要なデータは外へ逃がしておく(バックアップする)必要があります。
オンプレミス環境の場合は、データバックアップと呼ばれる外部ストレージへファイルコピーするバックアップが主流でしたが、VMやクラウド環境が普及してきてからは、スナップショットを使うことが主流となりました。
スナップショットスケジュールの設定方法
設定は、とても簡単です。
まずは、Compute Engineのスナップショットから「スナップショットスケジュールの作成」を選択します。
スケジュールの作成画面で、必要な情報を入力し、「作成」を選択します。
作成後、スケジュールが作成されていることを確認します。
これで終わり…ではありません!!
スケジュールを設定するだけで設定が終わったように思えますが、もう一手設定を行わないとスナップショットは取得されません。
具体的には、ディスクに対して先ほど作成したスケジュールを選択する必要があります。
続いてVMインスタンスの画面からバックアップを取りたいサーバを選択します。
VMインスタンスの詳細画面でサーバに取り付けているディスクを選択します。
ディスク画面の「編集」から先ほど作成したスナップショットスケジュールを選択します。
あとは時間になるまで待ちましょう。時間になると以下のようにスナップショットが勝手に作成されます。
この場合は、2世代保管しているため、3つ目のスナップショットが作成されたら古い順に消えていきます。
まとめ
ちゃんとディスクの設定画面からスケジュールを設定してね!
という記事でした。単純な話ではありますが、気づかないとなんで??となるケースがあるので気を付けましょう。
また、スナップショットは当然ですが課金が発生します。適切な間隔で適切な数を取得するよう心がけると良いと思います。
余談
AWSのEC2では、バックアップとしてAMIが主流です。AMIはサーバをイメージ化するのでディスクの構成情報などまとめてスナップショットを取得することが可能です。
GCPでもイメージをとることは可能ですが、そのままだと自動で取得することはできません。
ディスクが1本ならあまり問題ではないですが、1台のサーバに複数ディスクがくっついているとばらばらのスナップショットを取得すると管理が大変になります。
GCPのイメージは、テンプレートとして使う意味合いが強いのでしょうかね…