Nasazení virtuálních počítačů do skupin umístění bezkontaktní komunikace pomocí Azure PowerShell
Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ s Windows
Pokud chcete virtuální počítače co nejvíce přiblížit a dosáhnout nejnižší možné latence, měli byste je nasadit ve skupině umístění bezkontaktní komunikace.
Skupina umístění bezkontaktní komunikace je logické seskupení, které se používá k zajištění toho, aby se výpočetní prostředky Azure fyzicky nacházely blízko sebe. Skupiny umístění bezkontaktní komunikace jsou užitečné pro úlohy, u kterých je požadavkem nízká latence.
Vytvoření skupiny umístění bezkontaktní komunikace
Vytvořte skupinu umístění bezkontaktní komunikace pomocí rutiny 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
Vypsat skupiny umístění bezkontaktní komunikace
Pomocí rutiny Get-AzProximityPlacementGroup můžete zobrazit seznam všech skupin umístění bezkontaktní komunikace.
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
Vytvoření virtuálního počítače
Vytvořte virtuální počítač ve skupině umístění bezkontaktní komunikace pomocí -ProximityPlacementGroup $ppg.Id
příkazu k odkazování na ID skupiny umístění bezkontaktní komunikace při vytvoření virtuálního počítače pomocí rutiny New-AzVM .
$vmName = "myVM"
New-AzVm `
-ResourceGroupName $resourceGroup `
-Name $vmName `
-Location $location `
-ProximityPlacementGroup $ppg.Id
Virtuální počítač můžete zobrazit ve skupině umístění pomocí rutiny Get-AzProximityPlacementGroup.
Get-AzProximityPlacementGroup -ResourceId $ppg.Id |
Format-Table -Property VirtualMachines -Wrap
Přesunutí existujícího virtuálního počítače do skupiny umístění bezkontaktní komunikace
Do skupiny umístění bezkontaktní komunikace můžete také přidat existující virtuální počítač. Nejdřív musíte virtuální počítač zastavit nebo uvolnit, pak ho aktualizovat a restartovat.
$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
Přesunutí existujícího virtuálního počítače ze skupiny umístění bezkontaktní komunikace
Pokud chcete odebrat virtuální počítač ze skupiny umístění bezkontaktní komunikace, musíte nejdřív zastavit nebo uvolnit virtuální počítač, pak ho aktualizovat a restartovat.
$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
Skupiny dostupnosti
Skupinu dostupnosti můžete také vytvořit ve skupině umístění bezkontaktní komunikace. Pomocí stejného -ProximityPlacementGroup
parametru s rutinou New-AzAvailabilitySet vytvořte skupinu dostupnosti a všechny virtuální počítače vytvořené ve skupině dostupnosti se také vytvoří ve stejné skupině umístění bezkontaktní komunikace.
Pokud chcete přidat nebo odebrat existující skupinu dostupnosti do skupiny umístění bezkontaktní komunikace, musíte nejprve zastavit všechny virtuální počítače ve skupině dostupnosti.
Přesunutí existující skupiny dostupnosti do skupiny umístění bezkontaktní komunikace
$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
}
Přesunutí existující skupiny dostupnosti ze skupiny umístění bezkontaktní komunikace
$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
}
Škálovací sady
Škálovací sadu můžete také vytvořit ve skupině umístění bezkontaktní komunikace. Pomocí stejného -ProximityPlacementGroup
parametru s New-AzVmss vytvořte škálovací sadu a všechny instance se vytvoří ve stejné skupině umístění bezkontaktní komunikace.
Pokud chcete přidat nebo odebrat existující škálovací sadu do skupiny umístění bezkontaktní komunikace, musíte nejprve škálovací sadu zastavit.
Přesunutí existující škálovací sady do skupiny umístění bezkontaktní komunikace
$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
Přesunutí existující škálovací sady ze skupiny umístění bezkontaktní komunikace
$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
Další kroky
K vytvoření skupin umístění bezkontaktní komunikace můžete použít také Azure CLI .