Delen via


Een nabijheidsplaatsingsgroep maken met Behulp van PowerShell

Notitie

Veel van de stappen in dit document zijn van toepassing op virtuele-machineschaalsets met behulp van de modus Uniform Orchestration. We raden u aan Flexibele indeling te gebruiken voor nieuwe workloads. Zie Orchesration-modi voor virtuele-machineschaalsets in Azure voor meer informatie.

Het plaatsen van VM's in één regio vermindert de fysieke afstand tussen de exemplaren. Als u ze in één beschikbaarheidszone plaatst, worden ze ook fysiek dichter bij elkaar gebracht. Naarmate de Azure-footprint groeit, kan één beschikbaarheidszone echter meerdere fysieke datacenters omvatten, wat kan leiden tot een netwerklatentie die van invloed is op uw toepassing.

Als u vm's zo dicht mogelijk bij elkaar wilt krijgen door de laagst mogelijke latentie te bereiken, kunt u deze implementeren binnen een nabijheidsplaatsingsgroep.

Een nabijheidsplaatsingsgroep is een logische groepering die wordt gebruikt om ervoor te zorgen dat Azure-rekenresources zich fysiek dicht bij elkaar bevinden. Nabijheidsplaatsingsgroepen zijn handig voor workloads waarbij lage latentie een vereiste is.

  • Lage latentie tussen zelfstandige VM's.
  • Lage latentie tussen VM's in één beschikbaarheidsset of een virtuele-machineschaalset.
  • Lage latentie tussen zelfstandige VM's, VM's in meerdere beschikbaarheidssets of meerdere schaalsets. U kunt meerdere rekenresources in één plaatsingsgroep hebben om een toepassing met meerdere lagen samen te voegen.
  • Lage latentie tussen meerdere toepassingslagen met behulp van verschillende hardwaretypen. Als u bijvoorbeeld de back-end uitvoert met behulp van de M-serie in een beschikbaarheidsset en de front-end op een exemplaar van de D-serie, in een schaalset, in één nabijheidsplaatsingsgroep.

Nabijheidsplaatsingsgroepen gebruiken

Een nabijheidsplaatsingsgroep is een resource in Azure. U moet er een maken voordat u deze met andere resources gebruikt. Zodra deze is gemaakt, kan deze worden gebruikt met virtuele machines, beschikbaarheidssets of virtuele-machineschaalsets. U geeft een nabijheidsplaatsingsgroep op bij het maken van rekenresources die de id van de nabijheidsplaatsingsgroep bieden.

U kunt een bestaande resource ook verplaatsen naar een nabijheidsplaatsingsgroep. Wanneer u een resource naar een nabijheidsplaatsingsgroep verplaatst, moet u de asset eerst stoppen (de toewijzing ervan ongedaan maken), omdat deze mogelijk opnieuw wordt geïmplementeerd in een ander datacenter in de regio om te voldoen aan de colocatiebeperking.

In het geval van beschikbaarheidssets en virtuele-machineschaalsets moet u de nabijheidsplaatsingsgroep instellen op resourceniveau in plaats van de afzonderlijke virtuele machines.

Een nabijheidsplaatsingsgroep is een colocatiebeperking in plaats van een vastmakend mechanisme. Het is vastgemaakt aan een specifiek datacenter met de implementatie van de eerste resource om deze te gebruiken. Zodra alle resources die gebruikmaken van de nabijheidsplaatsingsgroep zijn gestopt (de toewijzing ongedaan gemaakt) of verwijderd, wordt deze niet meer vastgemaakt. Als u een nabijheidsplaatsingsgroep met meerdere VM-reeksen gebruikt, is het daarom belangrijk om alle vereiste typen vooraf in een sjabloon op te geven, indien mogelijk of een implementatiereeks te volgen die uw kansen voor een succesvolle implementatie verbetert. Als uw implementatie mislukt, start u de implementatie opnieuw op met de VM-grootte die is mislukt als de eerste te implementeren grootte.

Wat u kunt verwachten wanneer u nabijheidsplaatsingsgroepen gebruikt

Nabijheidsplaatsingsgroepen bieden colocatie in hetzelfde datacenter. Omdat nabijheidsplaatsingsgroepen echter een extra implementatiebeperking vertegenwoordigen, kunnen toewijzingsfouten optreden. Er zijn enkele gebruiksvoorbeelden waarin toewijzingsfouten kunnen optreden bij het gebruik van nabijheidsplaatsingsgroepen:

  • Wanneer u om de eerste virtuele machine in de nabijheidsplaatsingsgroep vraagt, wordt het datacentrum automatisch geselecteerd. In sommige gevallen kan een tweede aanvraag voor een andere virtuele-machine-SKU mislukken als deze niet bestaat in dat datacenter. In dit geval wordt een OverconstrainedAllocationRequest-fout geretourneerd. Om dit te voorkomen, kunt u de volgorde wijzigen waarin u uw SKU's implementeert of beide resources implementeren met behulp van één ARM-sjabloon.
  • In het geval van elastische workloads, waarbij u VM-exemplaren toevoegt en verwijdert, kan het hebben van een nabijheidsplaatsingsgroepbeperking voor uw implementatie leiden tot een fout die resulteert in de toewijzingsfout .
  • Het stoppen (de toewijzing ongedaan maken) en het starten van uw VM's is een andere manier om elasticiteit te bereiken. Omdat de capaciteit niet wordt bewaard zodra u een VIRTUELE machine stopt (de toewijzing ongedaan maakt), kan het opnieuw starten resulteren in een AllocationFailure-fout .
  • VM-start- en -herimplementatiebewerkingen blijven de nabijheidsplaatsingsgroep respecteren zodra de configuratie is voltooid.

Gepland onderhoud en nabijheidsplaatsingsgroepen

Geplande onderhoudsevenementen, zoals hardware die buiten gebruik worden gesteld in een Azure-datacenter, kunnen van invloed zijn op de uitlijning van resources in nabijheidsplaatsingsgroepen. Resources kunnen worden verplaatst naar een ander datacenter, waardoor de verwachtingen voor collocatie en latentie die zijn gekoppeld aan de nabijheidsplaatsingsgroep worden onderbroken.

De uitlijningsstatus controleren

U kunt het volgende doen om de uitlijningsstatus van uw nabijheidsplaatsingsgroepen te controleren.

  • De colocatiestatus van nabijheidsplaatsingsgroepen kan worden bekeken met behulp van de portal, CLI en PowerShell.

    • Voor PowerShell kan de colocatiestatus worden verkregen met behulp van de cmdlet Get-AzProximityPlacementGroup door de optionele parameter '-ColocationStatus' op te halen.

    • Voor CLI kan de colocatiestatus worden verkregen met behulp van az ppg show de optionele parameter '--include-colocation-status'.

  • Voor elke nabijheidsplaatsingsgroep biedt een eigenschap co-locatiestatus het huidige overzicht van de uitgelijnde resources.

    • Uitgelijnd: De resource bevindt zich binnen dezelfde latentie als de nabijheidsplaatsingsgroep.

    • Onbekend: ten minste één van de VM-resources is de toewijzing ongedaan gemaakt. Zodra de status is gestart, gaat de status terug naar Uitgelijnd.

    • Niet uitgelijnd: ten minste één VM-resource wordt niet uitgelijnd met de nabijheidsplaatsingsgroep. De specifieke resources die niet zijn uitgelijnd, worden ook afzonderlijk aangeroepen in de sectie Lidmaatschap

  • Voor beschikbaarheidssets ziet u informatie over de uitlijning van afzonderlijke VM's op de overzichtspagina van de beschikbaarheidsset.

  • Voor schaalsets vindt u informatie over het uitlijnen van afzonderlijke exemplaren op het tabblad Exemplaren van de pagina Overzicht voor de schaalset.

Resources opnieuw uitlijnen

Als een nabijheidsplaatsingsgroep is Not Aligned, kunt u stoppen\de toewijzing ervan ongedaan maken en vervolgens de betrokken resources opnieuw starten. Als de VM zich in een beschikbaarheidsset of een schaalset bevindt, moeten alle VM's in de beschikbaarheidsset of schaalset eerst worden gestopt\de toewijzing ongedaan gemaakt voordat u ze opnieuw start.

Als er een toewijzingsfout optreedt vanwege implementatiebeperkingen, moet u mogelijk eerst alle resources in de betrokken nabijheidsplaatsingsgroep (inclusief de uitgelijnde resources) stoppen en opnieuw starten om de uitlijning te herstellen.

Aanbevolen procedures

  • Gebruik voor de laagste latentie nabijheidsplaatsingsgroepen samen met versneld netwerken. Zie Een virtuele Linux-machine maken met versneld netwerken of een virtuele Windows-machine maken met versneld netwerken voor meer informatie.
  • Implementeer alle VM-grootten in één sjabloon. Als u wilt voorkomen dat er op hardware wordt geland die niet alle VM-SKU's en -grootten ondersteunt die u nodig hebt, moet u alle toepassingslagen in één sjabloon opnemen, zodat ze allemaal tegelijkertijd worden geïmplementeerd.
  • Als u een script uitvoert voor uw implementatie met behulp van PowerShell, CLI of de SDK, krijgt u mogelijk een toewijzingsfout OverconstrainedAllocationRequest. In dit geval moet u alle bestaande VM's stoppen/de toewijzing ervan ongedaan maken en de volgorde in het implementatiescript wijzigen om te beginnen met de VM-SKU/grootten die zijn mislukt.
  • Wanneer u een bestaande plaatsingsgroep opnieuw gebruikt waaruit VM's zijn verwijderd, wacht u tot de verwijdering volledig is voltooid voordat u er VM's aan toevoegt.
  • Als latentie de eerste prioriteit is, plaatst u VM's in een nabijheidsplaatsingsgroep en de volledige oplossing in een beschikbaarheidszone. Maar als tolerantie de hoogste prioriteit heeft, verspreidt u uw exemplaren over meerdere beschikbaarheidszones (een enkele nabijheidsplaatsingsgroep kan geen zones omvatten).

Een nabijheidsplaatsingsgroep maken

Maak een nabijheidsplaatsingsgroep met behulp van de cmdlet New-AzProximityPlacementGroup .

$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
   -Location $location `
   -Name $ppgName `
   -ResourceGroupName $resourceGroup `
   -ProximityPlacementGroupType Standard

Nabijheidsplaatsingsgroepen vermelden

U kunt alle nabijheidsplaatsingsgroepen weergeven met behulp van de cmdlet Get-AzProximityPlacementGroup .

Get-AzProximityPlacementGroup

Een schaalset maken in een nabijheidsplaatsingsgroep

Belangrijk

Vanaf november 2023 worden VM-schaalsets die zijn gemaakt met PowerShell en Azure CLI standaard ingesteld op de flexibele indelingsmodus als er geen indelingsmodus is opgegeven. Voor meer informatie over deze wijziging en welke acties u moet ondernemen, gaat u naar Belangrijke wijziging voor VMSS PowerShell/CLI-klanten - Microsoft Community Hub

Maak een schaal in de nabijheidsplaatsingsgroep met behulp van -ProximityPlacementGroup $ppg.Id de id van de nabijheidsplaatsingsgroep wanneer u New-AzVMSS gebruikt om de schaalset te maken.

$scalesetName = "myVM"

New-AzVmss `
  -ResourceGroupName $resourceGroup `
  -Location $location `
  -OrchestrationMode "Uniform" `
  -VMScaleSetName $scalesetName `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -ProximityPlacementGroup $ppg.Id

U kunt het exemplaar in de plaatsingsgroep zien met behulp van Get-AzProximityPlacementGroup.

  Get-AzProximityPlacementGroup `
   -ResourceId $ppg.Id | Format-Table `
   -Wrap `
   -Property VirtualMachineScaleSets

Volgende stappen

U kunt de Azure CLI ook gebruiken om nabijheidsplaatsingsgroepen te maken.