増分スナップショットを新しいリージョンにコピーする
[アーティクル] 10/15/2024
3 人の共同作成者
フィードバック
この記事の内容
リージョン間で増分スナップショットをコピーする場合、2 つのオプションがあります。 最初のオプションであるマネージド プロセス (推奨) では、コピーが自動的に行われます。 このプロセスは Azure によって処理され、ターゲット リージョンにストレージ アカウントをステージングしてコピー プロセスを管理するというメンテナンス オーバーヘッドがなくなります。 Azure によって、データのメモリ占有領域を減らすためにターゲット リージョンの最後のスナップショット以降の変更のみがターゲット リージョンにコピーされるため、回復ポイントの目標が短くなります。 ご自身でコピーのプロセスを確認し、対象のスナップショットでディスクを復元する準備がいつ整うかを知ることができます。 このマネージド プロセスの場合、課金されるのは、リージョン間のデータ転送の帯域幅コストと、ソース スナップショットでの読み取りトランザクションに対してのみです。 ターゲット スナップショットのコピー中は、ソース スナップショットを削除しないでください。
2 番目のオプションは手動コピー です。この場合、2 つの増分スナップショット間のブロック レベルまでの変更を取得し、それをリージョン間で手動によってコピーします。 ほとんどのユーザーはマネージド プロセスを使用しますが、コピー速度を向上したい場合は、2 番目のオプションを使用することで、ご自身のコンピューティング リソースを使用してコピーを高速化できます。
この記事では、リージョン間での増分スナップショットのコピーについて説明します。 増分スナップショットの概念の詳細については、「マネージド ディスクの増分スナップショットの作成 」を参照してください。
制限
各リージョンのサブスクリプションあたり 100 の増分スナップショットを同時並行してコピーできます。
REST API を使用する場合、バージョン 2020-12-01 以降の Azure Compute REST API を使用する必要があります。
特定のディスクの増分スナップショットは一度に 1 つだけコピーできます。
スナップショットは、作成された順序でコピーする必要があります。
リージョン間でコピーできるのは増分スナップショットのみです。 リージョン間で完全なスナップショットをコピーすることはできません。
マネージド コピー
Azure CLI を使用して、増分スナップショットをコピーすることができます。 最新バージョンの Azure CLI が必要です。 Azure CLI をインストール またはアップデート する方法については、以下の記事を参照してください。
次のスクリプトは、あるリージョンから別のリージョンに増分スナップショットをコピーします:
subscriptionId=<yourSubscriptionID>
resourceGroupName=<yourResourceGroupName>
targetSnapshotName=<name>
sourceSnapshotName=<name>
targetRegion=<validRegion>
sourceSnapshotId=$(az snapshot show -n $sourceSnapshotName -g $resourceGroupName --query [id] -o tsv)
az snapshot create -g $resourceGroupName -n $targetSnapshotName -l $targetRegion --source $sourceSnapshotId --incremental --copy-start
コピーの状態を確認する
CompletionPercent
プロパティを確認すると、個々のスナップショットの状態を確認できます。 $sourceSnapshotName
をスナップショットの名前に置き換えてから、次のコマンドを実行してください。 スナップショットを使用してディスクを復元したり、基になるデータをダウンロードするための SAS URI を生成したりする前に、プロパティの値は 100 になっている必要があります。
az snapshot show -n $sourceSnapshotName -g $resourceGroupName --query [completionPercent] -o tsv
Azure PowerShell モジュールを使用して、増分スナップショットをコピーすることができます。 最新バージョンの Azure PowerShell モジュールが必要です。 次のコマンドを実行すると、最新版がインストールされるか、既存のインストールが最新版に更新されます。
Install-Module -Name Az -AllowClobber -Scope CurrentUser
インストールしたら、Connect-AzAccount
を使用して PowerShell セッションにサインインします。
次のスクリプトは、あるリージョンから別のリージョンに増分スナップショットをコピーします。
$subscriptionId="yourSubscriptionIdHere"
$resourceGroupName="yourResourceGroupNameHere"
$sourceSnapshotName="yourSourceSnapshotNameHere"
$targetSnapshotName="yourTargetSnapshotNameHere"
$targetRegion="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$sourceSnapshot=Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $sourceSnapshotName
$snapshotconfig = New-AzSnapshotConfig -Location $targetRegion -CreateOption CopyStart -Incremental -SourceResourceId $sourceSnapshot.Id
New-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $targetSnapshotName -Snapshot $snapshotconfig
コピーの状態を確認する
個々のスナップショットの CompletionPercent
プロパティを確認して、その状態を把握できます。 yourResourceGroupNameHere
と yourSnapshotName
を置き換えてから、スクリプトを実行してください。 スナップショットを使用してディスクを復元したり、基になるデータをダウンロードするための SAS URI を生成したりする前に、プロパティの値は 100 になっている必要があります。
$resourceGroupName = "yourResourceGroupNameHere"
$snapshotName = "yourSnapshotName"
$targetSnapshot=Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
$targetSnapshot.CompletionPercent
また、Azure portal を使ってリージョン間で増分スナップショットをコピーすることもできます。
Azure portal にサインインし、移行する増分スナップショットに移動します。
[スナップショットのコピー] を選択します。
[インスタンスの詳細] の [スナップショットの種類] で [増分] を選択します。
[リージョン] を、スナップショットをコピーするリージョンに変更します。
[確認および作成] 、 [作成] の順に選択します。
Azure Resource Manager テンプレートを使用して、増分スナップショットをコピーすることもできます。 バージョン 2020-12-01 以降の Azure Compute REST API を使用する必要があります。 次のスニペットは、Resource Manager テンプレートを使用してリージョン間の増分スナップショットをコピーする方法の例です。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"defaultValue": "isnapshot1",
"type": "String"
},
"sourceSnapshotResourceId": {
"defaultValue": "<your_incremental_snapshot_resource_ID>",
"type": "String"
},
"skuName": {
"defaultValue": "Standard_LRS",
"type": "String"
},
"targetRegion": {
"defaultValue": "desired_region",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Compute/snapshots",
"sku": {
"name": "[parameters('skuName')]",
"tier": "Standard"
},
"name": "[parameters('name')]",
"apiVersion": "2020-12-01",
"location": "[parameters('targetRegion')]",
"scale": null,
"properties": {
"creationData": {
"createOption": "CopyStart",
"sourceResourceId": "[parameters('sourceSnapshotResourceId')]"
},
"incremental": true
},
"dependsOn": []
}
]
}
手動コピー
増分スナップショットには、差分機能が用意されています。 これにより、同じマネージド ディスクの 2 つの増分スナップショット間の変更内容を、ブロック レベルまで取得できます。 スナップショットを複数のリージョンにわたってコピーするとき、これを使用してデータ占有領域を削減できます。 たとえば、最初の増分スナップショットは、別のリージョンのベース BLOB としてダウンロードできます。 以降の増分スナップショットについては、前回のスナップショット以降の変更分のみをベース BLOB にコピーできます。 変更をコピーした後は、別のリージョンにあるディスクのポイントインタイム バックアップを表すスナップショットを、ベース BLOB で取得できます。 ディスクの復元は、ベース BLOB から行うこともでき、別のリージョンにあるベース BLOB のスナップショットから行うこともできます。
次のステップ
.NET を使用し、増分スナップショットの差分機能を示すサンプル コードを見る場合、増分スナップショットの差分機能で別のリージョンに Azure マネージド ディスク バックアップをコピーする 方法に関するページを参照してください。
スナップショットに関するその他の質問がある場合は、FAQ のスナップショット に関するセクションを参照してください。