クラウドインテグレーション事業部の池田(kiwi_clp)です。
本記事ではVeeam Backup for AWSでAWSリソースを保護する方法や利用するメリットを紹介したいと思います。
まず初めにVeeamはご存知でしょうか。
オンプレミスVMwareのバックアップ環境を構築された方なら馴染のある製品だとは思いますがスイス創業のバックアップソリューションです。
VMware環境など仮想環境に特化したバックアップソリューションでエージェントレスで多彩な機能を提供しています。
ストレージスナップショット連携やレプリケーション、シングルファイルリストア、バックアップファイルから仮想マシンをリストアせずに起動できるインスタンスVMリカバリーなどVMware環境で柔軟なバックアップ、リストアが可能な製品です。
私もオンプレミスのVMware環境ではよく使っていました。
Nutanix環境、物理環境も対応しており世界的にもシェアが高い製品です。
そのVeeam Softwareがクラウドのデータ保護の製品も出しており、AWSのリソース保護にはVeeam Backup for AWSという製品が提供されています。
Veeam Backup for AWSとは
Veeam Backup for AWSは、AWSクラウド環境に特化したデータ保護ソリューションでEC2、RDS、EBS、EFS、VPC、DynamoDB、S3などのリソースデータを保護することが出来ます。
Veeam Backup for AWSは以下のような特徴があります。
- リージョン間コピー、S3への二次バックアップなど柔軟なバックアップポリシーが設定出来る。
- バックアップ、リカバリの自動化が出来る。
- 複数AWSアカウントのリソース保護を一括で出来る。
- オンプレミス環境にAWSのバックアップを保管出来る。
基本動作として各AWSリソースのスナップショットを取得、管理を行う為エージェントレスでAWS APIを管理サーバーが実行、スナップショットデータの管理を行います。
S3やオンプレミス環境へのバックアップ連携は取得したスナップショットからバックアップファイルの実体を作成して保管することが可能になります。
Veeam Backup for AWSのニーズ、ユースケース
そもそもAWS標準サービス、機能でもバックアップの取得が出来るのにVeeam Backup for AWSを導入する必要があるのか、と疑問の方は多いと思います。
確かに標準的なバックアップ機能だけが要件の場合には不要だと思います。
複数のAWSアカウントや複雑なバックアップポリシーが必要な場合に適しているので以下にどういったニーズで導入するのか、ユースケースはどのようなものがあるのか記載します。
複数のAWSアカウントに存在するリソースのバックアップを一元管理したい
AWS Organizationsは使っていない複数のAWSアカウント環境化でバックアップの管理を一元的に行いたいケースに適しています。
Veeam Backup for AWSの管理サーバーを共通環境のAWSアカウントに立てて管理するAWSアカウントでIAMロールを作成し、Veeam Backup for AWSの管理サーバーからIAMポリシー経由で各AWSアカウントリソースのバックアップを取得します。
また、バックアップ失敗時の通知なども標準機能としてあるため管理が楽になります。
オンプレミスで使っているVeeam Backup&Replicationの管理サーバーにも統合することが出来るのでオンプレミス環境、AWS環境のバックアップを一元的にコンソールから確認することも可能です。
※Veeam Backup&ReplicationからEC2などのバックアップジョブは作成出来ません。ジョブの実行確認のみ可能です。
EC2のシングルファイルリストアを行いたい
このニーズは多くあるかと思います。標準のバックアップではEBSのスナップショットを作成しますがシングルファイルリストアをする場合にはスナップショットからボリュームを作成、ボリュームをアタッチしてOS上から目当てのファイルを吸い出す必要があります。
Veeam Backup for AWSではシングルファイルリストアの機能を提供しており、対象のスナップショットをVeeam Backup for AWSが一時的にリストア用に立ち上げるwokerインスタンスにアタッチしてwokerインスタンス経由でweb画面でシングルファイル機能を提供します。
web画面で対象のボリュームのエクスプローラーが立ち上がりweb画面にアクセスしているクライアントに対象のファイルダウンロードが可能です。
ジョブツールでバックアップ制御を行いたい
JP1やsystemwalkerからバックアップジョブを実行したいニーズに答えることが可能です。
APIで操作が可能なため前段のジョブ実行後にバックアップを取得することが可能なため既存のジョブツールでオンプレミス、AWSリソースのバックアップ管理が可能です。
もちろんAWS APIだけでAMIの取得なども可能ですがリージョン間コピーなど後続の処理を行うには処理が複雑になりがちですがVeeam Backup for AWSですとバックアップジョブをキックするだけで後続の処理をVeeam Backup for AWSに一任することが可能です。
バックアップステータスの取得なども可能なのでジョブに組み込みやすいです。
指定した時間にバックアップ取得を行いたい
AWS Backupだとバックアップウィンドウ内で不定の時間でバックアップを取得する仕組みのためAM2:00に取得をしたい。というニーズがある場合にはVeeam Backup for AWSが適しています。
Veeam Backup for AWSはジョブの実行時間に対象のEC2などのスナップショットを取得するため日時指定が可能になります。
EC2のIPアドレスを引き継いでリストアしたい
AWS Backupで取得したAMIからリストアする場合には不定のIPアドレスでリストアが行われます。
ENIの引き継ぎを行えばIPアドレスを引き継いでリストアが可能ですがオペレーションが煩雑になります。
Veeam Backup for AWSですと上書きリストアでリストア前に使っていたIPアドレスを指定してリストアが可能になりますのでアプリケーションへの影響を最小限にしてリストアが可能です。
※MACアドレスも引き継ぎたい場合はAMIからENIを引き継いでリストアする必要があります。
アプリケーションの静止点を確保したい
Veeam Backup for AWSではSSMを利用してバックアップ取得前、取得後にスクリプトを実行することが可能です。
スナップショット取得前にサービスの停止などをVeeam Backup for AWS単体で行えますので静止点の確保が容易となります。
別AWSアカウントにリストアしたい
EC2などを別AWSアカウントにリストアしたい場合にVeeam Backup for AWSコンソールからリストアが可能です。
Veeam Backup for AWSがなくてももちろん可能ですがオペレーション簡易化に有効です。
バックアップ取得のコストを事前に試算したい
Veeam Backup for AWSではジョブの作成画面で参考程度ではありますがどれくらいコストがかかるか確認が可能です。
世代数、取得頻度、リージョン間コピーなどジョブごとの設定で試算が可能です。
オンプレミスにAWSリソースのバックアップを保管したい
あまりニーズとしては無いと思いますがAWSリソースのバックアップをオンプレミスに保管したい要件がある場合に有効です。
オンプレミスにバックアップを保持しているとAWS側でなんらかのトラブルがありEC2が起動できない時などにオンプレミスのVMware環境にリストアすることも可能です。
その場合はVeeam Backup&Replicationが必要となりますがVeeam Backup&ReplicationからEC2へのリストアも可能ですのでオンプレミスで緊急的に稼働、またEC2に戻すということも可能です。
Veeam Backup&Replicationのライセンスを有効活用したい
ユニバーサルライセンスなどをお使いの場合、Veeam Backup&ReplicationとVeeam Backup for AWSでライセンスの混在が可能です。
Veeam Backup&ReplicationでVeeam Backup for AWSを統合管理する必要がありますがVeeam Backup for AWSのアップデート管理、ジョブ管理も一元的に可能になるのでVeeam Backup&Replicationユーザの方にはおすすめです。
購入しているライセンスが対象かどうかは購入元にお問い合わせください。
Veeam Backup for AWSで適していないこと
ユースケースなど記載しましたが逆にVeeam Backup for AWSを使うことでできなくなることもありますので以下に記載します。
AMIを利用したリストア
Veeam Backup for AWSはEBSのスナップショットを取得し、各サーバーの情報もデータベースに格納してリストア時はEBSをリストア、稼働前のインスタンスで使われていたAMI、なければデフォルトのOSAMIから立ち上げてEBSの付替を行います。
MACアドレスを引き継ぐためにAMIからENIを引き継いでリストアなどが出来ませんのでご注意ください。
RDSのポイントタイムリカバリーの利用
Veeam Backup for AWSでRDSのバックアップを取る場合、手動スナップショットが取得されます。
ポイントインタイムリカバリを利用したい場合は標準の自動バックアップを有効にしてください。
Veeam Backup for AWSのデプロイ
AWS Marketplaceから展開が可能です。
Veeam Backup for AWS Free Editionは10リソースまで無料で利用が可能です。
Free Editionで立ち上げてパブリックIPでhttpsアクセスします。
初期構成が終わるのを待ちます。約10分ほどで設定画面に移行します。
ライセンス承諾
構成モードの選択です。IAMロールを自分で作る場合はManualで。
今回は推奨のAutomaticを選択します。
構成するためのIAMアクセスキー、シークレットキーを入力します。
必要な権限は下記のドキュメントに記載されています。
続いてVeeam Backup for AWSにログインするためのユーザー情報を入力します。
タイムゾーンを設定して設定
初期構成でIAMユーザーのアクセスキー、シークレットを利用してIAMロールが作成されます。
IAMロール作成後はIAMユーザーは削除可能です。
正常に初期構成が完了すると下記のログインが画面が表示しますので設定したユーザーIDとパスワードでログインします。
下記のダッシュボードが表示されましたらデプロイ完了です。
Veeam Backup for AWSのworkerインスタンスのデプロイ
シングルファイルリストアやS3バックアップなどで利用するworkerインスタンスの設定を行います。
右上の[Configuration]→[Workers]を選択し、[Add]からリージョン、AZ、VPCなどを設定します。
wokerインスタンスのデプロイテストは[Test FLR]を選択します。
workerインスタンスがデプロイされましたら以下のようなURLが表示されます。
URLにアクセス出来ましたらwokerインスタンスの構成設定が問題なく動作出来るか確認ができます。
[End Test]を選択してwokerインスタンスを停止します。
バックアップジョブの作成
バックアップ取得のためのバックアップジョブを作成します。
[Policies]→[Add]を選択します。
バックアップジョブ名を設定します。
バックアップ対象のアカウント、リージョン、取得するリソースを選択します。
OS側の静止点(Microsoft VSS)を取得するかバックアップ実行前にスクリプトを実行するか選択します。
スクリプトはEC2内の特定フォルダパスに保管されたスクリプトを指定します。
リージョン間転送、S3への二次バックアップを選択します。
S3への二次バックアップは事前にS3バケットを登録する必要があります。
取得スケジュールを設定します。
毎日指定時間に1回取得する場合はWeeklyを選択します。
取得したEBSスナップショットに付けるタグを設定します。
失敗時のリトライ回数を設定します。
取得世代数、リージョン間レプリケーション、S3バックアップなどの選択によりバックアップ料金の概算が表示されます。
確認画面後、ジョブの作成が出来ます。
以下のポリシーメニューでジョブの実行結果を確認出来ます。
詳細なジョブステータスは以下のような形式で確認が可能です。
シングルファイルリストアの方法
ダッシュボードから[Protect Data]を選択し、対象のサーバーをチェックして[Restore]→[File-level Recovery]を選択します。
[Restore Point]を選択してリストアしたい世代を選択します。
対象のファイルを元のEC2上にリストアする場合にAdditional restore modeを有効にします。
要件がなければデフォルトのまま進めます。
リストア理由を入力して完了します。
リストア用のwokerインスタンスが立ち上がります。
リストア画面にアクセスするために画面に表示されるURLを選択してください。
リストアしたいファイルをチェックして[Restore List]を選択します。
[Download]を選択してローカルPCにリストアしたいファイルをダウンロードして完了です。
EC2にはローカルPCからリストアしたファイルをアップロードします。
Veeam Backup for AWSはAWSの仕様をうまく利用してバックアップ機能の提供を行っています。
管理サーバー、workerインスタンスの利用料、ライセンス料金がかかりますが多くのマルチアカウントにまたがるEC2をバックアップ統合管理するには最適な製品だと思います。
是非Veeam Backup for AWSをご活用ください。