Närhetsplaceringsgrupper

Gäller för: ✔️ Virtuella Linux-datorer ✔️ med virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar

Om du placerar virtuella datorer i en enda region minskar det fysiska avståndet mellan instanserna. Genom att placera dem i en enda tillgänglighetszon förs de också fysiskt närmare varandra. Men när Azure-fotavtrycket växer kan en enda tillgänglighetszon sträcka sig över flera fysiska datacenter, vilket kan leda till att nätverksfördröjningen påverkar ditt program.

För att få virtuella datorer så nära som möjligt och uppnå lägsta möjliga svarstid bör du distribuera dem inom en närhetsplaceringsgrupp.

En närhetsplaceringsgrupp är en logisk gruppering som används för att se till att Azure-beräkningsresurserna finns fysiskt nära varandra. Närhetsplaceringsgrupper är användbara för arbetsbelastningar där låg svarstid är ett krav.

  • Låg svarstid mellan fristående virtuella datorer.
  • Låg svarstid mellan virtuella datorer i en enda tillgänglighetsuppsättning eller en VM-skalningsuppsättning.
  • Låg svarstid mellan fristående virtuella datorer, virtuella datorer i flera tillgänglighetsuppsättningar eller flera skalningsuppsättningar. Du kan ha flera beräkningsresurser i en enda placeringsgrupp för att sammanföra ett flernivåprogram.
  • Låg svarstid mellan flera programnivåer med olika maskinvarutyper. Du kan till exempel köra serverdelen med hjälp av M-serien i en tillgänglighetsuppsättning och klientdelen på en D-serieinstans, i en skalningsuppsättning, i en enda närhetsplaceringsgrupp.

Bild för närhetsplaceringsgrupper

Använda närhetsplaceringsgrupper

En närhetsplaceringsgrupp är en resurs i Azure. Du måste skapa en innan du använder den med andra resurser. När den har skapats kan den användas med virtuella datorer, tillgänglighetsuppsättningar eller VM-skalningsuppsättningar. Du anger en närhetsplaceringsgrupp när du skapar beräkningsresurser som tillhandahåller närhetsplaceringsgruppens ID.

Du kan också flytta en befintlig resurs till en närhetsplaceringsgrupp. När du flyttar en resurs till en närhetsplaceringsgrupp bör du stoppa (frigöra) tillgången först eftersom den distribueras om potentiellt till ett annat datacenter i regionen för att uppfylla samlokaliseringsbegränsningen.

När det gäller tillgänglighetsuppsättningar och VM-skalningsuppsättningar bör du ange närhetsplaceringsgruppen på resursnivå i stället för de enskilda virtuella datorerna.

En närhetsplaceringsgrupp är en samlokaliseringsbegränsning snarare än en fästmekanism. Den fästs på ett specifikt datacenter med distributionen av den första resursen som ska använda den. När alla resurser som använder närhetsplaceringsgruppen har stoppats (frigjorts) eller tagits bort fästs den inte längre. När du använder en närhetsplaceringsgrupp med flera VM-serier är det därför viktigt att ange alla nödvändiga typer direkt i en mall om det är möjligt eller följa en distributionssekvens, vilket förbättrar dina chanser till en lyckad distribution. Om distributionen misslyckas startar du om distributionen med VM-storleken, som misslyckades som den första storleken som ska distribueras.

Använd avsikt för att ange VM-storlekar

Du kan använda den valfria intent parametern för att ange de vm-storlekar som ska ingå i närhetsplaceringsgruppen. Den här parametern kan anges när du skapar en närhetsplaceringsgrupp eller så kan den läggas till/ändras när du uppdaterar en närhetsplaceringsgrupp efter att alla virtuella datorer har frigjorts.

När du anger intentkan du också lägga till den valfria zone parametern för att ange en tillgänglighetszon, vilket indikerar att närhetsplaceringsgruppen måste skapas inom en specifik tillgänglighetszon. Observera följande när du anger parametern zone :

  • Parametern tillgänglighetszon kan bara anges när närhetsplaceringsgruppen skapas och kan inte ändras senare.
  • Parametern zone kan bara användas med intent, den kan inte användas ensam.
  • Endast en tillgänglighetszon kan anges.

Skapandet eller uppdateringen av närhetsplaceringsgruppen lyckas bara när minst ett datacenter stöder alla VM-storlekar som anges i avsikten. Annars misslyckas skapandet eller uppdateringen med "OverconstrainedAllocationRequest", vilket indikerar att kombinationen av VM-storlekar inte kan stödjas inom en närhetsplaceringsgrupp. Avsikten ger ingen kapacitetsreservation eller garanti. Vm-storlekarna och zonen som anges i intent används för att välja ett lämpligt datacenter, vilket minskar risken för fel om önskad VM-storlek inte är tillgänglig i ett datacenter. Allokeringsfel kan fortfarande inträffa om det inte finns mer kapacitet för en VM-storlek vid tidpunkten för distributionen.

Anteckning

Om du vill använda avsikter för närhetsplaceringsgrupper kontrollerar du att API-versionen är 2021-11-01 eller högre

Metodtips vid användning av avsikt

  • Ange endast en tillgänglighetszon för närhetsplaceringsgruppen när du anger en avsikt. Att tillhandahålla en tillgänglighetszon utan avsikt resulterar i ett fel när närhetsplaceringsgruppen skapas.
  • Om du anger en tillgänglighetszon i avsikten kontrollerar du att tillgänglighetszonen för de virtuella datorer som du distribuerar matchar det som anges i avsikten för att undvika fel vid distribution av virtuella datorer.
  • Det är tillåtet att skapa eller lägga till virtuella datorer med storlekar som inte ingår i avsikten, men det rekommenderas inte. Storleken kanske inte finns i det valda datacentret och kan resultera i fel vid tidpunkten för vm-distributionen.
  • För befintliga placeringsgrupper rekommenderar vi att du inkluderar storleken på de befintliga virtuella datorerna när du uppdaterar avsikten, för att undvika fel när du distribuerar om de virtuella datorerna.

Avsikten kan påverkas med inaktivering

  • När du har skapat en närhetsplaceringsgrupp med avsikt och innan du distribuerar virtuella datorer kan planerade underhållshändelser som maskinvaruavställning i ett Azure-datacenter inträffa, vilket resulterar i att kombinationen av VM-storlekar som anges i avsikten inte är tillgänglig i datacentret. I sådana fall uppstår felet "OverconstrainedAllocationRequest", även när virtuella datorer med storlekar som anges i avsikten distribueras. Du kan prova att frigöra alla resurser i närhetsplaceringsgruppen och återskapa dem för att få ett datacenter som kan hantera avsikten. Om det inte finns något datacenter med de angivna VM-storlekarna efter inaktiveringen kan du behöva ändra avsikten att använda en annan kombination av VM-storlekar, eftersom kombinationen av VM-storlekar inte längre stöds.
  • Azure kan dra tillbaka en hel VM-familj eller en specifik uppsättning VM-storlekar. Om du har en sådan VM-storlek i avsikten kan du behöva ta bort den eller ersätta den med en annan storlek före tillbakadragningsdatumet för den ursprungliga VM-storleken. Annars är avsikten inte längre giltig.

Vad du kan förvänta dig när du använder närhetsplaceringsgrupper

Närhetsplaceringsgrupper erbjuder samlokalisering i samma datacenter. Men eftersom närhetsplaceringsgrupper representerar ytterligare en distributionsbegränsning kan allokeringsfel uppstå. Det finns få användningsfall där du kan se allokeringsfel när du använder närhetsplaceringsgrupper:

  • När du frågar efter den första virtuella datorn i närhetsplaceringsgruppen väljs datacentret automatiskt. I vissa fall kan en andra begäran om en annan VM-storlek misslyckas om den inte finns i det datacentret. I det här fallet returneras ett OverconstrainedAllocationRequest-fel. För att undvika det här felet kan du prova att ändra i vilken ordning du distribuerar vm-storlekarna eller låta båda resurserna distribueras med en enda ARM-mall.
  • Om närhetsplaceringsgruppen skapas med avsikt behöver de virtuella datorerna inte distribueras i någon viss ordning och behöver inte batchhanteras med en enda ARM-mall, eftersom avsikten används för att välja ett datacenter som stöder alla VM-storlekar som anges i avsikten.
  • När det gäller elastiska arbetsbelastningar, där du lägger till och tar bort VM-instanser, kan en närhetsplaceringsgruppsbegränsning för distributionen leda till att begäran inte uppfylls, vilket resulterar i ett AllocationFailure-fel .
  • Att stoppa (frigöra) och starta dina virtuella datorer efter behov är ett annat sätt att uppnå elasticitet. Eftersom kapaciteten inte behålls när du stoppar (frigör) en virtuell dator kan det leda till ett AllocationFailure-fel om du startar den igen.
  • Åtgärder för att starta och omdistribuera virtuella datorer fortsätter att respektera närhetsplaceringsgruppen när den har konfigurerats.

Planerat underhåll och närhetsplaceringsgrupper

Planerade underhållshändelser, till exempel inaktivering av maskinvara i ett Azure-datacenter, kan potentiellt påverka anpassningen av resurser i närhetsplaceringsgrupper. Resurser kan flyttas till ett annat datacenter, vilket stör förväntningarna på samlokalisering och svarstid som är associerade med närhetsplaceringsgruppen.

Kontrollera justeringsstatusen

Du kan göra följande för att kontrollera justeringsstatusen för närhetsplaceringsgrupperna.

  • Samlokaliseringsstatus för närhetsplaceringsgrupper kan visas med hjälp av portalen, CLI och PowerShell.

    • PowerShell – samlokaliseringsstatus kan hämtas via Get-AzProximityPlacementGroup cmdlet genom att inkludera den valfria parametern "-ColocationStatus".

    • CLI – samlokaliseringsstatus kan erhållas genom az ppg show att inkludera den valfria parametern "--include-colocation-status".

  • För varje närhetsplaceringsgrupp ger en egenskap för samlokaliseringsstatus den aktuella justeringsstatussammanfattningen för de grupperade resurserna.

    • Justerad: Resursen ligger inom samma svarstidsslutpunkt för närhetsplaceringsgruppen.

    • Okänd: Minst en av de virtuella datorresurserna frigörs. När de har startats om bör statusen gå tillbaka till Justerad.

    • Inte justerad: Minst en VM-resurs är inte justerad med närhetsplaceringsgruppen. De specifika resurser som inte är justerade kommer också att framhävas separat i medlemskapsavsnittet

  • För tillgänglighetsuppsättningar kan du se information om justering av enskilda virtuella datorer på översiktssidan för tillgänglighetsuppsättningar.

  • För skalningsuppsättningar kan information om justering av enskilda instanser visas på fliken Instanser på sidan Översikt för skalningsuppsättningen.

Justera resurser

Om en närhetsplaceringsgrupp är Not Alignedkan du stoppa\frigöra och sedan starta om de berörda resurserna. Om den virtuella datorn finns i en tillgänglighetsuppsättning eller en skalningsuppsättning måste alla virtuella datorer i tillgänglighetsuppsättningen eller skalningsuppsättningen stoppas\frigöras först innan de startas om.

Om det uppstår ett allokeringsfel på grund av distributionsbegränsningar kan du först behöva stoppa\frigöra alla resurser i den berörda närhetsplaceringsgruppen (inklusive de justerade resurserna) och sedan starta om dem för att återställa justeringen.

Bästa praxis

  • Använd närhetsplaceringsgrupper tillsammans med accelererat nätverk för den lägsta svarstiden. Mer information finns i Skapa en virtuell Linux-dator med accelererat nätverk eller Skapa en virtuell Windows-dator med accelererat nätverk.
  • Använd avsikten för närhetsplaceringsgrupper för att undvika landning på maskinvara som inte stöder alla VM-SKU:er och storlekar som du behöver. Om det redan är en befintlig närhetsplaceringsgrupp utan avsikt kan du använda en enda ARM-mall med alla VM-storlekar angivna för att undvika det här problemet.
  • När du återanvänder en befintlig placeringsgrupp som virtuella datorer har tagits bort från väntar du tills borttagningen har slutförts helt innan du lägger till virtuella datorer i den.
  • Om svarstiden är din första prioritet placerar du virtuella datorer i en närhetsplaceringsgrupp och hela lösningen i en tillgänglighetszon. Men om återhämtning är din högsta prioritet kan du sprida dina instanser över flera tillgänglighetszoner (en enda närhetsplaceringsgrupp kan inte sträcka sig över zoner).

Nästa steg