Konfigurera automatisk zonplacering för en skalningsuppsättning (förhandsversion)

Med automatisk zonplacering för Virtual Machine Scale Sets kan Azure välja tillgänglighetszoner för din skalningsuppsättning baserat på kapacitet och SKU-tillgänglighet. I stället för att ange en fast lista över zoner för varje region konfigurerar du dina placeringskrav och Azure väljer de zoner som bäst uppfyller dem.

Automatisk zonplacering stöds för Virtual Machine Scale Sets med enhetliga och flexibla orkestreringslägen.

Important

Automatisk zonplacering för Virtual Machine Scale Sets är för närvarande i förhandsversion. Förhandsversioner är tillgängliga för dig under förutsättning att du godkänner de kompletterande användningsvillkoren. Vissa aspekter av den här funktionen kan ändras innan allmän tillgänglighet (GA).

Så här fungerar automatisk zonplacering

Automatisk zonplacering utvärderar SKU-tillgänglighet, kapacitet och eventuella placeringsbegränsningar som du konfigurerar för att välja tillgänglighetszoner och placera VM-instanser.

Som standard är skalningsuppsättningen utformad för att sprida instanser mellan tre tillgänglighetszoner. Om du konfigurerar maxZoneCount, arbetar skalningsuppsättningen i stället med att fördela instanser mellan det antalet zoner och överskrider aldrig den konfigurerade gränsen. Den faktiska placeringen beror på SKU-tillgänglighet, kapacitet, skalningsuppsättningens aktuella zondistribution och dina andra placeringsbegränsningar. När maxZoneCount inte har konfigurerats och regionen har fler än tre tillgänglighetszoner kan skalningsuppsättningen utökas utöver standardspridningen med tre zoner, till exempel till en fjärde zon, om dess aktuella zoner inte kan uppfylla en utskalningsbegäran.

Som standard är automatisk zonplacering:

  • Riktar in sig på en jämn fördelning mellan tre tillgänglighetszoner.
  • Kräver att instanser distribueras över minst två tillgänglighetszoner.
  • Begränsar antalet instanser i en enskild zon till 50 procent av skalningsuppsättningen.
  • Kan expandera till ytterligare tillgänglighetszoner om de aktuella zonerna inte har tillräckligt med kapacitet för fler instanser och en annan zon är tillgänglig i regionen.

Om det inte finns tillräcklig kapacitet för att uppfylla alla placeringskraven, tilldelar Azure så många instanser som policyn tillåter, och de återstående instanserna kanske inte går att etablera. Det här beteendet är ett partiellt allokeringsfel, inte ett fel i hela begäran.

Anmärkning

Automatisk zonplacering väljer zoner när nya instanser skapas. Den flyttar eller återskapar inte befintliga instanser för att korrigera en obalans i zonen. Information om hur du proaktivt korrigerar en befintlig obalans finns i Automatisk zonbalans.

När du ska använda automatisk zonplacering

Använd automatisk zonplacering när:

  • Du vill ha en zonindelad eller zonövergripande skaluppsättning men kräver inte att instanser placeras i specifika tillgänglighetszoner. Du kan definiera zonspridningskraven och låta Azure välja zonerna.
  • Du distribuerar mellan regioner där zonindelad SKU-tillgänglighet skiljer sig åt. Automatisk zonplacering hjälper dig att tillämpa en konsekvent konfiguration i stället för att underhålla regionspecifika zonlistor.
  • Du vill att Azure ska överväga aktuella kapacitetssignaler när du väljer tillgänglighetszoner.

Använd kundvalda tillgänglighetszoner i stället när din arbetsbelastning måste använda specifika zoner för varje placeringsåtgärd.

Förutsättningar

Innan du konfigurerar automatisk zonplacering kontrollerar du att:

Registrera prenumerationen med AFEC

Din prenumeration måste vara registrerad för Azure Feature Exposure Control (AFEC)-flaggan Microsoft.Compute/VmssAutomaticZonePlacement. Den här registreringen krävs för att aktivera funktionen för automatisk zonplacering för din prenumeration.

  1. Logga in på Azure-portalen.
  2. I sökrutan anger du prenumerationer och väljer sedan Prenumerationer.
  3. Välj din prenumeration.
  4. Under Inställningar, välj Förhandsgranskningsfunktioner.
  5. Sök efter VmssAutomaticZonePlacement och välj sedan funktionen.
  6. Välj Registrera.

Limitations

  • En skalningsuppsättning kan använda antingen zones egenskapen för kundvalda zoner eller placement.zonePlacementPolicy för automatisk zonplacering, men inte båda.
  • Närhetsplaceringsgrupper stöds inte.
  • Kapacitetsreservationsgrupper stöds inte.
  • Instansmix för Virtual Machine Scale Sets stöds inte under den offentliga förhandsversionen. Förväntat stöd av GA.
  • Väntelägespooler stöds inte.
  • Dedikerade värdgrupper stöds inte.
  • Gränszoner stöds inte.
  • Överallokering stöds inte. Se till att overprovision är inställt på false innan du lägger till placement.zonePlacementPolicy; annars misslyckas distributionen.
  • Service Fabric-skalningsuppsättningar stöds inte.
  • Det går inte att skapa och ansluta en ny virtuell dator. Du kan ansluta en befintlig zonindelad virtuell dator om dess zon uppfyller skalningsuppsättningens placeringskonfiguration.

Konfigurationsegenskaper

I följande exempel visas var egenskaper för automatisk zonplacering visas i en skalningsuppsättningsmodell. Endast placement.zonePlacementPolicy krävs. Alla andra egenskaper är valfria.

{
  "placement": {
    "zonePlacementPolicy": "auto",
    "includeZones": [
      "1",
      "2",
      "4"
    ]
  },
  "properties": {
    "zoneBalance": false,
    "resiliencyPolicy": {
      "zoneAllocationPolicy": {
        "maxZoneCount": 2,
        "maxInstancePercentPerZonePolicy": {
          "enabled": true,
          "value": 70
        }
      }
    }
  }
}

Anmärkning

Använd antingen includeZones eller excludeZones. Du kan inte konfigurera båda egenskaperna i samma skalningsuppsättning.

Följande egenskaper styr beteendet för automatisk zonplacering:

Property Description
placement.zonePlacementPolicy Required. Ange till "auto" för att aktivera automatisk zonplacering.
placement.includeZones Optional. En lista över tillgänglighetszoner som Azure kan överväga för placering. Azure väljer endast zoner i den här listan, men kanske inte distribuerar instanser i varje listad zon. Du kan inte använda den här egenskapen med excludeZones.
placement.excludeZones Optional. En lista över zoner som Azure måste undanta från placering. Du kan inte använda den här egenskapen med includeZones.
zoneBalance Optional. Styr zonutjämning under skalningsåtgärder. Standardvärdet är false, som använder balansering efter bästa förmåga. När du aktiverar zoneBalance med automatisk zonplacering måste du också ange maxZoneCount. När zoneBalance är false är maxZoneCount valfritt.
resiliencyPolicy.zoneAllocationPolicy.maxZoneCount Optional. Det maximala antalet zoner som skalningsuppsättningen kan använda. Om du inte anger den här egenskapen, riktar Azure in sig på tre zoner och kan utökas till ytterligare zoner vid behov för att uppfylla en begäran om skalning.
resiliencyPolicy.zoneAllocationPolicy.maxInstancePercentPerZonePolicy.enabled Optional. Aktiverar eller inaktiverar principen för maximal andel instanser per zon. Den här principen stöds endast när zoneBalance är false.
resiliencyPolicy.zoneAllocationPolicy.maxInstancePercentPerZonePolicy.value Optional. Den maximala procentandelen av en skalningsuppsättnings målkapacitet som kan allokeras till en enda zon. Om det skulle innebära att uppfylla en begäran överskrider detta värde allokerar Azure de instanser som uppfyller principen, och de återstående instanserna kanske inte kan etableras.

Skapa en skalningsuppsättning med automatisk zonplacering

Följande scenarier visar hur du konfigurerar automatisk zonplacering och förklarar det förväntade placeringsbeteendet. Slutför profilerna för operativsystem, lagring och nätverk innan du distribuerar skalningsuppsättningen.

Använd standardbeteende för placering

Lägg till placement.zonePlacementPolicy i skalningsuppsättningsresursen. Använd Compute API-versionen 2026-03-01 eller senare.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto"
  }
}

Lägg till den här konfigurationen i en begäran om en komplett VM-skalningsuppsättning.

Förväntat beteende

Om du inte anger några placeringsbegränsningar distribuerar Azure instanser jämnt över tre zoner. En skalningsuppsättning med 100 instanser kan till exempel ha en fördelning på 34, 33 och 33.

Om en jämn fördelning med tre zoner inte är möjlig kräver Azure att instanser sträcker sig över minst två zoner och tillämpar en standardgräns på 50 procent av instanserna i en zon. Plattformen tillämpar den här gränsen även när maxInstancePercentPerZonePolicy inte är uttryckligen konfigurerad.

Anta till exempel att du begär 100 instanser och att den tillgängliga kapaciteten i tre zoner är 70, 30 och 0. Azure försöker distribuera 50, 30 och 20. Eftersom den tredje zonen inte har någon kapacitet blir den slutliga fördelningen 50, 30 och 0, och 20 instanser kan inte provisioneras. Om du vill prioritera allokeringsframgång över standarddistributionsgränsen konfigurerar du en högre maxInstancePercentPerZonePolicy.value.

Konfigurera berättigade zoner

Använd antingen includeZones eller excludeZones för att styra vilka zoner som Azure beaktar under placeringen. Du kan inte konfigurera båda egenskaperna i samma skalningsuppsättning.

I följande exempel begränsas Azure att endast överväga zoner 1 och 2 placering.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto",
    "includeZones": [
      "1",
      "2"
    ]
  }
}

Du kan också använda excludeZones för att förhindra att Azure väljer specifika zoner. I följande exempel undantas zon 3:

{
  "placement": {
    "zonePlacementPolicy": "auto",
    "excludeZones": [
      "3"
    ]
  }
}

Förväntat beteende

När du konfigurerar includeZonesväljer Azure endast zoner från den angivna listan. Den här inställningen garanterar inte att Azure placerar instanser i varje listad zon. Azure fortsätter att överväga kapacitet, SKU-tillgänglighet, aktuell distribution och dina andra placeringsbegränsningar när du placerar instanser.

När du konfigurerar excludeZonesväljer eller placerar Azure inte nya instanser i de exkluderade zonerna. Alla andra zoner som stöds är fortfarande berättigade. Du kan inte kombinera includeZones och excludeZones på samma skalningsuppsättning.

Begränsa procentandelen instanser i en zon

Använd maxInstancePercentPerZonePolicy för att styra den maximala procentandelen av en skalningsuppsättnings målkapacitet som kan allokeras till en zon. En högre procentandel ger Azure mer flexibilitet för att uppfylla allokeringsbegäranden, men gör att fler instanser kan koncentreras i en zon.

Principen stöds endast när zoneBalance är false.

Minsta instansprocent

Det minsta värdet beror på antalet zoner som är berättigade till placering efter att Azure tillämpar includeZones, excludeZonesoch maxZoneCount:

minimum instance percentage = ceil(100 / number of eligible zones)

Anta till exempel att includeZones innehåller zonerna 1, 2, och 4och maxZoneCount är 2. Det effektiva antalet berättigade zoner är två, så den minsta giltiga procentandelen är 50.

Maximalt antal instanser i en zon

Azure beräknar det maximala antalet instanser som tillåts i en zon baserat på skalningsuppsättningens målkapacitet:

maximum instances per zone = ceil(maximum instance percentage * target capacity / 100)

Azure avrundar resultatet upp till närmaste heltal. Om målkapaciteten till exempel är 101 instanser och den maximala instansprocenten är 85, kan skalningsuppsättningen placera upp till 86 instanser i en enda zon.

I följande exempel tillåts upp till 85 procent av instanserna i en zon:

PUT or PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto"
  },
  "properties": {
    "resiliencyPolicy": {
      "zoneAllocationPolicy": {
        "maxInstancePercentPerZonePolicy": {
          "enabled": true,
          "value": 85
        }
      }
    }
  }
}

Förväntat beteende

Azure försöker först att fördela instanser jämnt mellan tre zoner. Om en jämn fördelning inte är möjlig kan Azure allokera upp till 85 procent av instanserna till en zon. Den här inställningen ger Azure mer flexibilitet för att uppfylla allokeringsbegäranden, men tillåter en högre koncentration av instanser i en zon.

När en zon når det beräknade maxvärdet försöker Azure placera de återstående instanserna i andra berättigade zoner. Om dessa zoner inte har tillräcklig kapacitet kanske de återstående instanserna inte går att etablera.

Anta till exempel att du begär 100 instanser och att den tillgängliga kapaciteten i tre zoner är 90, 10 och 0. Azure försöker distribuera 85, 10 och 5. Eftersom den tredje zonen inte har någon kapacitet är den slutliga fördelningen 85, 10 och 0, och fem instanser kan inte etableras.

Använd strikt zonutjämning

Ange zoneBalance till true för att kräva en balanserad fördelning över de valda zonerna. Du måste ange maxZoneCount när strikt zonbalansering är aktiverat.

I följande exempel möjliggörs strikt zonutjämning mellan tre zoner.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto"
  },
  "properties": {
    "zoneBalance": true,
    "resiliencyPolicy": {
      "zoneAllocationPolicy": {
        "maxZoneCount": 3
      }
    }
  }
}

Förväntat beteende

Azure kräver att instansantalet i de valda zonerna inte skiljer sig åt med mer än en instans. När du anger maxZoneCount till 3väljer Azure upp till tre zoner och upprätthåller strikt balans mellan de zoner som används.

Om Azure inte kan upprätthålla en strikt balans på grund av kapacitet eller zontillgänglighet kan de instanser som inte kan placeras enligt principen inte etableras. Strikt zonbalansering kan därför minska allokeringsframgången jämfört med balansering med bästa förmåga.

Aktivera automatisk zonplacering på en befintlig skaluppsättning

Du kan aktivera automatisk zonplacering på en befintlig skalningsuppsättning som använder kundvalda zoner eller regional placering.

Varning

När du har aktiverat automatisk zonplacering på en regional skalningsuppsättning kan du inte returnera skalningsuppsättningen till regional placering. Befintliga regionala instanser är fortfarande regionala, men Azure placerar nya instanser i tillgänglighetszoner.

Innan du aktiverar automatisk zonplacering för en regional skalningsuppsättning bör du läsa igenom Förberedelser för zonutökning.

För en skalningsuppsättning som använder kundvalda zoner rensar du zones egenskapen och anger placement.zonePlacementPolicy till auto i samma uppdateringsåtgärd. För en regional skalningsuppsättning anger du placement.zonePlacementPolicy till auto.

Skicka en PATCH-begäran till följande slutpunkt:

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01

För en skalningsuppsättning som använder zoner som kunden har valt, rensa zones och aktivera automatisk zonplacering i samma anrop:

{
  "zones": [],
  "placement": {
    "zonePlacementPolicy": "auto"
  }
}

För en regional skalningsuppsättning aktiverar du automatisk zonplacering utan att ange zones:

{
  "placement": {
    "zonePlacementPolicy": "auto"
  }
}

Förväntat beteende

Uppdateringen aktiverar automatisk zonplacering för nya instanser. Befintliga instanser flyttas inte eller återskapas.

För en skalningsuppsättning som använder zoner som kunden har valt förblir befintliga instanser i sina nuvarande tillgänglighetszoner. För en regional skalningsuppsättning är befintliga regionala instanser fortfarande regionala. Azure använder automatisk zonplacering när nya instanser placeras.

Om dina placeringskrav ändras kan du växla från automatisk zonplacering tillbaka till kundvalda zoner. I samma uppdateringsåtgärd rensar du placement.zonePlacementPolicy och anger egenskapen zones. Den här uppdateringen flyttar eller återskapar inte befintliga instanser.

Nästa steg