Nasazení virtuálních počítačů do skupin umístění bezkontaktní komunikace pomocí Azure PowerShellu
Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️
Pokud chcete virtuální počítače co nejblíže 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é slouží k zajištění fyzického umístění výpočetních prostředků Azure blízko sebe. Skupiny umístění blízko sebe jsou užitečné pro úlohy, kde 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
Výpis skupin umístění bezkontaktní komunikace
Všechny skupiny umístění bezkontaktní komunikace můžete zobrazit pomocí rutiny 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
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
id skupiny umístění bezkontaktní komunikace, když k vytvoření virtuálního počítače použijete 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
Existující virtuální počítač můžete také přidat do skupiny umístění bezkontaktní komunikace. Nejprve je potřeba virtuální počítač zastavit nebo zrušit jeho přidělení a 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 nejprve zastavit nebo zrušit přidělení virtuálního počítače a pak virtuální počítač 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
Ve skupině umístění bezkontaktní komunikace můžete také vytvořit skupinu dostupnosti. 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 vytvoří také 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 mimo skupinu 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
Ve skupině umístění bezkontaktní komunikace můžete také vytvořit škálovací sadu. 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 zastavit škálovací sadu.
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 mimo skupinu 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 .