Azure Backup Vaultを使ったBLOB(コンテナー)のバックアップリストア手順

2021-07-11Azure,Bcakup(Recovery Services),Storage(Files,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を利用します。

Azure BLOB バックアップの概要

運用バックアップ、コンテナー化されたバックアップの2種類が提供されています。

運用バックアップは、変更内容を都度記録しバックアップを取得します。
バックアップスケジュールの設定は必要ありません。
ポイントタイムリストアが利用できます。
バックアップデータをバックアップ対象のストレージアカウント内に保管します。

コンテナー化されたバックアップは、設定したスケジュールに基づいてバックアップを取得します。
バックアップスケジュールを設定する必要があります。
スケジュールに基づき取得されたバックアップデータをリストアします。
バックアップデータをバックアップ コンテナーに保管します。

ポイントタイムリストアには多くの制限事項があります。
追加 BLOB、ページ BLOB、Premium ブロック BLOBは復元できないなどの制限があります。

制限事項と既知の問題

価格

バックアップ コンテナーを利用する際には、別途料金が発生します。
インスタンスやバックアップデータのサイズ、バックアップの冗長性によって料金が変わります。

Azure Backup の価格

運用バックアップの場合は、バックアップ コンテナー自体にバックアップデータ保持しません。
そのため、インスタンス料金やバックアップ ストレージ料金は発生しないとの記載があります。
但し、ストレージアカウント内にデータを保持するため、その部分の料金についての記載もあるの注意が必要です。

※価格はワークロードでAzure BLOBを選択します。
※価格については必ず最新の情報を確認してください。

バックアップ コンテナーの設定値

バックアップ コンテナーのリソースの設定値です。
Geo冗長化はせずに、論理的削除も無効化しています。
サブスクリプションをまたがる復元も無効化しています。

区分 項目 設定値
基本 バックアップ コンテナー名 bvault-01
場所 East US 2
冗長性 ローカル冗長
Vault Properties 論理的な削除を有効にする 無効(チェックを外す)
マネージドIDの有効化 システムマネージドIDをEnableに設定
サブスクリプションをまたがる復元 完全に無効にする

※検証目的の設定値です。利用用途や環境に合わせて設定値を変更してください。

バックアップ コンテナーのリソースを作成

公式サイトの手順を参考に、バックアップ コンテナーのリソースを作成します。

Backup コンテナーの作成と管理

バックアップ コンテナーのリソースを作成

バックアップ コンテナーで作成を選択します。

バックアップコンテナーのリソースを作成(Azure Backup Vaultのリソース作成手順)

基本の画面です。
バックアップ コンテナー名、リージョンやバックアップ ストレージの冗長性を設定します。

冗長性は、Geo冗長、ゾーン冗長、ローカル冗長から選択します。

基本タブでバックアップ コンテナー名やストレージの冗長性を設定(Azure Backup Vaultのリソース作成手順)
バックアップ ストレージの冗長性の選択肢(Azure Backup Vaultのリソース作成手順)

Vault Propertiesの画面です。
論理的削除の有効化や、マネージドID、サブスクリプションをまたがる復元などを設定します。

【論理的削除の設定】Vault Propertiesで論理的削除を設定(Azure Backup Vaultのリソース作成手順)
【サブスクリプションをまたがる復元の設定】Vault Propertiesでサブスクリプションをまたがる復元を設定(Azure Backup Vaultのリソース作成手順)
Vault Propertiesの設定例Azure Backup Vaultのリソース作成手順)

確認と作成の画面です。
内容を確認して問題がなければ、作成を選択します。

バックアップ コンテナーのリソース作成確認画面(Azure Backup Vaultのリソース作成手順)

作成されたバックアップ コンテナーのリソースです。

※デフォルトではデータソースの種類にAzure Database for PostgreSQLが選択されています。

作成したバックアップ コンテナーのリソース(Azure Backup Vaultのリソース作成手順)

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

バックアップ ポリシーの設定値です。
運用バックアップ、コンテナー化されたバックアップ両方を有効化しています。
バックアップデータの保持期間は、最も短い期間に設定しています。

区分 項目 設定値
基本 ポリシー名 bkpol-01
データソースの種類 Azure BLOB (Azure Storage)
スケジュールと保持期間 運用バックアップ 有効
リテンション期間ルール名
(運用バックアップ)
Default
リテンション期間
(運用バックアップ)
1日
コンテナー化されたバックアップ 有効
バックアップの頻度 Daily
リテンション期間ルール名
(運用バックアップ)
Default
時間 03:00
タイムゾーン (UTC +09:00)大阪、札幌、東京
リテンション期間
(コンテナー化されたバックアップ)
7日
リテンション期間ルール名
(コンテナー化されたバックアップ)
Default

※検証目的の設定値です。利用用途や環境に合わせて設定値を変更してください。

バックアップ ポリシーを作成

公式サイトの手順を参考に、バックアップ ポリシーを作成します。

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

※バックアップ設定と同時に作成する事もできます。

バックアップ ポリシーを作成

バックアップ ポリシーで追加を選択します。

バックアップ ポリシーを追加(Azure Backup Vaultのバックアップ ポリシー作成手順)

ポリシー名、データソースの種類を設定します。
データソースの種類はAzure BLOB (Azure Storage)を選択します。

ポリシー名やデータソースの種類を選択(Azure Backup Vaultのバックアップ ポリシー作成手順)
データソースの選択肢(Azure Backup Vaultのバックアップ ポリシー作成手順)

スケジュールと保持期間の設定です。
運用バックアップ、コンテナー化されたバックアップを有効化する場合は、チェックを付けます。
リテンション期間はそれぞれ個別に設定します。
コンテナー化されたバックアップでは、リテンション期間の設定を追加することも可能です。
コンテナー化されたバックアップを有効化した場合は、バックアップスケジュールも設定します。

確認と作成を選択します。

スケジュールと保持期間の設定画面(Azure Backup Vaultのバックアップ ポリシー作成手順)
【運用バックアップのリテンション期間設定】運用バックアップのリテンション期間設定(Azure Backup Vaultのバックアップ ポリシー作成手順)
【コンテナー化されたバックアップのリテンション期間設定】コンテナー化されたバックアップのリテンション期間設定(Azure Backup Vaultのバックアップ ポリシー作成手順)
【コンテナー化されたバックアップのリテンション期間追加設定】コンテナー化されたバックアップの保持規則選択肢(Azure Backup Vaultのバックアップ ポリシー作成手順)

確認と作成の画面です。
内容を確認して問題がなければ、作成を選択します。

バックアップ ポリシーの作成確認画面(Azure Backup Vaultのバックアップ ポリシー作成手順)

作成したバックアップ ポリシーが表示されています。

作成したバックアップ ポリシー(Azure Backup Vaultのバックアップ ポリシー作成手順)

—広告—

バックアップ コンテナー(Azure Backup Vault)でBLOBのバックアップ設定

ストレージアカウントでアクセス制御(IAM)設定

バックアップコンテナーからストレージアカウントを操作するためのロール割り当てが必要です。

ストレージ アカウントでのバックアップ コンテナーへのアクセス許可の付与

ストレージアカウントで、バックアップ コンテナーのシステムマネージドIDに対して、ロールを割り当てます。
ストレージ アカウント バックアップの共同作成者(Storage Account Backup Contributor)のロールを割り当てます。

※リストア先のストレージアカウントに対しても同様にロールの割り当てが必要です。
※事前に準備したストレージアカウントを利用しています。

ストレージアカウントへのロール割り当て

アクセス制御(IAM)でロールの割り当ての追加を選択します。

ロールの割り当てを追加(Azure Backup VaultのマネージドIDにストレージアカウントでロールを割り当て)

割り当てるロールを選択します。
ストレージ アカウント バックアップの共同作成者(Storage Account Backup Contributor)を選択します。

ストレージ アカウントのバックアップ共同作成者のロールを選択(Azure Backup VaultのマネージドIDにストレージアカウントでロールを割り当て)

割り当てを追加するメンバーを選択します。
アクセスの割り当て先でマネージドIDを選択します。
メンバーに作成したバックアップ コンテナーを選択します。
レビューと割り当てを選択します。

バックアップ コンテナーのマネージドIDを選択(Azure Backup VaultのマネージドIDにストレージアカウントでロールを割り当て)

バックアップ コンテナーのマネージドIDを選択(Azure Backup VaultのマネージドIDにストレージアカウントでロールを割り当て)

レビューと割り当ての画面です。
内容を確認して問題がなければ、レビューと割り当てを選択します。

※ロールの割り当てが反映されるまで、最大10分ほどの時間が掛かります。

バックアップ コンテナーのマネージドIDに権限を割り当て(Azure Backup VaultのマネージドIDにストレージアカウントでロールを割り当て)

BLOBのバックアップ設定

BLOBのバックアップ設定です。
バックアップ対象のストレージアカウント、コンテナーを選択します。

※バックアップ コンテナーから設定しています。バックアップセンターやストレージアカウントのメニューなどからも設定できます。

BLOBのバックアップ設定

バックアップを選択します。

※バックアップやインスタンスのバックアップから設定開始できます。

バックアップ設定を追加(Azure Backup VaultでBLOBのバックアップ設定)

データソースの種類やコンテナーを設定します。

データソースの種類、コンテナーを選択(Azure Backup VaultでBLOBのバックアップ設定)

バックアップ ポリシーを選択します。
作成したバックアップ ポリシー(bkpol-01)を選択します。

※バックアップ ポリシーを新規作成する事もできます。

バックアップ ポリシーを選択(Azure Backup VaultでBLOBのバックアップ設定)

データソースを選択します。
追加/編集を選択します。
バックアップ対象のストレージアカウントを選択します。
選択すると検証が行われます。
検証が成功したら次に進みます。

※デフォルトでは、ストレージアカウント内のすべてのコンテナーがバックアップ対象として選択されます。
※ストレージアカウントへのロールの割り当てが出来てない場合は、検証が失敗します。

バックアップ対象のストレージアカウントを追加(Azure Backup VaultでBLOBのバックアップ設定)
バックアップ対象のストレージアカウントを選択(Azure Backup VaultでBLOBのバックアップ設定)
バックアップ対象のデータソースを検証(Azure Backup VaultでBLOBのバックアップ設定)

レビューと構成の画面です。
内容を確認して問題がなければ、バックアップの構成を選択します。

バックアップの構成(Azure Backup VaultでBLOBのバックアップ設定)

インスタンスのバックアップのメニューで設定内容を確認できます。

追加したデータソースを表示(Azure Backup VaultでBLOBのバックアップ設定)

設定後のバックアップ取得状況

設定直後のバックアップ取得状況です。
運用バックアップは、バックアップ設定直後から取得開始されています。
コンテナー化されたバックアップでは、初期バックアップは取得されません。
手動でバックアップを取得するか、最初のスケジュール実行まで待つ必要があります。

バックアップの取得状況
インスタンスのバックアップで作成したデータソースを選択します。 データソースを選択(Azure Backup Vaultでバックアップ取得状態を確認)
運用バックアップは、取得が開始されています。
バックアップジョブには表示されません。
運用バックアップの取得状況(Azure Backup Vaultでバックアップ取得状態を確認)
コンテナー化されたバックアップは初回バックアップが取得されていません。
手動で取得する必要があります。
コンテナー化されたバックアップの取得状況(Azure Backup Vaultでバックアップ取得状態を確認)

ロールの割り当てが実行されていませんとエラーメッセージが表示される

ストレージアカウントへのロール割り当て出来てない場合は、検証がエラーになります。

対象のデータソースにチェックを入れて、不足しているロールの割り当てを選択します。
チェックを入れたストレージアカウントで、バックアップ コンテナーのシステムマネージドIDに対して、ストレージ アカウント バックアップの共同作成者(Storage Account Backup Contributor)のロールが割り当てられます。

バックアップ検証時のエラー例
バックアップの準備に、ロールの割り当てが実行されていませんというメッセージが表示されています。 ロールの割り当て出来てない場合のエラー表示例(Azure Backup VaultでBLOBのバックアップ設定)

ストレージアカウントのデータ保護設定を確認

ストレージアカウントのデータ保護設定を確認します。
BLOBに対してAzure Backupを有効にするにチェックが入っている事が確認できます。

今回は、運用バックアップも有効化しています。
コンテナーのポイントタイムリストア、BLOB の変更フィードを有効にするなどの項目も有効化されている事が確認できます。

ストレージアカウントのデータ保護設定
BLOBに対するバックアップ設定はデータ保護のメニューで確認できます。 ストレージアカウントのデータ保護設定(Azure Backup VaultでBLOBのバックアップ設定)

コンテナー化されたバックアップの初回バックアップを取得

コンテナー化されたバックアップの初回バックアップを取得します。
今すぐバックアップを利用して取得します。

初回バックアップの取得
インスタンスのバックアップで作成したデータソースを選択します。 データソースを選択(Azure Backup Vaultでオンデマンドバックアップ)
今すぐバックアップを選択します。 今すぐバックアップを選択(Azure Backup Vaultでオンデマンドバックアップ)
今すぐバックアップを実行(Azure Backup Vaultでオンデマンドバックアップ)

初回バックアップの取得状況を確認

初回バックアップの取得状況を確認します。
バックアップジョブで確認できます。
今すぐバックアップを実行した場合の操作名は、オンデマンド バックアップとなります。

バックアップジョブの確認
オンデマンドバックアップの状態が完了になっている事が確認できます。 バックアップジョブの実行結果を確認(Azure Backup Vaultでオンデマンドバックアップ)

—広告—

バックアップ コンテナー(Azure Backup Vault)を使ったBLOBのリストア手順

運用バックアップ、コンテナー化されたバックアップでバックアップの取得、リストアの手順を確認します。

    • 運用バックアップを使って同じストレージアカウントにリストア
    • コンテナー化されたバックアップを使って別のストレージアカウントにリストア

リストア前のコンテナー状態

コンテナーに3つのBLOB(ファイル)をアップロードしています。
そのうちの1つfile03.txtを削除しています。

コンテナーの状態
file03.txtを削除しています。 リストア前のBLOBの状態(Azure Backup VaultでBLOBをリストア)

※file03.txt削除前にバックアップを取得しています。

運用バックアップからBLOBをリストア

運用バックアップを利用してリストアします。
運用バックアップの場合は同じストレージアカウントへのリストアとなります。
リストア中に読み取り、書き込み、および削除の操作ができないなどの制約事項があります。

ブロック BLOB のポイントインタイム リストア
ブロック BLOB データに対してポイントインタイム リストアを実行する

今回は、ストレージアカウント内の1つのコンテナーをリストアしています。

運用バックアップからリストア

バックアップ コンテナーで復元を選択します。

復元を選択(運用バックアップ)(Azure Backup VaultでBLOBをリストア)

バックアップインスタンスの選択です。
リストア対象のバックアップインスタンスを選択します。

バックアップインスタンスを選択(運用バックアップ)(Azure Backup VaultでBLOBをリストア)
バックアップインスタンスを選択(運用バックアップ)(Azure Backup VaultでBLOBをリストア)

復元ポイントの選択です。
運用バックアップを選択します。
リストア可能な日時が表示されます。
リストアしたい時間を選択します。

※運用バックアップをリストアする場合は、日時指定になります。

復元ポイントを選択(運用バックアップ)(Azure Backup VaultでBLOBをリストア)
復元ポイントを選択(運用バックアップ)(Azure Backup VaultでBLOBをリストア)

復元パラメータの設定です。
すべてのコンテナーをリストアするか、復元するコンテナーを選択するか指定します。
コンテナーの追加編集を選択して、復元するコンテナーを選択します。
復元パラメーターを検証をします。
正常に検証が完了したら次に進みます。

復元対象のBLOBコンテナーを選択(運用バックアップ)(Azure Backup VaultでBLOBをリストア)
復元対象の検証(運用バックアップ)(Azure Backup VaultでBLOBをリストア)
復元対象の検証が正常に完了(運用バックアップ)(Azure Backup VaultでBLOBをリストア)

レビューと復元です。
内容を確認して問題がなければ、復元を選択します。

レビューと復元(運用バックアップ)(Azure Backup VaultでBLOBをリストア)

リストア後のコンテナーでBLOB(ファイル)を確認

ストレージアカウントのコンテナーで、BLOB(ファイル)のリストア状況を確認します。
バックアップジョブの実行結果も確認します。

リストア状況を確認
BLOB(ファイル)がリストアされている事が確認できます。
リストアしたファイルの最終変更日は、リストア実施時間帯に変わります。
【リストア前】リストア前のBLOBコンテナー(運用バックアップ)(Azure Backup VaultでBLOBをリストア)
【リストア後】リストア後のBLOBコンテナー(運用バックアップ)(Azure Backup VaultでBLOBをリストア)
バックアップジョブを確認します。
復元の操作が正常終了している事が確認できます。
リストアのバックアップジョブ(運用バックアップ)(Azure Backup VaultでBLOBをリストア)

コンテナー化されたバックアップからBLOBをリストア

コンテナー化されたバックアップを利用してリストアします。
コンテナー化されたバックアップの場合は、別のストレージアカウントへのリストアとなります。

Azure の BLOB を復元する

今回は、ストレージアカウント内の1つのコンテナーをリストアしています。

※削除したBLOBの復旧ではなく、コンテナーの復旧になります。

コンテナー化されたバックアップからリストア

バックアップ コンテナーで復元を選択します。

復元の開始(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)

バックアップインスタンスの選択です。
リストア対象のバックアップインスタンスを選択します。

バックアップインスタンスを選択(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)
バックアップインスタンスを選択(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)

復元ポイントの選択です。
コンテナー化されたバックアップを選択します。
取得したバックアップのリストが表示されます。
リストアポイントを選択します。

復元ポイントを選択(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)
復元ポイントを選択(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)

復元パラメータの設定です。
すべてのBLOBをリストアするか、復元するコンテナーを選択するか指定します。
コンテナーの追加編集を選択して、復元するコンテナーを選択します。
リストア先のストレージアカウントを選択します。
復元パラメーターを検証をします。
正常に検証が完了したら次に進みます。

復元対象のBLOBを選択(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)
ターゲットのストレージアカウントを選択して検証(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)
ターゲットのストレージアカウントを選択して検証した結果(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)

レビューと復元です。
内容を確認して問題がなければ、復元を選択します。

レビューと復元(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)

リストア先のストレージアカウントでコンテナーを確認

リストア先のストレージアカウントで、コンテナーの作成状況を確認します。
バックアップジョブの実行結果も確認します。

リストア後の確認
リストア先のストレージアカウントにコンテナーが作成されています。
コンテナー内のBLOB(ファイル)もリストアされています。
復元先のストレージアカウント(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)
バックアップジョブを確認します。
復元の操作が正常終了している事が確認できます。
復元のバックアップジョブ結果(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)

UserErrorMissingRequiredPermissionsのエラーが発生した場合

リストア先のストレージアカウントにロール割り当て出来てない場合、UserErrorMissingRequiredPermissionsのエラーが発生します。
メッセージには、Appropriate permissions to perform the operation is missing.と表示されます。

BLOB を復元する

リストア先のストレージアカウントに、バックアップ コンテナーのロールが割り当てされていない場合に発生します。
ストレージアカウント バックアップの共同作成者(Storage Account Backup Contributor)のロールを割り当てが必要です。
ロールの割り当てはバックアップ コンテナーのマネージドIDを利用して割り当てます。

UserErrorMissingRequiredPermissionsのエラー

リストア先のストレージアカウントにロール割り当て出来てない場合は、検証に失敗します。

Grant Permissionsを利用して、リストア先のストレージアカウントのロール割り当て設定もできます。

ターゲットのストレージアカウント検証時のエラー画面(コンテナー化されたバックアップ)(Azure Backup VaultでBLOBをリストア)

—広告—

最後に

バックアップ コンテナーを利用したストレージアカウントのBLOBのバックアップリストア手順を確認してみました。
制約事項や課金等で気を付けるべき点もありますが、とても便利な機能かと思います。

引き続き色々試してみたいと思います。

Azure Filesのバックアップリストア手順についてはこちらで紹介しています。
Recovery Services コンテナーを利用したバックアップの手順からリストアまでの手順を確認しています。

Azure BLOB Storageでのライフルサイクル管理についてはこちら。

Azure Storageでのオブジェクトレプリケーション設定についてはこちら。

Azure Blob StorageをRocky LinuxからNFSでマウントする手順についてはこちらで紹介しています。

※記事の記載時点では、残念ながら、NFSを利用している場合はオブジェクトレプリケーションがサポートされていません。

スポンサーリンク