こんにちは、Veeam SoftwareでSEをしている加戸と申します。
皆さん、AWSとAzureインスタンスのバックアップを検討されたことはありますか?
クラウドのネィティブなバックアップサービスを使うか、Veeamのような3rd Party製品を使うか悩まれたことがある方も多いかと思います。
Veeem Backup & Replication (VBR) v11までは、クラウドインスタンスのバックアップは、以下の2つのアプローチがありました。
- Veeamのクラウドネイティブ製品(Veeam Backup for AWS/Azure/GCP)を利用する
- Veeam Agentでバックアップをする
Veeamのクラウドネイティブ製品を利用する場合、クラウドインフラの設計、構築が必要で、クラウドに不慣れユーザが使うには少々敷居が高いです。
一方、Veeam Agentの場合、クラウドインフラにバックアップサーバとバックアップストレージを構築する必要があり、クラウドコストが増大してしまう問題がありました。
v12では、Cloud Integrated Agentsが利用できます。
Cloud Integrated Agentsでは、クラウドにあるインスタンスをオンプレのバックアップサーバから管理ができ、クラウドのオブジェクトストレージにそのままバックアップができるようになりました。
クラウドのネイティブなバックアップサービスと異なり、スナップショットを使わないのでバックアップコストを下げることができます。
具体的なユースケース
Cloud Integrated Agentsは以下のようなユースケースで効果的です。
- クラウドインスタンスだけのバックアップをシンプルに取りたい (RDSやEFS, Azure Filesはいらない)
- インスタン上で稼働するデータベースのトランザクション整合性バックアップを取りたい
- オンプレで設置済みのVBRバックアップサーバからクラウドインスタンスのバックアップを統合管理したい
- Veeam Backup for AWS/Azure の実行に必要な権限を所持していない
- VPNやダイレクトコネクトなどを必要としないシンプルなネットワーク構成を実現したい
- クラウドコストを抑えてインスタンスのバックアップを取りたい
動作概要
Cloud Integrated Agentsはどのような仕組みなのか簡単に見ていきましょう。
管理するのはVBRバックアップサーバです。バックアップサーバはクラウド側に設置する必要がなくオンプレにあれば大丈夫です。(もちろんクラウドでもOK)
バックアップサーバがゲートウェイサーバ経由で各クラウドプロバイダーのネイティブAPIを使用して対象のインスタンスを自動検出します。
次にインスタンスにインストールするAgentを含んだ設定バイナリをクラウドのオブジェクトストレージにアップロードします。
アップロードは初回のみです。
次に、バックアップサーバで保護グループを新規で作成します。ここでCloud Machinesを選択します。
最後にこの保護グループに対してバックアップジョブを作成し実行します。
必要なのはクラウドのオブジェクトストレージとVeeamバックアップサーバ側での設定なので、比較的簡単に準備ができると思います。
尚、保護グループを作成する前に各クラウドサービスの接続に使用するログイン情報レコードをCloud Credentials Managerで作成しておく必要があります。
AWS、Azureそれぞれのクレデンシャルを事前に作成しておきましょう。
設定方法
それでは、Cloud Integrated Agentsの設定について見ていきます。
まずはInventory > Create Protection Group で Cloud machinesを選択します。
v11では選択できなかった項目です。
次にCredentialsを選択します。
次に対象のインスタンスを検出、選択します。
Add > Machinesを選択するとAPIを介してインスタンスを自動検出してくれます。
(AWSの場合)
(Azureの場合)
Optionsの画面のDeploymentでDistribution repositoryを指定する必要があります。
これはインスタンスにインストールするAgentを含んだ設定バイナリをアップロードするオブジェクトストレージを指定します。
予めオブジェクトストレージのリポジトリを作成しておくか、このタイミングで作成しても構いません。
設定が完了するとインスタンスのスキャンとDistribution repositoryへバイナリのアップロードが実行されます。
バイナリアップロードが完了するとでインスタンスにAgentがインストールされVeeam Cloud Message serviceが起動されます。
これにより各インスタンスとAPIで通信が可能となります。
これで準備は完了です。
バックアップジョブの作成に移りましょう。
バックアップ
Managed by backup serverを選択し先程作成した保護グループを指定、Backup Modeを選択します。
今回はEntire computerでイメージバックアップを取得します。
Storageの画面でBackup repositoryを選択するのですが、ここは先程Distribution repositoryで指定したオブジェクトストレージを指定します。
Guest Processingでapplication-aware processingを有効にすることができます。
Log Shippingを含めてトランザクションレベルで整合性を確保しバックアップが取れます。
最後にスケジュールを設定しFinishです。
きちんとMSSQLのトランザクションログもバックアップしています。
Backups > Object Storageにバックアップファイルの存在が確認できます。
リストア
それでは、取得したバックアップでリストアしてきましょう。
オブジェクトストレージから直接リストアができます。
バックアップサーバからはリストアコマンドをAPIで送るだけとなります。
VM全体を戻すのはもちろん、ファイルレベルリストア、アイテムレベルリストアもVeeam Explorerを使って戻せます。
まとめ
Cloud integrated Agentsはクラウドインスタンスのバックアップをシンプルに取りたいお客様に最適です。
クラウド側にVeeamコンポーネントは不要でオブジェクトストーレジさえあればすぐに利用できます。
インスタン上で稼働するMSSQL、Oracle、MySQL(Linux)、PostgreSQL(Linux)のトランザクション整合性バックアップが取れるのも強みです。
クラウドネイティブバックアップサービスでは手の届かなった機能をVeeam Cloud Integrated Agentsで実現します。