Bagikan melalui


Menyebarkan VM ke grup penempatan kedekatan menggunakan Azure PowerShell

Berlaku untuk: ✔️ VM Linux ✔️ VM Windows

Supaya VM berada sedekat mungkin dan mencapai latensi serendah mungkin, Anda harus menempatkannya dalam grup penempatan kedekatan.

Grup penempatan jarak adalah pengelompokan logis yang digunakan untuk memastikan bahwa sumber daya komputasi Azure secara fisik terletak dekat dengan 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

Daftar grup penempatan kedekatan

Anda dapat mencantumkan 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

Membuat 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 dalam 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 sudah ada ke grup penempatan kedekatan. Anda perlu menghentikan\membatalkan alokasi VM terlebih dahulu, lalu memperbarui VM dan memulai 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 memulai 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

Set Ketersediaan

Anda juga dapat membuat set ketersediaan di kelompok penempatan terdekat Anda. Gunakan parameter yang sama -ProximityPlacementGroup dengan cmdlet New-AzAvailabilitySet untuk membuat set ketersediaan dan semua VM yang dibuat dalam set ketersediaan juga akan dibuat dalam grup penempatan kedekatan yang sama.

Untuk menambahkan atau menghapus kumpulan ketersediaan yang sudah ada ke grup penempatan kedekatan, Anda harus terlebih dahulu menghentikan semua VM dalam kumpulan ketersediaan tersebut.

Memindahkan set ketersediaan yang 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 set 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 skala set di grup penempatan kedekatan Anda. Gunakan parameter yang sama -ProximityPlacementGroup dengan New-AzVmss untuk membuat set skala dan semua instans akan dibuat dalam grup penempatan kedekatan yang sama.

Untuk menambahkan atau menghapus set skala yang sudah ada ke dalam grup penempatan yang berdekatan, Anda perlu menghentikan set skala terlebih dahulu.

Memindahkan set skala yang 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 skala set 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.