Sdílet prostřednictvím


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 .