Menyebarkan VM ke grup penempatan kedekatan menggunakan Azure PowerShell
Berlaku untuk: ✔️ VM Linux ✔️ VM Windows
Untuk membuat VM sedekat mungkin, mencapai latensi serendah mungkin, Anda harus menyebarkan VM dalam grup penempatan kedekatan.
Grup penempatan kedekatan adalah pengelompokan logis yang digunakan untuk memastikan bahwa sumber daya komputasi Azure secara fisik terletak dekat satu sama lain. Grup penempatan kedekatan berguna untuk beban kerja yang membutuhkan latensi rendah.
Membuat grup penempatan kedekatan
Buat grup penempatan kedekatan menggunakan cmdlet New-AzProximityPlacementGroup.
$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
$zone = "1"
$vmSize1 = "Standard_E64s_v4"
$vmSize2 = "Standard_M416ms_v2"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
-Location $location `
-Name $ppgName `
-ResourceGroupName $resourceGroup `
-ProximityPlacementGroupType Standard `
-Zone $zone `
-IntentVMSizeList $vmSize1, $vmSize2
Membuat daftar grup penempatan kedekatan
Anda dapat membuat daftar semua grup penempatan kedekatan menggunakan cmdlet Get-AzProximityPlacementGroup.
Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroup -Name $ppgName
ResourceGroupName : myPPGResourceGroup
ProximityPlacementGroupType : Standard
Id : /subscriptions/[subscriptionId]/resourceGroups/myPPGResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG
Name : myPPG
Type : Microsoft.Compute/proximityPlacementGroups
Location : eastus
Tags : {}
Intent :
VmSizes[0] : Standard_E64s_v4
VmSizes[1] : Standard_M416ms_v2
Zones[0] : 1
Buat VM
Buat VM di grup penempatan kedekatan menggunakan -ProximityPlacementGroup $ppg.Id
untuk merujuk ke ID grup penempatan kedekatan saat Anda menggunakan New-AzVM untuk membuat VM.
$vmName = "myVM"
New-AzVm `
-ResourceGroupName $resourceGroup `
-Name $vmName `
-Location $location `
-ProximityPlacementGroup $ppg.Id
Anda dapat melihat VM di grup penempatan menggunakan Get-AzProximityPlacementGroup.
Get-AzProximityPlacementGroup -ResourceId $ppg.Id |
Format-Table -Property VirtualMachines -Wrap
Memindahkan VM yang ada ke dalam grup penempatan kedekatan
Anda juga dapat menambahkan VM yang ada ke grup penempatan kedekatan. Anda perlu menghentikan\membatalkan alokasi VM terlebih dahulu, lalu memperbarui VM dan menghidupkan ulang.
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPGResourceGroup -Name myPPG
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Update-AzVM -VM $vm -ResourceGroupName $vm.ResourceGroupName -ProximityPlacementGroupId $ppg.Id
Start-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Memindahkan VM yang ada dari grup penempatan kedekatan
Untuk menghapus VM dari grup penempatan kedekatan, Anda perlu menghentikan\membatalkan alokasi VM terlebih dahulu, lalu memperbarui VM dan menghidupkan ulang.
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPGResourceGroup -Name myPPG
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
$vm.ProximityPlacementGroup = ""
Update-AzVM -VM $vm -ResourceGroupName $vm.ResourceGroupName
Start-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Kumpulan ketersediaan
Anda juga dapat membuat kumpulan ketersediaan di grup penempatan kedekatan Anda. Gunakan parameter -ProximityPlacementGroup
yang sama dengan cmdlet New-AzAvailabilitySet untuk membuat kumpulan ketersediaan dan semua VM yang dibuat dalam kumpulan ketersediaan tersebut juga akan dibuat dalam grup penempatan kedekatan yang sama.
Untuk menambahkan atau menghapus kumpulan ketersediaan yang sudah ada ke grup penempatan kedekatan, pertama-tama Anda harus menghentikan semua VM dalam kumpulan ketersediaan tersebut.
Memindahkan kumpulan ketersediaan yang sudah ada ke dalam grup penempatan kedekatan
$resourceGroup = "myResourceGroup"
$avSetName = "myAvailabilitySet"
$avSet = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup -Name $avSetName
$vmIds = $avSet.VirtualMachinesReferences
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
}
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPG -Name myPPG
Update-AzAvailabilitySet -AvailabilitySet $avSet -ProximityPlacementGroupId $ppg.Id
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName
}
Memindahkan kumpulan ketersediaan yang sudah ada dari grup penempatan kedekatan
$resourceGroup = "myResourceGroup"
$avSetName = "myAvailabilitySet"
$avSet = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup -Name $avSetName
$vmIds = $avSet.VirtualMachinesReferences
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
}
$avSet.ProximityPlacementGroup = ""
Update-AzAvailabilitySet -AvailabilitySet $avSet
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName
}
Kumpulan skala
Anda juga dapat membuat kumpulan skala di grup penempatan kedekatan Anda. Gunakan parameter -ProximityPlacementGroup
yang sama dengan New-AzVmss untuk membuat kumpulan skala dan semua instans akan dibuat dalam grup penempatan kedekatan yang sama.
Untuk menambahkan atau menghapus kumpulan skala yang ada ke grup penempatan kedekatan, Anda harus menghentikan kumpulan skala tersebut terlebih dahulu.
Memindahkan kumpulan skala yang sudah ada ke dalam grup penempatan kedekatan
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPG -Name myPPG
$vmss = Get-AzVmss -ResourceGroupName myVMSSResourceGroup -VMScaleSetName myScaleSet
Stop-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Update-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName -ProximityPlacementGroupId $ppg.Id
Start-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Memindahkan kumpulan skala yang sudah ada dari grup penempatan kedekatan
$vmss = Get-AzVmss -ResourceGroupName myVMSSResourceGroup -VMScaleSetName myScaleSet
Stop-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
$vmss.ProximityPlacementGroup = ""
Update-AzVmss -VirtualMachineScaleSet $vmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Start-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Langkah berikutnya
Anda juga dapat menggunakan Azure CLI untuk membuat grup penempatan kedekatan.