Google Cloudでリージョン跨ぎのバックアップ/リストアやってみた①バックアップ取得編

2023年アドベントカレンダー21日目、私個人としてはこの記事で本カレンダー6本目の記事です。

1本目の記事はこちら。
[Amazon InspectorとMicrosoft Defender for Cloudの比較①脆弱な環境準備AWS編](https://qiita.com/hidekko/items/cd22d675323f054068d7)
2本目の記事はこちら。
[Amazon InspectorとMicrosoft Defender for Cloudの比較②Amazon Inspector有効化と分析結果編](https://qiita.com/hidekko/items/cd22d675323f054068d7)
3本目の記事はこちら。
[Amazon InspectorとMicrosoft Defender for Cloudの比較③脆弱な環境準備Azure編](https://qiita.com/hidekko/items/28c6b72e0a4bfb4e4960)
4本目の記事はこちら。
[Amazon InspectorとMicrosoft Defender for Cloudの比較④Microsoft Defender for Cloud有効化と分析結果編](https://qiita.com/hidekko/items/8324a8b85b4dd345e568)
5本目の記事はこちら。
[Amazon InspectorとMicrosoft Defender for Cloudの比較⑤まとめ](https://qiita.com/hidekko/items/b852fed10af5ceb0c639)

前の記事から少し時間が空いています。
空いてる間にふと「GCPの記事書いてないな」と思ったんで今回書きます。
これでAzure、AWS、GCPと3大クラウドはQiitaで記事を書いたことになります。
OCI(Oracle Cloud Infrastructure)も使ったことがあるのですが、これはまた別の機会に。

# 実はGCPはGoogle Cloudに名称変更している
はい。
知ってる人は知ってると思うんですが、念のため記載しておきます。
**<font color="Red">G**</font>oogle **<font color="Red">C**</font>loud **<font color="Red">P**</font>latformの略で<font color="Red">**GPC**</font>だったんですが、2022年6月21日に<font color="Red">**Google Cloud**</font>に名称変更しています。
https://cloud.google.com/blog/ja/topics/developers-practitioners/introducing-new-homepage-google-cloud
略称は何になるんでしょうね？
私も知ってたんですが、SIerの現場ではまだGCPって言ってるんで、私もわざわざ「名称変更してるんですよ！」なんて言ってません。

# 今回やってみたこと
VMのリージョンを跨いだのバックアップ/リストアです。
インフラ屋さんとしてはかなり気になるところですね。
まぁ一番簡単なVM(**<font color="Red">G**</font>oole **<font color="Red">C**</font>loud **<font color="Red">E**</font>ngineで<font color="Red">**GCE**</font>と言います。)で検証してみました。

## バックアップ対象のGCE構築
GCEは何も考えずに適当に構築するとDebian11で構築されます。
そこにapache2インストールして、一応Let's EncryptでSSL化してデフォルトのindex.htmlに構築日を記載しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/f882d64b-653d-a772-df89-ba86edb9c6f6.png)
分かりにくいですが画像上部の<font color="Red">赤枠内</font>がこの環境を構築した日時です。
画像下部の<font color="Red">赤枠内</font>の時間と合致しているので、構築したてホヤホヤだということがお分かりいただけると思います。

## 今回採用したバックアップの取得方法
今回は単純にスナップショットで実施しました。
Azureでいうところの<font color="Red">A</font>zure <font color="Red">S</font>ite <font color="Red">R</font>ecovery(<font color="Red">ASR</font>)のようなGCEにエージェントをインストールしてどうのこうのみたいなサービスもあったので一度構築してみたのですが、私自身が初めて触るサービスだったので結構手間がかかって大変でした。
これはまた連載モノにしないと収まらない分量だったので、冬休みの宿題にしようと思っています。
AWSのサービスも含めて、Azure、AWS、GCPの3大クラウドで類似サービスを比較する、という、結構連載の回を重ねる記事になると思います。
**毎度のことですがこれも全部自腹なので、いつになるのかは私のタイミングでやらせてください。(なので冬休み中にできないかもしれません)**

## 実際のバックアップ設定1.バックアップのスケジュールを作成する
ではバックアップ設定を行います。
結構簡単です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/7313c2bd-e189-6fc8-9683-724408586c9e.png)
画面最上部の<font color="Red">赤枠内</font>にある**prj-cross-region-backup01**というのが**プロジェクト名**、Azureでいうところの**リソースグループ**ですね。
prj=Project
cross-region-backup=リージョン跨ぎのバックアップ
という意味で命名しました。
Azureだとリソースグループ=rgみたいな感じですね。
(あの命名規則気に入ってるんですよね。)
画面左上の三本線、漢数字の三みたいな<font color="Red">赤枠内</font>をクリックするとGCEはじめ色んなサービスが出てくるので、その下の<font color="Red">赤枠内</font>**Compute Engine**を選択します。
これがGCEを表しています。
その下の<font color="Red">赤枠内</font>**スナップショット**を選択します。
これで現在取得済みのスナップショット一覧が見れる画面に遷移しますが、現在何もスナップショットが無いので「表示するスナップショットはありません」と表示されています。
まぁ当たり前ですね。
次に画面上部にある<font color="Red">赤枠内</font>の<font color="Red">[スナップショット スケジュールを作成]</font>をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/36aa30d3-8736-510b-abe0-71957904559d.png)

最上部の<font color="Red">赤枠</font>はスナップショットスケジュールの名前を付けます。
次の<font color="Red">赤枠</font>はオプションなので設定値は無くてもデプロイ可能ですが、私はここにUTC時刻とJST時刻を記載します。
Google Cloudのスナップショットのスケジュール設定機能は現時点(2023年12月18日23時40分時点)ではUTCでのみ設定可能です。
これではパッと見た感じで分かりにくいので、この説明(Description)にUTC→JSTの変換を記載するように工夫しています。
次の<font color="Red">赤枠</font>、<font color="Red">[リージョン]</font>ですが、**この設定値は重要です。**<font color="Red">**必ずスナップショット所得対象のGCEと同じリージョンを選択してください！**</font>
次の<font color="Red">赤枠</font>、[スナップショットのストレージのロケーション]内の設定、**ここも重要です。**<font color="Red">**ここはマルチリージョンを選択してください！
これでこのスナップショットで取得したイメージをマルチリージョンに展開が可能になります！**</font>
    更にその下、この画像内の最後の<font color="Red">赤枠</font>、**これも重要です！**<font color="Red">ここはこのスナップショット対象のGCEを**どこのリージョンにリストアしたいか**を要件として設定を決めてください！</font>
つまりどういうことかというと、このスナップショットで取得したイメージをどこのリージョンでリストア、復元したいか、ということです。
**因みにこの設定値、現時点(2023年12月18日23時48分時点)、ではUS、EU、Asiaの3種類が選択可能です！**
もう<font color="Red">赤字</font>や**太字**ばっかりなんで、何が大事かわからなくなってきていますが、この<font color="Red">**リージョン設定、マルチリージョンか否か、どのロケーション(リストアしたいリージョン)の3点がこの記事の肝です！**</font>
ここさえ抑えておけばリージョン間でのバックアップ/リストアは把握したと言っても良いでしょう。

## 実際のバックアップ設定2.バックアップ時刻の設定
先ほどの画面の続きです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/a2936c01-0a89-5c50-2f4d-bf22dd1d6e73.png)
最初の<font color="Red">赤枠内のスケジュール頻度</font>は今回毎日にしました。
2番目の<font color="Red">赤枠内の開始時刻(UTC)</font>は日本時間(JST)の0時から1時にバックアップを取得したいので、UTCの15時から16時にしています。
3番目の<font color="Red">赤枠内のスナップショットの自動削除までの期間</font>はその次の<font color="Red">赤枠内の削除ルール→31日以上経過したスナップショットを削除する</font>という、一般的に言うリテンションポリシー(バックアップデータ世代保持ポリシー)の設定となっています。
今回は最大1か月間、31日間を選択しました。
これで31日間、毎日日本時間の0時から1時にスナップショットを自動で取得し、31日より古いデータは自動で削除してくれます。
最大で31日間まで遡れる、ということですね。
これで最後の<font color="Red">赤枠内の[保存]</font>をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/f79a73cd-2839-afdf-18c3-8945044d1951.png)
1分くらいでスナップショットのスケジュールが作成されます。

## 実際のバックアップ設定3.バックアップ対象のGCEのディスクを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/4bd3460c-a822-a997-772d-71c8d2095ea8.png)
画面左の<font color="Red">赤枠内</font>**VMインスタンス**をクリックしてます。
画面の中で小さな<font color="Red">赤枠内</font>にGCEのインスタンス名がありますので、これをクリックします。
今回GCEのインスタンス名はgce-crbu01としました。
gec=そのまま、GCEですね。
crbu=**C**ross **R**egion **B**ack**u**pという命名です。
Backupって結構BKって略されるんですが、今回は敢えてBUにしてみました。
(が、しかし違和感がすごいですね。インフラ屋さんしかわからない感覚でしょうか？)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/15abbfbd-edfa-8b30-3e61-7abde10f1efe.png)

画面右側の<font color="Red">赤枠内のスクロールバー</font>でGCEの詳細設定が見れる全体画面の真ん中より少し下くらいに画面を動かします。
[ストレージ]の項目に[ブートディスク]という項目があります。
今回は簡単なWebサーバなのでブートディスク(OSが入っているディスク)しか存在しないので、これ(画面所の名称はgce-crbu01)を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/000e2f92-ee56-dd32-ee2c-1dea1906db0a.png)
現状のブートディスクの設定を確認しましょう。
画面左側の<font color="Red">赤枠内の[スナップショット スケジュール]</font>が[なし]になっていますね。
では画面上部の<font color="Red">赤枠内の[編集]</font>をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/3da0300a-01b4-7caf-6877-9ecb395a6bdb.png)
設定値が出現しますので、<font color="Red">赤枠内の[スナップショット スケジュール]</font>をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/f699b8b9-f33e-890b-d4e7-ccbca107f4eb.png)
<font color="Red">**で、出ました！**</font>
先の手順で作成した[スナップショット スケジュール]ですね！
最近使ってなかった集中線使いましょう！
![集中線.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/fb1b090a-087a-1fda-4b5b-63a8584cb656.png)
**これですよ、これ！**
<font color="Red">来ましたね！
**もう勝ちなんでお風呂入りましょう！**</font>
(今社内のインフラ屋さん3名の間だけで流行っている言葉です。細かい意味はわかりません。)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/9907dc63-d955-bb41-606d-8012ae44d06b.png)
はい。
興奮冷めやらぬ中ではありますが、[スナップショット スケジュール]が正しく選択されていることを確認してから、画面下部の<font color="Red">[保存]</font>をクリックします。

はい。
今日も日付変わっちゃいました！

たぶんバックアップ始まってるかもしれませんが、これからリストアして確認作業する体力は無いので、本日はここまで！