IBM Cloud Backup for VPCでバックアップを取得する

# はじめに
IBM CloudのVPC環境のバックアップソリューションとして[IBM Cloud Backup for VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-backup-service-about)が利用できるようになりました。


このサービスではバックアップの頻度、世代数などのポリシーを作成し、仮想サーバーのストレージボリュームに適用することで、ポリシーに定義されたスケジュールに合わせてスナップショットを自動的に取得してくれるサービスになります。

そのため、実態はボリューム単位でのスナップショットであり、通常のイメージバックアップとは少し扱いが異なることに注意が必要です。

# 今回の構成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/25e180b5-1cb7-c23c-4672-ca51569f2c67.png)

バックアップ対象の仮想サーバーにBoot VolumeとData Volumeをそれぞれ一つずつAttachしています。また、IBM Cloud Backup for VPCではボリュームに付与されたタグをターゲットにしてバックアップポリシーを適用させるため、ボリュームにはタグを付与しました。

また、バックアップジョブを実行させるには対象のボリュームが稼働している仮想サーバーにAttachされている必要があります。

# サービス間の許可設定

バックアップポリシーを作成する前に、IBM Cloud Backup for VPCがリソースを操作できるようにサービス間の権限設定を実施する必要があります。

上部メニューの「管理」->「IAM」から「許可」を開き、新たなサービスの許可設定を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/43a86b47-be6f-2da8-cae4-347ec91ee383.png)

IBM Cloud Backup for VPCでポリシーを自動的に実行するには、下記の3つの権限が必要です。

1. IBM Cloud Backup for VPC -> Block Storage for VPC (Operator)
1. IBM Cloud Backup for VPC -> Block Storage Snapshots for VPC (Editor)
1. IBM Cloud Backup for VPC -> Virtual Server for VPC (Operator)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/9c252409-f447-ebe0-dc54-f90eefb529e8.png)

作成手順の詳細については[こちら](https://cloud.ibm.com/docs/vpc?topic=vpc-backup-s2s-auth&interface=ui&locale=ja)に記載されています。3つの権限をそれぞれ作成してください。


# バックアップポリシーの作成

では、バックアップポリシーを作成していきます。「VPC Infrastructure」メニューの中から「Storage」->「Backup Policies」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/e548ce91-f4f8-b9be-fcde-1948d1d25cfa.png)

メニューに見つからない場合、カタログから選択してポリシーを作成することも可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/bf8d5bee-e603-39dc-a010-57f93e42ebcd.png)

ポリシーを作成します。今回は「backup」タグのついたリソースに対してこのポリシーを割り当てています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/96a98266-bc76-bb2f-38d8-88032f414e02.png)

ポリシーのプランを作成します。頻度は日次、週次、月次、カスタムで設定することができます。(手動で即時にバックアップを実施したい場合は、Snapshot機能を利用する必要があります。)また、時間はUTCで入力する必要がありますので、隣に記載されているLocal Timeを確認し、適切な時間を設定してください。
世代管理に関しては日数か個数を指定することができ、規定に達すると古いバックアップから削除されていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/a221d2f5-7f08-4408-3c18-8035a5b7aaf1.png)


設定が完了したら、「Create backup policy」をクリックしてポリシーの作成を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/e865271e-7ee2-963e-b2c6-ac76252791a5.png)

作成したポリシーの「Applied resources」を確認すると、二つのボリュームに対してバックアップポリシーが適用されていることを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/624eb854-e557-0393-7daf-f9329b1bba38.png)


# バックアップの確認

ポリシーに基づきバックアップが実施されると、ポリシー一覧の画面に実行時間が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/4f13da7e-0a58-dce2-be7b-782028bd6f9f.png)

ポリシーを選択し、「Backup jobs」タブを選択すると実行開始時間や完了時間、作成されたスナップショットなどより詳細を確認することが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/290b1bc7-0b74-81dd-b194-2caff9ce40b3.png)

# バックアップされたデータの復元

バックアップが完了し、スナップショットが作成された後のリストアの方法については、通常のBlock Storage for VPCのSnapshotのリストアと同様に実施します。
https://cloud.ibm.com/docs/vpc?topic=vpc-baas-vpc-restore&interface=ui

作成されたスナップショットは「VPC Infrastructure」メニューの「Storage」->「Block storage snapshots」 にリストされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/f736a81a-0095-8547-19da-07e1d052ee4f.png)

画面右のメニューから「Create volume」を選択することでスナップショットから新しいボリュームを作成することが可能です。新しく作成するボリュームは、既存の仮想サーバーにAttachするか、新規の仮想サーバーにAttachするかを選択することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/5a5be26a-40b6-b898-f961-376aa7f2f2a9.png)

また、Boot Volumeから作成されたスナップショットはブート可能(Bootable)というフラグが立ちます。Bootableなスナップショットは上記の画面から新規にBoot Volumeを作成するだけでなく、仮想サーバーをオーダーする際にもOSとして選択することが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103277/1d7498a8-12d7-02b6-7a50-8f6e66efebb6.png)


# おわりに
今回はIBM CloudのVPC環境で仮想サーバーのバックアップを取得する「IBM Cloud Backup for VPC」の機能を確認しました。[データの整合性やリストア方法など現状では課題もあります](https://cloud.ibm.com/docs/vpc?topic=vpc-baas-vpc-restore&interface=ui)が、今後の機能追加に期待しています。