マネージド ディスクの増分スナップショットの作成

適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ 均一スケール セット

増分スナップショットは、マネージド ディスクの特定の時点のバックアップであり、取得時に、最後のスナップショット以降の変更のみで構成されます。 増分スナップショットからディスクを復元する場合、増分スナップショットの取得時に、システムによってディスクの特定の時点のバックアップを表す完全なディスクが再構築されます。 マネージド ディスク スナップショットに追加されたこの機能は、コスト効率の向上に役立つ可能性があります。ユーザーが選択しない限り、スナップショットを取得するたびにディスク全体を保存する必要がなくなるからです。 増分スナップショットは、フル スナップショットと同様、完全なマネージド ディスクまたはフル スナップショットのいずれを作成する場合にも使用できます。 フル スナップショットと増分スナップショットはどちらも、取得後すぐに使用できます。 つまり、いずれかのスナップショットを取得すると、基になる VHD をすぐに読み取り、それを使用してディスクを復元できます。

増分スナップショットとフル スナップショットには、いくつかの違いがあります。 増分スナップショットでは、ディスクのストレージの種類に関係なく、常に Standard HDD ストレージが使用されますが、フル スナップショットでは Premium SSD を使用できます。 VM のデプロイをスケールアップするために Premium Storage でフル スナップショットを使用している場合は、Shared Image Gallery の Standard Storage でカスタム イメージを使用することをお勧めします。 これは、より低コストでさらに大規模なスケールを実現するのに役立ちます。 さらに、増分スナップショットは、ゾーン冗長ストレージ (ZRS) を使用すると、信頼性が向上する可能性があります。 選択したリージョンで ZRS が使用可能な場合、増分スナップショットは ZRS を自動的に使用します。 そのリージョンで ZRS が使用できない場合、スナップショットは既定でローカル冗長ストレージ (LRS) に設定されます。 この動作をオーバーライドして手動で選択することもできますが、これはお勧めしません。

増分スナップショットには、差分機能が用意されています。 これにより、同じマネージド ディスクの 2 つの増分スナップショット間の変更内容を、ブロック レベルまで取得できます。 スナップショットを複数のリージョンにわたってコピーするとき、これを使用してデータ占有領域を削減できます。 たとえば、最初の増分スナップショットは、別のリージョンのベース BLOB としてダウンロードできます。 以降の増分スナップショットについては、前回のスナップショット以降の変更分のみをベース BLOB にコピーできます。 変更をコピーした後は、別のリージョンにあるディスクのポイントインタイム バックアップを表すスナップショットを、ベース BLOB で取得できます。 ディスクの復元は、ベース BLOB から行うこともでき、別のリージョンにあるベース BLOB のスナップショットから行うこともできます。

Diagram depicting incremental snapshots copied across regions. Snapshots make various API calls until eventually forming page blobs per each snapshot.

増分スナップショットは、使用されたサイズに対してのみ課金されます。 スナップショットの使用サイズは、Azure 利用状況レポートで見つけることができます。 たとえば、スナップショットの使用データ サイズが 10 GiB の場合、毎日の利用状況レポートには、使用量として 10 GiB/(31 日) = 0.3226 が表示されます。

制限

  • 増分スナップショットは、現時点ではサブスクリプション間で移動できません。
  • 現時点では、任意の時点で特定のスナップショット ファミリの最大 5 つのスナップショットの SAS URI のみを生成することができます。
  • 特定のディスクの増分スナップショットを、そのディスクのサブスクリプションの外部で作成することはできません。
  • 増分スナップショットを別のリソース グループに移動することはできません。 ただし、別のリソース グループまたはリージョンにコピーすることはできます。
  • ディスクあたり最大 7 つの増分スナップショットを 5 分ごとに作成できます。
  • 1 つのディスクに対して合計 500 の増分スナップショットを作成できます。
  • 4 TB の境界をまたいで親ディスクのサイズを変更する際、変更の前と後に作成されたスナップショットの間の変更を取得することはできません。 たとえば、ディスクのサイズが 2 TB の場合に増分スナップショット snapshot-a を作成したとします。 これで、ディスクのサイズが 6 TB に増加し、別の増分スナップショット snapshot-b が作成されました。 snapshot-asnapshot-b 間の変更を取得することはできません。 サイズ変更後に作成された snapshot-b の完全なコピーを再度ダウンロードする必要があります。 その後、snapshot-bsnapshot-b の後に作成されたスナップショット間の変更を取得できます。

Azure CLI を使用して、増分スナップショットを作成することができます。 最新バージョンの Azure CLI が必要です。 Azure CLI をインストールまたはアップデートする方法については、以下の記事を参照してください。

次のスクリプトは、特定のディスクの増分スナップショットを作成します。

# Declare variables
diskName="yourDiskNameHere"
resourceGroupName="yourResourceGroupNameHere"
snapshotName="desiredSnapshotNameHere"

# Get the disk you need to backup
yourDiskID=$(az disk show -n $diskName -g $resourceGroupName --query "id" --output tsv)

# Create the snapshot
az snapshot create -g $resourceGroupName -n $snapshotName --source $yourDiskID --incremental true

スナップショットの SourceResourceId プロパティにより、同じディスクからの増分スナップショットを識別できます。 SourceResourceId は親ディスクの Azure Resource Manager リソース ID です。

SourceResourceId を利用し、特定のディスクに関連付けられているすべてのスナップショットの一覧を作成できます。 yourResourceGroupNameHere を実際の値に変更します。次の例を利用すると、既存の増分スナップショットを一覧表示できます。

# Declare variables and create snapshot list
subscriptionId="yourSubscriptionId"
resourceGroupName="yourResourceGroupNameHere"
diskName="yourDiskNameHere"

az account set --subscription $subscriptionId

diskId=$(az disk show -n $diskName -g $resourceGroupName --query [id] -o tsv)

az snapshot list --query "[?creationData.sourceResourceId=='$diskId' && incremental]" -g $resourceGroupName --output table

次のステップ

リージョン間で増分スナップショットをコピーする方法については、「増分スナップショットを新しいリージョンにコピーする」を参照してください。

.NET を使用し、増分スナップショットの差分機能を示すサンプル コードを見る場合、増分スナップショットの差分機能で別のリージョンに Azure マネージド ディスク バックアップをコピーする方法に関するページを参照してください。