PowerShell でスナップショットからマネージド ディスクを作成する
このスクリプトでは、スナップショットからマネージド ディスクを作成します。 このスクリプトを使用して、OS またはデータ ディスクのスナップショットから仮想マシンを復元します。 OS およびデータのマネージド ディスクをそれぞれのスナップショットから作成してから、マネージド ディスクを接続することで新しい仮想マシンを作成します。 スナップショットから作成されたデータ ディスクを接続することで既存の VM のデータ ディスクを復元することもできます。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
サンプル スクリプト
#Provide the subscription Id
$subscriptionId = 'yourSubscriptionId'
#Provide the name of your resource group
$resourceGroupName ='yourResourceGroupName'
#Provide the name of the snapshot that will be used to create Managed Disks
$snapshotName = 'yourSnapshotName'
#Provide the name of the Managed Disk
$diskName = 'yourManagedDiskName'
#Provide the size of the disks in GB. It should be greater than the VHD file size.
$diskSize = '128'
#Provide the storage type for Managed Disk. Acceptable values are Standard_LRS, Premium_LRS, PremiumV2_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS and StandardSSD_ZRS.
$storageType = 'Premium_LRS'
#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
$zone=1
#Provide the Azure region (e.g. westus) where Managed Disks will be located.
#This location should be same as the snapshot location
#Get all the Azure location using command below:
#Get-AzLocation
$location = 'westus'
#Set the context to the subscription Id where Managed Disk will be created
Select-AzSubscription -SubscriptionId $SubscriptionId
$snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
#If you're creating a Premium SSD v2 or an Ultra Disk, add "-Zone $zone" to the end of the command
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id -DiskSizeGB $diskSize
New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName
パフォーマンスへの影響 - バックグラウンド コピー プロセス
スナップショットからマネージド ディスクを作成すると、バックグラウンド コピー プロセスが開始されます。 このプロセスの実行中は VM にディスクをアタッチできますが、パフォーマンスへの影響が生じます (4k ディスクでは読み取りへの影響が生じ、512e では読み取りと書き込み両方への影響が生じます)。 Ultra Disks と Premium SSD v2 の場合は、Azure CLI を使用してバックグラウンド コピー プロセスの状態を確認できます。 これは現在、Azure PowerShell モジュールではサポートされていません。
重要
Ultra Disk または Premium SSD v2 以外の種類のディスクでは、次のセクションを使っても、バックグラウンド コピー プロセスの状態を取得することはできません。 その他の種類のディスクでは常に 100% と報告されます。
スクリプトの説明
このスクリプトでは、以下のコマンドを使ってスナップショットからマネージド ディスクを作成します。 表内の各コマンドは、それぞれのドキュメントにリンクされています。
コマンド | メモ |
---|---|
Get-AzSnapshot | スナップショットのプロパティを取得します。 |
New-AzDiskConfig | ディスクの作成に使用するディスク構成を作成します。 この構成には、親スナップショットのリソース ID、親スナップショットと同じ場所、ストレージの種類が含まれます。 |
New-AzDisk | パラメーターとして渡されたディスク構成、ディスク名、リソース グループ名を使ってディスクを作成します。 |
次のステップ
Azure PowerShell モジュールの詳細については、Azure PowerShell のドキュメントを参照してください。
その他の仮想マシン用の PowerShell サンプル スクリプトは、Azure Windows VM のドキュメントにあります。