ブロック BLOB のポイントインタイム リストアPoint-in-time restore for block blobs

ポイントインタイム リストアでは、ブロック BLOB データを以前の状態に復元できるようにすることで、誤った削除や破損を防ぐことができます。Point-in-time restore provides protection against accidental deletion or corruption by enabling you to restore block blob data to an earlier state. ポイントインタイム リストアは、ユーザーまたはアプリケーションによって誤ってデータが削除された場合や、アプリケーション エラーによってデータが破損した場合に役立ちます。Point-in-time restore is useful in scenarios where a user or application accidentally deletes data or where an application error corrupts data. また、ポイントインタイム リストアでは、さらにテストを実行する前にデータセットを既知の状態に戻す必要があるテスト シナリオも有効になります。Point-in-time restore also enables testing scenarios that require reverting a data set to a known state before running further tests.

ポイントインタイム リストアは、標準パフォーマンス レベルでのみ、汎用 v2 ストレージ アカウントに対してサポートされています。Point-in-time restore is supported for general-purpose v2 storage accounts in the standard performance tier only. ポイントインタイム リストアでは、ホットおよびクール アクセス層のデータのみを復元できます。Only data in the hot and cool access tiers can be restored with point-in-time restore.

ストレージ アカウントのポイントインタイム リストアを有効にする方法については、「ブロック BLOB データに対してポイントインタイム リストアを実行する」を参照してください。To learn how to enable point-in-time restore for a storage account, see Perform a point-in-time restore on block blob data.

ポイントインタイム リストアのしくみHow point-in-time restore works

ポイントインタイム リストアを有効にするには、ストレージ アカウントの管理ポリシーを作成し、保有期間を指定します。To enable point-in-time restore, you create a management policy for the storage account and specify a retention period. 保有期間中は、ブロック BLOB を現在の状態から前の時点の状態に復元できます。During the retention period, you can restore block blobs from the present state to a state at a previous point in time.

ポイントインタイム リストアを開始するには、Restore Blob Ranges 操作を呼び出し、復元ポイントを UTC 時刻で指定します。To initiate a point-in-time restore, call the Restore Blob Ranges operation and specify a restore point in UTC time. 復元するコンテナーおよび BLOB の名前の辞書式範囲を指定することも、範囲を省略して、ストレージ アカウントのすべてのコンテナーを復元することもできます。You can specify lexicographical ranges of container and blob names to restore, or omit the range to restore all containers in the storage account. 復元操作ごとに最大 10 個の辞書式範囲がサポートされます。Up to 10 lexicographical ranges are supported per restore operation.

Azure Storage では、要求された復元ポイント (UTC 時刻で指定) から現在の時点までの間で、指定された BLOB に対して行われたすべての変更が分析されます。Azure Storage analyzes all changes that have been made to the specified blobs between the requested restore point, specified in UTC time, and the present moment. 復元操作はアトミックであるため、すべての変更を完全に復元できるか、または失敗します。The restore operation is atomic, so it either succeeds completely in restoring all changes, or it fails. 復元できない BLOB がある場合、操作は失敗し、影響を受けるコンテナーに対する読み取りと書き込み操作が再開されます。If there are any blobs that cannot be restored, then the operation fails, and read and write operations to the affected containers resume.

次の図は、ポイントインタイム リストアがどのように機能するかを示しています。The following diagram shows how point-in-time restore works. 1 つ以上のコンテナーまたは BLOB 範囲が n 日前のその状態に復元されます。ここでは、n はポイントインタイム リストアに定義された保有期間の範囲以下になります。One or more containers or blob ranges is restored to its state n days ago, where n is less than or equal to the retention period defined for point-in-time restore. この効果は、保有期間中に発生した書き込みと削除の操作を元に戻すことです。The effect is to revert write and delete operations that happened during the retention period.

ポイントインタイム リストアによってコンテナーを前の状態に復元する方法を示す図

ストレージ アカウントで一度に実行できる復元操作は 1 つだけです。Only one restore operation can be run on a storage account at a time. 実行中に復元操作を取り消すことはできませんが、最初の操作を元に戻すために 2 番目の復元操作を実行できます。A restore operation cannot be canceled once it is in progress, but a second restore operation can be performed to undo the first operation.

Restore Blob Ranges 操作では、操作を一意に識別する復元 ID が返されます。The Restore Blob Ranges operation returns a restore ID that uniquely identifies the operation. ポイントインタイム リストアの状態を確認するには、Restore Blob Ranges 操作から返された復元 ID を使用して Get Restore Status 操作を呼び出します。To check the status of a point-in-time restore, call the Get Restore Status operation with the restore ID returned from the Restore Blob Ranges operation.

重要

復元操作を実行すると、Azure Storage では操作中、復元される範囲内の BLOB に対するデータ操作がブロックされます。When you perform a restore operation, Azure Storage blocks data operations on the blobs in the ranges being restored for the duration of the operation. 読み取り、書き込み、および削除の各操作がプライマリ ロケーションでブロックされます。Read, write, and delete operations are blocked in the primary location. このため、Azure portal でのコンテナーの一覧表示などの操作は、復元操作の実行中に予期したとおりに実行されない場合があります。For this reason, operations such as listing containers in the Azure portal may not perform as expected while the restore operation is underway.

ストレージ アカウントが geo レプリケートされている場合は、復元操作中にセカンダリ ロケーションからの読み取り操作を続行できます。Read operations from the secondary location may proceed during the restore operation if the storage account is geo-replicated.

注意事項

ポイントインタイム リストアでは、ブロック BLOB に影響する操作に対する復元のみがサポートされます。Point-in-time restore supports restoring against operations that acted on block blobs only. コンテナーに影響する操作は復元できません。Any operations that acted on containers cannot be restored. たとえば、Delete Container 操作を呼び出してストレージ アカウントからコンテナーを削除した場合、そのコンテナーはポイントインタイム リストア操作で復元できません。For example, if you delete a container from the storage account by calling the Delete Container operation, that container cannot be restored with a point-in-time restore operation. 後で復元が必要になる可能性がある場合は、コンテナー全体を削除するのではなく、個々の BLOB を削除してください。Rather than deleting an entire container, delete individual blobs if you may want to restore them later.

ポイントインタイム リストアの前提条件Prerequisites for point-in-time restore

ポイントインタイム リストアを有効にするには、ポイントインタイム リストアで次の Azure Storage 機能が有効になっている必要があります。Point-in-time restore requires that the following Azure Storage features be enabled before you can enable point-in-time restore:

これらの機能を有効にすると、追加料金が発生することがあります。Enabling these features may result in additional charges. ポイントインタイム リストアおよび前提条件の機能を有効にする前に、課金への影響を把握するようにしてください。Make sure that you understand the billing implications before enabling point-in-time restore and the prerequisite features.

ポイントインタイム リストアの保有期間Retention period for point-in-time restore

ストレージ アカウントのポイントインタイム リストアを有効にする場合は、保有期間を指定します。When you enable point-in-time restore for a storage account, you specify a retention period. ストレージ アカウントのブロック BLOB は、保有期間中に復元できます。Block blobs in your storage account can be restored during the retention period.

保有期間は、ポイントインタイム リストアを有効にした数分後に開始されます。The retention period begins a few minutes after you enable point-in-time restore. 保有期間の開始前に BLOB を状態に復元することはできません。Keep in mind that you cannot restore blobs to a state prior to the beginning of the retention period. たとえば、5 月 1 日に保有期間を 30 日に設定してポイントインタイム リストアを有効にした場合、5 月 15 日に最大 15 日間まで復元することができます。For example, if you enabled point-in-time restore on May 1st with a retention of 30 days, then on May 15th you can restore to a maximum of 15 days. 6 月 1 日には、1 - 30 日間のデータを復元できます。On June 1st, you can restore data from between 1 and 30 days.

ポイントインタイム リストアの保有期間は、論理的な削除に指定された保有期間よりも 1 日以上短くする必要があります。The retention period for point-in-time restore must be at least one day less than the retention period specified for soft delete. たとえば、論理的な削除の保有期間が 7 日間に設定されている場合、ポイントインタイム リストアの保有期間は 1 - 6 日間の範囲で指定できます。For example, if the soft delete retention period is set to 7 days, then the point-in-time restore retention period may be between 1 and 6 days.

重要

一連のデータの復元にかかる時間は、復元期間中に行われた書き込み操作と削除操作の数に基づきます。The time that it takes to restore a set of data is based on the number of write and delete operations made during the restore period. たとえば、100 万オブジェクトを持つアカウントで毎日 3,000 オブジェクトが追加され、毎日 1,000 オブジェクトが削除される場合、過去 30 日間のポイントまで復元するのに約 2 時間必要になります。For example, an account with one million objects with 3,000 objects added per day and 1,000 objects deleted per day will require approximately two hours to restore to a point 30 days in the past. 過去 90 日間の保有期間と復元は、この変更率のアカウントには推奨されません。A retention period and restoration more than 90 days in the past would not be recommended for an account with this rate of change.

ポイントインタイム リストアのアクセス許可Permissions for point-in-time restore

復元操作を開始するには、クライアントはストレージ アカウントのすべてのコンテナーに対する書き込みアクセス許可を持っている必要があります。To initiate a restore operation, a client must have write permissions to all containers in the storage account. Azure Active Directory (Azure AD) で復元操作を承認するアクセス許可を付与するには、ストレージ アカウント、リソースグループ、またはサブスクリプションのレベルでセキュリティ プリンシパルに ストレージ アカウント共同作成者 ロールを割り当てます。To grant permissions to authorize a restore operation with Azure Active Directory (Azure AD), assign the Storage Account Contributor role to the security principal at the level of the storage account, resource group, or subscription.

制限事項と既知の問題Limitations and known issues

ブロック BLOB のポイントインタイム リストアには、次の制限事項と既知の問題があります。Point-in-time restore for block blobs has the following limitations and known issues:

  • ポイントインタイム リストア操作の一部として復元できるのは、標準の汎用 v2 ストレージ アカウントのブロック BLOB のみです。Only block blobs in a standard general-purpose v2 storage account can be restored as part of a point-in-time restore operation. 追加 BLOB、ページ BLOB、Premium ブロック BLOB は復元されません。Append blobs, page blobs, and premium block blobs are not restored.
  • 保持期間中にコンテナーを削除した場合、そのコンテナーは、ポイントインタイム リストア操作では復元されません。If you have deleted a container during the retention period, that container will not be restored with the point-in-time restore operation. 復元しようとしている BLOB 範囲に、削除されたコンテナー内の BLOB が含まれている場合、ポイントインタイム リストア操作は失敗します。If you attempt to restore a range of blobs that includes blobs in a deleted container, the point-in-time restore operation will fail. コンテナーの削除からの保護の詳細については、「コンテナーの論理的な削除 (プレビュー)」を参照してください。To learn about protecting containers from deletion, see Soft delete for containers (preview).
  • 現在の時点から復元ポイントまでの間にホット層とクール層の間で BLOB が移動した場合、BLOB は以前の層に復元されます。If a blob has moved between the hot and cool tiers in the period between the present moment and the restore point, the blob is restored to its previous tier. アーカイブ層でのブロック BLOB の復元はサポートされていません。Restoring block blobs in the archive tier is not supported. たとえば、ホット層の BLOB が 2 日前にアーカイブ層に移動し、復元操作によって 3 日前の時点に復元された場合、BLOB はホット層に復元されません。For example, if a blob in the hot tier was moved to the archive tier two days ago, and a restore operation restores to a point three days ago, the blob is not restored to the hot tier. アーカイブされた BLOB を復元するには、最初にアーカイブ層の外に移動します。To restore an archived blob, first move it out of the archive tier. 詳細については、「アーカイブ層から BLOB データをリハイドレートする」を参照してください。For more information, see Rehydrate blob data from the archive tier.
  • Put Block または Put Block from URL を使用してアップロードされたが、Put Block List を使用してコミットされていないブロックは、BLOB の一部ではないため、復元操作の一部としては復元されません。A block that has been uploaded via Put Block or Put Block from URL, but not committed via Put Block List, is not part of a blob and so is not restored as part of a restore operation.
  • アクティブなリースを持つ BLOB は復元できません。A blob with an active lease cannot be restored. アクティブなリースを持つ BLOB が、復元する BLOB の範囲に含まれている場合、復元操作はアトミックに失敗します。If a blob with an active lease is included in the range of blobs to restore, the restore operation will fail atomically. 復元操作を開始する前に、アクティブなリースをすべて中断します。Break any active leases prior to initiating the restore operation.
  • スナップショットは、復元操作の一環として作成または削除されません。Snapshots are not created or deleted as part of a restore operation. ベース BLOB のみが以前の状態に復元されます。Only the base blob is restored to its previous state.
  • Azure Data Lake Storage Gen2 のフラット名前空間と階層名前空間の復元はサポートされていません。Restoring Azure Data Lake Storage Gen2 flat and hierarchical namespaces is not supported.

重要

ブロック BLOB を 2020 年 9 月 22 日より前の時点に復元すると、ポイントインタイム リストアのプレビュー制限が有効になります。If you restore block blobs to a point that is earlier than September 22, 2020, preview limitations for point-in-time restore will be in effect. 一般公開されているポイントインタイム リストア機能を利用するには、2020 年 9 月 22 日以降の復元ポイントを選択することをお勧めします。Microsoft recommends that you choose a restore point that is equal to or later than September 22, 2020 to take advantage of the generally available point-in-time restore feature.

価格と課金Pricing and billing

ポイントインタイム リストアを有効にするのに料金はかかりません。There is no charge to enable point-in-time restore. ただし、ポイントインタイム リストアを有効にすると、BLOB のバージョン管理、論理的な削除、変更フィードも有効になり、それぞれに追加料金が発生することがあります。However, enabling point-in-time restore also enables blob versioning, soft delete, and change feed, each of which which may result in additional charges.

ポイントインタイム リストアの課金は、復元操作を実行するために処理されるデータの量によって異なります。Billing for point-in-time restore depends on the amount of data processed to perform the restore operation. 処理されるデータの量は、復元ポイントから現在の時点までの間に発生した変更の数に基づいています。The amount of data processed is based on the number of changes that occurred between the restore point and the present moment. たとえば、ストレージ アカウントのブロック BLOB データの変更数が比較的一定であると仮定した場合、1 日前に戻す復元操作のコストは、10 日前に戻す復元の 1/10 になります。For example, assuming a relatively constant rate of change to block blob data in a storage account, a restore operation that goes back in time 1 day would cost 1/10th of a restore that goes back in time 10 days.

復元操作のコストを見積もるには、変更フィード ログを確認して、復元期間中に変更されたデータの量を見積もります。To estimate the cost of a restore operation, review the change feed log to estimate the amount of data that was modified during the restore period. たとえば、変更フィードの保有期間が 30 日間で、変更フィードのサイズが 10 MB の場合、10 日前の時点に復元すると、そのリージョンの LRS アカウントに対して記載されている価格の約 1/3 になります。For example, if the retention period for change feed is 30 days, and the size of the change feed is 10 MB, then restoring to a point 10 days earlier would cost approximately one-third of the price listed for an LRS account in that region. 27 日前の時点に復元すると、記載されている価格の約 9 分の 1 になります。Restoring to a point that is 27 days earlier would cost approximately nine-tenths of the price listed.

ポイントインタイム リストアの価格の詳細については、「ブロック BLOB の価格」を参照してください。For more information about pricing for point-in-time restore, see Block blob pricing.

次のステップNext steps