Azure Backup Vaultを使ったBLOB(コンテナー)のバックアップリストア手順
Azure Backup Vaultを利用したストレージアカウントのBLOBのバックアップからリストアまでの一連の手順です。
Azure Backup Vaultのリソース作成、バックアップポリシーの作成、ストレージアカウントのコンテナーバックアップ設定、初回バックアップからBLOBリストアまでの一連の手順を確認しています。
リストアについては、運用バックアップおよびコンテナー化されたバックアップの場合を確認しています。
※タイトル部分を除き、本記事内ではAzure Backup Vaultをバックアップコンテナーとして表記しています。
※本記事内では、継続的バックアップを運用バックアップとして表記しています。
※本記事内で記載しているBLOBは、ブロックBLOBになります。
※本記事で利用しているストレージアカウントは汎用 v2 ストレージ アカウントです。
※できる限り、Azure Portalの日本語表記に合わせて表記するようにしています。
バックアップ コンテナー(Azure Backup Vault)の作成とポリシー設定
ストレージアカウントのBLOBのバックアップにはAzure Backupを使う
ストレージアカウントのBLOBのバックアップには、Azure Backupを利用します。
運用バックアップ、コンテナー化されたバックアップの2種類が提供されています。
運用バックアップは、変更内容を都度記録しバックアップを取得します。
バックアップスケジュールの設定は必要ありません。
ポイントタイムリストアが利用できます。
バックアップデータをバックアップ対象のストレージアカウント内に保管します。
コンテナー化されたバックアップは、設定したスケジュールに基づいてバックアップを取得します。
バックアップスケジュールを設定する必要があります。
スケジュールに基づき取得されたバックアップデータをリストアします。
バックアップデータをバックアップ コンテナーに保管します。
ポイントタイムリストアには多くの制限事項があります。
追加 BLOB、ページ BLOB、Premium ブロック BLOBは復元できないなどの制限があります。
価格
バックアップ コンテナーを利用する際には、別途料金が発生します。
インスタンスやバックアップデータのサイズ、バックアップの冗長性によって料金が変わります。
運用バックアップの場合は、バックアップ コンテナー自体にバックアップデータ保持しません。
そのため、インスタンス料金やバックアップ ストレージ料金は発生しないとの記載があります。
但し、ストレージアカウント内にデータを保持するため、その部分の料金についての記載もあるの注意が必要です。
※価格はワークロードでAzure BLOBを選択します。
※価格については必ず最新の情報を確認してください。
バックアップ コンテナーの設定値
バックアップ コンテナーのリソースの設定値です。
Geo冗長化はせずに、論理的削除も無効化しています。
サブスクリプションをまたがる復元も無効化しています。
区分 | 項目 | 設定値 |
基本 | バックアップ コンテナー名 | bvault-01 |
場所 | East US 2 | |
冗長性 | ローカル冗長 | |
Vault Properties | 論理的な削除を有効にする | 無効(チェックを外す) |
マネージドIDの有効化 | システムマネージドIDをEnableに設定 | |
サブスクリプションをまたがる復元 | 完全に無効にする |
※検証目的の設定値です。利用用途や環境に合わせて設定値を変更してください。
バックアップ コンテナーのリソースを作成
公式サイトの手順を参考に、バックアップ コンテナーのリソースを作成します。
バックアップ ポリシーの設定値
バックアップ ポリシーの設定値です。
運用バックアップ、コンテナー化されたバックアップ両方を有効化しています。
バックアップデータの保持期間は、最も短い期間に設定しています。
区分 | 項目 | 設定値 |
基本 | ポリシー名 | bkpol-01 |
データソースの種類 | Azure BLOB (Azure Storage) | |
スケジュールと保持期間 | 運用バックアップ | 有効 |
リテンション期間ルール名 (運用バックアップ) |
Default | |
リテンション期間 (運用バックアップ) |
1日 | |
コンテナー化されたバックアップ | 有効 | |
バックアップの頻度 | Daily | |
リテンション期間ルール名 (運用バックアップ) |
Default | |
時間 | 03:00 | |
タイムゾーン | (UTC +09:00)大阪、札幌、東京 | |
リテンション期間 (コンテナー化されたバックアップ) |
7日 | |
リテンション期間ルール名 (コンテナー化されたバックアップ) |
Default |
※検証目的の設定値です。利用用途や環境に合わせて設定値を変更してください。
バックアップ ポリシーを作成
公式サイトの手順を参考に、バックアップ ポリシーを作成します。
※バックアップ設定と同時に作成する事もできます。
—広告—
バックアップ コンテナー(Azure Backup Vault)でBLOBのバックアップ設定
ストレージアカウントでアクセス制御(IAM)設定
バックアップコンテナーからストレージアカウントを操作するためのロール割り当てが必要です。
ストレージ アカウントでのバックアップ コンテナーへのアクセス許可の付与
ストレージアカウントで、バックアップ コンテナーのシステムマネージドIDに対して、ロールを割り当てます。
ストレージ アカウント バックアップの共同作成者(Storage Account Backup Contributor)のロールを割り当てます。
※リストア先のストレージアカウントに対しても同様にロールの割り当てが必要です。
※事前に準備したストレージアカウントを利用しています。
BLOBのバックアップ設定
BLOBのバックアップ設定です。
バックアップ対象のストレージアカウント、コンテナーを選択します。
※バックアップ コンテナーから設定しています。バックアップセンターやストレージアカウントのメニューなどからも設定できます。
設定後のバックアップ取得状況
設定直後のバックアップ取得状況です。
運用バックアップは、バックアップ設定直後から取得開始されています。
コンテナー化されたバックアップでは、初期バックアップは取得されません。
手動でバックアップを取得するか、最初のスケジュール実行まで待つ必要があります。
バックアップの取得状況 | |
インスタンスのバックアップで作成したデータソースを選択します。 | |
運用バックアップは、取得が開始されています。 バックアップジョブには表示されません。 |
|
コンテナー化されたバックアップは初回バックアップが取得されていません。 手動で取得する必要があります。 |
ロールの割り当てが実行されていませんとエラーメッセージが表示される
ストレージアカウントへのロール割り当て出来てない場合は、検証がエラーになります。
対象のデータソースにチェックを入れて、不足しているロールの割り当てを選択します。
チェックを入れたストレージアカウントで、バックアップ コンテナーのシステムマネージドIDに対して、ストレージ アカウント バックアップの共同作成者(Storage Account Backup Contributor)のロールが割り当てられます。
バックアップ検証時のエラー例 | |
バックアップの準備に、ロールの割り当てが実行されていませんというメッセージが表示されています。 |
ストレージアカウントのデータ保護設定を確認
ストレージアカウントのデータ保護設定を確認します。
BLOBに対してAzure Backupを有効にするにチェックが入っている事が確認できます。
今回は、運用バックアップも有効化しています。
コンテナーのポイントタイムリストア、BLOB の変更フィードを有効にするなどの項目も有効化されている事が確認できます。
ストレージアカウントのデータ保護設定 | |
BLOBに対するバックアップ設定はデータ保護のメニューで確認できます。 |
コンテナー化されたバックアップの初回バックアップを取得
コンテナー化されたバックアップの初回バックアップを取得します。
今すぐバックアップを利用して取得します。
初回バックアップの取得 | |
インスタンスのバックアップで作成したデータソースを選択します。 | |
今すぐバックアップを選択します。 | |
初回バックアップの取得状況を確認
初回バックアップの取得状況を確認します。
バックアップジョブで確認できます。
今すぐバックアップを実行した場合の操作名は、オンデマンド バックアップとなります。
バックアップジョブの確認 | |
オンデマンドバックアップの状態が完了になっている事が確認できます。 |
—広告—
バックアップ コンテナー(Azure Backup Vault)を使ったBLOBのリストア手順
運用バックアップ、コンテナー化されたバックアップでバックアップの取得、リストアの手順を確認します。
-
- 運用バックアップを使って同じストレージアカウントにリストア
- コンテナー化されたバックアップを使って別のストレージアカウントにリストア
リストア前のコンテナー状態
コンテナーに3つのBLOB(ファイル)をアップロードしています。
そのうちの1つfile03.txtを削除しています。
コンテナーの状態 | |
file03.txtを削除しています。 |
※file03.txt削除前にバックアップを取得しています。
運用バックアップからBLOBをリストア
運用バックアップを利用してリストアします。
運用バックアップの場合は同じストレージアカウントへのリストアとなります。
リストア中に読み取り、書き込み、および削除の操作ができないなどの制約事項があります。
ブロック BLOB のポイントインタイム リストア
ブロック BLOB データに対してポイントインタイム リストアを実行する
今回は、ストレージアカウント内の1つのコンテナーをリストアしています。
リストア後のコンテナーでBLOB(ファイル)を確認
ストレージアカウントのコンテナーで、BLOB(ファイル)のリストア状況を確認します。
バックアップジョブの実行結果も確認します。
リストア状況を確認 | |
BLOB(ファイル)がリストアされている事が確認できます。 リストアしたファイルの最終変更日は、リストア実施時間帯に変わります。 |
【リストア前】 |
【リストア後】 | |
バックアップジョブを確認します。 復元の操作が正常終了している事が確認できます。 |
コンテナー化されたバックアップからBLOBをリストア
コンテナー化されたバックアップを利用してリストアします。
コンテナー化されたバックアップの場合は、別のストレージアカウントへのリストアとなります。
今回は、ストレージアカウント内の1つのコンテナーをリストアしています。
※削除したBLOBの復旧ではなく、コンテナーの復旧になります。
リストア先のストレージアカウントでコンテナーを確認
リストア先のストレージアカウントで、コンテナーの作成状況を確認します。
バックアップジョブの実行結果も確認します。
リストア後の確認 | |
リストア先のストレージアカウントにコンテナーが作成されています。 コンテナー内のBLOB(ファイル)もリストアされています。 |
|
バックアップジョブを確認します。 復元の操作が正常終了している事が確認できます。 |
UserErrorMissingRequiredPermissionsのエラーが発生した場合
リストア先のストレージアカウントにロール割り当て出来てない場合、UserErrorMissingRequiredPermissionsのエラーが発生します。
メッセージには、Appropriate permissions to perform the operation is missing.と表示されます。
リストア先のストレージアカウントに、バックアップ コンテナーのロールが割り当てされていない場合に発生します。
ストレージアカウント バックアップの共同作成者(Storage Account Backup Contributor)のロールを割り当てが必要です。
ロールの割り当てはバックアップ コンテナーのマネージドIDを利用して割り当てます。
UserErrorMissingRequiredPermissionsのエラー | |
リストア先のストレージアカウントにロール割り当て出来てない場合は、検証に失敗します。 Grant Permissionsを利用して、リストア先のストレージアカウントのロール割り当て設定もできます。 |
—広告—
最後に
バックアップ コンテナーを利用したストレージアカウントのBLOBのバックアップリストア手順を確認してみました。
制約事項や課金等で気を付けるべき点もありますが、とても便利な機能かと思います。
引き続き色々試してみたいと思います。
Azure Filesのバックアップリストア手順についてはこちらで紹介しています。
Recovery Services コンテナーを利用したバックアップの手順からリストアまでの手順を確認しています。
Azure BLOB Storageでのライフルサイクル管理についてはこちら。
Azure Storageでのオブジェクトレプリケーション設定についてはこちら。
Azure Blob StorageをRocky LinuxからNFSでマウントする手順についてはこちらで紹介しています。
※記事の記載時点では、残念ながら、NFSを利用している場合はオブジェクトレプリケーションがサポートされていません。