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 .