Veeam Backup for AWSの設定手順|VBR 13からAmazon S3へEC2バックアップを構成

10

前回、AWS 上の Veeam Backup & Replication(以降、VBR)から Veeam Backup for AWS(以降、VBA)をウィザードを使用して展開を完了しました。本記事は残りのバックアップの実行直前までの設定を行っていきます。

前回記事:Veeam Backup for AWSの導入手順|VBR 13からAWSへVBAアプライアンスを展開

検証環境

■全てのインスタンスは同一 VPC / サブネットに所属し、SG も共用
VPC ID: vpc-ad7a51ca(172.31.0.0/16)
Subnet ID: subnet-050df12e
Security group name: VBR

■VBR
インスタンスタイプ: t3.xlarge (4vCPU / 16GiB / 100GiB EBS)
OS: Windows Server 2025 Datacenter 24H2
VBR: Veeam Backup & Replication 13.1.1.18

■VBA
インスタンスタイプ: t3.medium (2vCPU / 4GiB / 36GiB EBS)
OS: Ubuntu Linux

■Workerインスタンス(バックアップ時のみ作成、完了後に削除される)
インスタンスタイプ:c6a.large (2vCPU / 4GiB)
OS: Ubuntu Linux

■Rocky Linux(バックアップ対象のインスタンス)
インスタンスタイプ: t2.small (1vCPU / 2GiB / 50GiB EBS)
OS: Rocky Linux 9.6

External Repositoriesの設定

最初にウィザードを起動します。間違って「Backup Repositories」を選択しないようにしてください。

「Backup Infrastructure」⇒「External Repositories」⇒(右クリック)「Add」⇒「Veeam Backup Amazon S3」⇒「Amazon S3」を選択します。

1. Name

「Appliance:」にデフォルトで作成済みの “VBR-VBA” がプルダウンに表示されていますので、このまま選択します。「Repository name:」は複数のバックアップ対象がある場合は命名規則を考慮ください。本検証では単一のバックアップ対象のみなので簡易にしました。

2. Account

・「AWS account:」
VBA 作成時にも使用した作業用IAMユーザーのアクセスキーとシークレットキーを入力します。

・「AWS region」
特別な理由がない限り “Global” を選択します。

・「Gateway server:」
VBR がオンプレミスにあり、バックアップデータが AWS(S3)上にある場合、VPC 内に Linux/Windows の小型 EC2 を立てて Gateway server に指定します。これにより、大半のメタデータ処理が AWS 内部で完結し、オンプレミスと AWS 間の回線帯域の消費や通信遅延を抑えることができます。
本検証では VBR が AWS 上にあるため、デフォルトの VBR 自身を選択します。

3. Backet

・「Data center」
ドロップダウンをクリックし、検証環境が存在する(VBR/VBAが存在する)”Asia Pacific (Tokyo)” リージョンを選択します。

・「Bucket」
「Browse…」 からバケットを選択します。バケットを分けたい場合、新規作成して指定します。

・「Make backups immutable for the entire duration of their retention policy:」
S3バケット側で “Object Lock” を有効にしていない場合は、チェックを外したままにします。

4.Encryption

本検証では VBR 独自のバックアップデータの暗号化は行わないので、チェック無しにします。この場合でもAmazon S3 の標準仕様により、バケットレベルのデフォルト暗号化(SSE-S3 / AES-256)は自動的に適用されます。
別途、AWS KMSのキー(SSE-KMS)を利用して暗号化したい場合はチェックをします。その場合、対象のKMSキーに対する権限(kms:Encrypt, kms:Decrypt, kms:GenerateDataKey 等)が作業用 IAM ユーザーに必要になります。

5.Mount Server

・「Windows mount server」
通常は VBR 自身を選択することで問題ありません。

・「Linux mount server」
バックアップ対象が Linux で、OS 固有のファイルパーミッションを保持したファイル単位リストアを行うためには指定が必要です。本検証ではテストしないため設定しません。

6.Apply

自動的に AWS 上の設定が進みます。

7.Summary

作成結果が出力されるので、「Finish」を押下して完了です。

新たにリポジトリが追加されました。

VBAのバックアップポリシー設定

ブラウザから VBA の Web UI に直接接続してリポジトリ選択とバックアップポリシー設定も可能ですが、VBR からも設定用 UI に接続ができます。

「Home」⇒「Jobs」⇒「Backup」⇒(右クリック)「Backup」⇒「AWS」⇒「EC2」⇒「EC2」と選択します。選択と同時に VBA の Web UI(ブラウザ)にリダイレクトされます。

最後の “EC2” をクリックすると、ブラウザが起動し、VBA の管理用 Web UI にリダイレクトされ、EC2 Policy の設定画面となります。

1.Specify policy name and description

「Name」はバックアップ対象が分かりやすい任意の命名にします。

2.Specify source settings

・「Account」
“Default Backup Restore (Default Backup Restore) ” を使用します。この場合、初期展開時に自動生成された “VBR-VBA-VeeamInstanceBackupRestoreAccessRoleV1-*” の専用 IAM ロールが割り当てられます。

「Check Permissions」をクリックすると権限検証が実行されます。緑色のチェック(Pass)が表示されることを確認します。

3.Specify resource settings

・「Regions」
バックアップ対象の EC2 が存在するリージョンを指定します。”Choose regions” リンクをクリックするとポップアップでリージョンが選択できます。

・「Resources」
“Choose resources to protect…” をクリックし、バックアップ対象の EC2 インスタンス(今回はWP / RockyLinux)を指定します。何も出てこない時は “Browse to select specific resources from the global list…” をクリックし、検索をすると出現します。対象の EC2 をチェックして「Protect」をクリックします。

・「Exclude volumes:」
特定のデータボリューム等をバックアップ対象から除外する機能です。”Off” のときに全ボリューム(ルートボリューム含む)がバックアップ対象となり、”On” にすると除外するボリュームを選択する設定項目が現れます。

4.Specify guest processing settings

・「Application processing」
“Enable application-aware snapshots:” は、Windows インスタンス専用の VSS 静止点機能です。バックアップ対象の EC2 インスタンスは Linux のため “Off” のままとします。

・「Guest scripting」
“Scripting for Linux instances:” は、稼働中のデータベース等で静止スクリプトを実行する必要がない場合、 “Off” で問題ありません。

“Scripting for Microsoft Windows instances:” は、VSS に対応していない独自アプリケーションやデータベースをカスタムスクリプトで制御する場合、”On” にします。
※On の場合、VBA から AWS Systems Manager(SSM)を経由して、対象 EC2 インスタンス内部のスクリプトが呼び出されます。

5.Specify target settings

・「Replicas」
“On” にすると、複製先リージョンや保持世代数を指定する項目が展開されます。災害復旧(DR 対策)を目的とする場合に利用します。 本検証では同一リージョン内のバックアップのため “Off” のままとします。

・「Backups」
“Enable backups:”
EBS スナップショットからデータを読み取り、Veeam 独自のバックアップ形式(重複排除・圧縮)に変換してAmazon S3 バケットへ保存する機能です。本検証では S3 バケット “vbr-ec2″ へのバックアップが目的であるため、”On” に切り替えます。

“Deploy workers in production account”
EBS スナップショットから S3 へデータを転送するための小型一時インスタンス(Worker VM)を、対象 EC2 が存在する本番アカウント側で起動するかを指定します。本検証ではデフォルトの IAM ロールを指定しました。

6.Specify scheduling options

本来は Daily / Weekly / Monthly / Yearly それぞれでバックアップスケジュールを詳細に設定します。本検証では手動でジョブを開始するつもりですので、全てを “Off” にして進めます。参考までに、”On” にした場合のスケジュール設定画面を貼っておきます。

Daily:

Weekly:

Monthly:

Yearly:

7.Specify tag settings

“Copy tags from source volumes”
バックアップ対象となる EC2(EBS ボリューム)に付与されている AWS タグを、自動生成される EBS スナップショットにもそのまま引き継いで付与します。

“Add custom tags to created snapshots”
ポリシーによって作成される EBS スナップショットに対して、固有のカスタムタグ(キーと値のペア、最大5組)を任意で追加付与します。

8.Configure retry and notification settings

・「Schedule」
“Automatically retry failed policy”
バックアップジョブが AWS の一時的なエラー(スナップショット作成の競合や API スロットリング等)で失敗した際に、自動で再試行する回数(デフォルト: 3回)です。 本検証では前画面で自動スケジュールを “Off” にしたため、この機能は動作しません。

・「Health check」
“Enable health check”
S3 バケット内に保存されたバックアップファイルのデータブロックや CRC 値をスキャンし、データ破損がないかを定期検証する機能です。本検証では前画面で自動スケジュールを “Off” にしたため、この機能は動作しません。逆に言いますとこの機能は自動スケジュールと連動して実行される仕組みです。

・「Notifications」
ジョブの成功・警告・失敗時に指定メールアドレスへ通知を送信する機能です。 現状は、VBA 自体の SMTP 設定(メール送信設定)が未構成であるため、無効化されています。

9.Cost Estimation

「Schedule」画面で自動スケジュールをすべて “Off” に設定したため表示されません。VBA のコスト試算機能は「1日あたりの実行回数」「保持世代数」「想定変更データ量」に基づいて月額の AWS 費用(EBS スナップショット、S3 容量、API 呼び出し料金等)を算出する仕組みになっているため、実行頻度が未定の手動ポリシーでは計算対象外となります。

10. Review configured settings

“Test Configuration”
ポリシーを保存・実行する前に、バックアップ処理を完了させるための権限やネットワーク環境が揃っているかを事前に一括検証する機能です。

テストが完了したら、「Close」し、「Finish」をクリックします。以下のワーニングが出ますが、これは「東京リージョンに対して、VPC・サブネット等を明示的に指定した専用の Worker 設定が作成されていない」ことを通知しています。タイトルは Warning と表示されますがエラーではありません

このままでも問題ありません。この後、手動でバックアップを実行した時、VBA は一時的に小型インスタンス(Worker)を自動プロビジョニングし、バックアップ処理完了後に自動破棄します。

問題なく完了すると、VBA の管理用 Web UI の画面になります。ブラウザは閉じても構いません。

VBR の管理コンソールを見ると、Jobs に “Backup-RockyLinux” のジョブが追加されていることが分かります。

エラー対処例

作業用 IAM の権限不足

External Repository のウィザード途中の「Backet」で Next 押下直後にエラーが発生しました。

エラー内容から、VBR が S3 バケットの不変性(Object Lock)設定を確認する際に必要な権限 ” s3:GetBucketObjectLockConfiguration” が、作業用 IAM ユーザーのポリシーに含まれていないためです。

作業用 IAM ポリシーに以下の記述を追加します。

修正前:

{
    "Sid": "S3RepositoryAccess",
    "Effect": "Allow",
    "Action": [
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:DeleteObject",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
    ],
    "Resource": [
            "arn:aws:s3:::vbr-ec2",
            "arn:aws:s3:::vbr-ec2/*"
    ]
 },

修正後:

{
    "Sid": "S3RepositoryAccess",
    "Effect": "Allow",
    "Action": [
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:DeleteObject",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads",
            "s3:GetBucketObjectLockConfiguration", ⇐ 追加
            "s3:GetBucketVersioning" ⇐ 追加
    ],
    "Resource": [
    "arn:aws:s3:::vbr-ec2",
    "arn:aws:s3:::vbr-ec2/*"
    ]
},

まとめ

今回は、Veeam Backup & Replication(VBR)から Amazon S3 を External Repository として登録し、Veeam Backup for AWS(VBA)による Rocky Linux EC2 インスタンスのバックアップポリシーを作成するまでの流れをまとめました。

次回は、実際にバックアップを実行し、スループットなどを確認しようと思います。

makorin
  • makorin
  • AI を使用して情報を得ることが普通の時代になりました。その AI もウェブ上に公開されている情報を元にして動作しています。その情報の一つになればいいなという、極々ささやかな思いで気ままに更新しています。

コメントする

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。