SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

追加 BLOB の Azure Blob バックアップの制限について

leave a comment

Azure ストレージでは、ブロック BLOB / 追加 BLOB / ページ BLOB の 3 種類の BLOB を使用することができます。

SQL Database の監査ログ / 診断設定 / アクティビティログ / Azure Monitor のテーブルエクスポートのログなどは「追加 BLOB」としてファイルが出力されていますが、追加 BLOB については、Azure Blob バックアップの取得対象とならないという制限がありますので、情報をまとめておきたいと思います

今回は追加 BLOB のバックアップの制限についての情報の整理となりますが追加 BLOB では、階層化 (ホット / クール / コールド層への移動) がサポートされていない という制限もありますので、追加 BLOB を使用した場合はブロック BLOB とは異なる運用が必要となるということは意識しておいたほうが良いかと思います。

ストレージアカウントのファイルのバックアップについて

ストレージアカウントのファイルのバックアップについては、 Azure Backup サービスを使用して取得を行うことが一般的ですが、Azure Backup という名称のリソースはありません。

バックアップの取得には Azure Backup サービスというサービス体系に含まれる、次の 2 種類のサービスを使用することになります。

Azure の BLOB のバックアップを取得する場合には、バックアップ コンテナーを使用し、Azure Files のバックアップを取得する場合には Recovery Services コンテナーを使用します。

各リソースで Azure ストレージのファイルのバックアップを取得する際の制限事項については次のドキュメントに記載されています。

本投稿の内容では、Azure BLOB バックアップのサポート マトリックス がポイントとなります。

バックアップ コンテナーを使用したバックアップは「運用バックアップ」「保管済みバックアップ」の 2 種類をサポートしていますが、どちらも取得対象となるファイルは「ブロック BLOB」に制限されています。

取得対象のコンテナーの中に追加 BLOB が存在していたとしても、追加 BLOB のファイルはバックアップ対象となっておらず、バックアップのリストアを行ってもコンテナーに存在していた追加 BLOB はリストアされません。

 

追加 BLOB の保護

追加 BLOB は Azure Backup サービスを使用したバックアップができないため、それ以外の方法で保護を検討する必要があります。

方法としては、次の二つの方法を使用することができるのではないでしょうか。

バックアップからリストアをするのではなく、Azure ストレージの機能を使用してファイルの保護を実施することになるのではないでしょうか。

論理的な削除によるファイルの保護

削除されたファイルのリストアについては、論理的な削除を使用することで削除した BLOB の保持期間については復元ができる状態にすることができます。

Azure Portal から新規に作成したストレージアカウントであれば BLOB / コンテナーの論理削除が有効になっており 7 日間保持される設定となっているようです。

保持期間内はファイル / コンテナーは削除してもアクティブと認識されるため、ファイルの削除を行っても保持期間内はコストが発生しますが、想定されるファイルの保持期間内に、予期せぬ削除操作によりファイルの削除が行われた場合はファイルの復元を行うことができます。(コストの基本的な考え方については 価格と課金 から確認することができます)

 

不変ストレージによる操作の保護

不変ストレージを使用することで「削除操作をできない状態にする」ということも可能です。

不変ストレージは時間ベースの保持で保持期間を設定することができ、指定した保持期間の間はファイルの削除を防止することができるようになります。

追加の書き込みについては許可されますので、Azure ログを既存のファイルに追記するという操作については、不変ストレージを設定してもブロックされることはありません。

不変ストレージの削除の防止は ライフサイクル管理 と競合するため、不変ストレージで削除を防止する場合には、保持期間外のファイルの削除が行われるように削除対象とする考慮をしておく必要があります。

この動作については、既知の問題と制限事項 に記載されている次の内容となるかと。

ライフサイクル管理の挙動については、BLOB の診断設定を有効化し、次のようなクエリで確認をすることができます。

StorageBlobLogs
| where UserAgentHeader contains "ObjectLifeCycleScanner"
| summarize count() by OperationName, StatusCode

 

不変ストレージを有効化されているストレージについても、保持期間が経過したファイルについてはライフサイクル管理で削除ができることは確認をしているのですが、不変ストレージを利用する際には最初は短い保持期間で不変ストレージとライフサイクル管理を設定し想定した挙動になるかを確認した後に期間を延ばすということを検討したほうが良いかと思います。

Share

Written by Masayuki.Ozawa

10月 28th, 2024 at 10:41 pm

Posted in Azure

Tagged with

Leave a Reply