Vytvoření škálovací sady virtuálních počítačů, která používá Zóny dostupnosti

Zóny dostupnosti Azure jsou umístění izolovaná proti chybám v rámci oblasti Azure, která poskytují redundantní napájení, chlazení a sítě. Umožňují spouštět aplikace s vysokou dostupností a odolností proti chybám datových center. Oblasti Azure, které podporují Zóny dostupnosti, mají minimálně tři samostatné zóny. Každá zóna dostupnosti se skládá z jednoho nebo několika datových center vybavených nezávislým napájením infrastruktury, sítí a chlazením. Zóny dostupnosti jsou propojeny vysoce výkonnou sítí s latencí odezvy menší než 2 milisekundy. Další informace najdete v tématu Přehled Zóny dostupnosti.

Pokud chcete chránit škálovací sady virtuálních počítačů před selháními na úrovni datacentra, můžete vytvořit škálovací sadu napříč Zóny dostupnosti. Pokud chcete použít Zóny dostupnosti, musíte škálovací sadu vytvořit v podporované oblasti Azure.

Aspekty návrhu zón dostupnosti

Škálovací sady virtuálních počítačů podporují tři zónové modely nasazení:

  • Zónově redundantní nebo zónově redundantní (doporučeno)
  • Zónově nebo zónově zarovnané (jedna zóna)
  • Regionální

Zónově redundantní nebo zónově redundantní

Zónově redundantní nebo zónově redundantní škálovací sada rozprostírá instance napříč všemi vybranými zónami. "zones": ["1","2","3"] Škálovací sada ve výchozím nastavení provádí nejlepší přístup k rovnoměrné rozložení instancí napříč vybranými zónami. Můžete ale určit, že chcete nastavit striktní zůstatek zóny nastavením "zoneBalance": "true" v nasazení. Každý virtuální počítač a jeho disky jsou zónové, takže jsou připnuté ke konkrétní zóně. Instance mezi zónami jsou propojeny vysoce výkonnou sítí s nízkou latencí. V případě problému s zónovým výpadkem nebo připojením může dojít k ohrožení připojení k instancím v rámci ovlivněné zóny, zatímco na instance v jiných zónách dostupnosti by to nemělo vliv. Během zónového výpadku můžete do škálovací sady přidat kapacitu a škálovací sada přidá do nechtěných zón další instance. Po obnovení zóny možná budete muset vertikálně snížit kapacitu škálovací sady na původní kapacitu. Osvědčeným postupem je nakonfigurovat pravidla automatického škálování na základě využití procesoru nebo paměti. Pravidla automatického škálování umožňují škálovací sadě reagovat na ztrátu instancí virtuálních počítačů v této jedné zóně horizontálním navýšením kapacity nových instancí ve zbývajících provozních zónách.

Šíření instancí napříč zónami dostupnosti splňuje smlouvu SLA 99,99 % pro instance rozložené napříč zónami dostupnosti a doporučuje se pro většinu úloh v Azure.

Zónově nebo zónově zarovnané (jedna zóna)

Zónová nebo zónově zarovnaná škálovací sada umístí instance do jedné zóny "zones": ['1']dostupnosti . Každý virtuální počítač a jeho disky jsou zónové, takže jsou připnuté ke konkrétní zóně. Tato konfigurace se primárně používá v případě, že potřebujete nižší latenci mezi instancemi.

Regionální

Místní škálovací sada virtuálních počítačů je, když přiřazení zóny není explicitně nastaveno ("zones"=[] nebo "zones"=null). V této konfiguraci škálovací sada vytvoří místní (nepřipnuté zóny) instance a implicitně umístí instance v celé oblasti. Neexistuje žádná záruka na rovnováhu nebo rozložení napříč zónami nebo že instance přistanou ve stejné zóně dostupnosti. Kolokace disků je zaručená pro disky Úrovně Ultra a Premium v2, nejlepší úsilí pro disky Premium V1 a není zaručeno pro disky SSD nebo HDD úrovně Standard.

Ve výjimečných případech úplného výpadku zón může dojít k ovlivnění všech nebo všech instancí v rámci škálovací sady.

Domény selhání a zóny dostupnosti

Doména selhání je skupina izolace chyb v rámci zóny dostupnosti nebo datacentra hardwarových uzlů, které sdílejí stejný plán údržby napájení, sítě, chlazení a platformy. Instance virtuálních počítačů, které jsou v různých doménách selhání, pravděpodobně nebudou ovlivněny stejným plánovaným nebo neplánovaným výpadkem. Můžete určit, jak se instance šíří napříč doménami selhání v rámci oblasti nebo zóny.

  • Max šíření (platformFaultDomainCount = 1)
  • Statické pevné rozložení (platformFaultDomainCount = 5)
  • Rozložení v souladu s doménami selhání disku úložiště (platformFaultDomainCount = 2 nebo 3, pouze pro místní nasazení)

S maximálním rozložením škálovací sada rozloží virtuální počítače do co největšího počtu domén selhání v rámci každé zóny. Toto šíření může být v rámci zóny větší nebo méně než pět domén selhání. Se statickým pevným rozložením škálovací sada rozloží virtuální počítače do přesně pěti domén selhání na každou zónu. Pokud škálovací sada nemůže najít pět různých domén selhání pro každou zónu, aby vyhověla žádosti o přidělení, požadavek selže.

Doporučujeme nasadit maximální rozložení pro většinu úloh, protože tento přístup ve většině případů poskytuje nejlepší rozložení. Pokud potřebujete repliky, které se mají rozložit mezi různé jednotky izolace hardwaru, doporučujeme rozšířit Zóny dostupnosti a využít maximální rozložení v rámci každé zóny.

Poznámka:

Při maximálním šíření se v zobrazení instance virtuálních počítačů škálovací sady a v metadatech instancí zobrazí jenom jedna doména selhání, a to bez ohledu na to, kolik domén selhání se virtuální počítače šíří. Šíření v rámci každé zóny je implicitní.

Skupiny umístění

Důležité

Skupiny umístění se vztahují pouze na škálovací sady virtuálních počítačů spuštěné v režimu jednotné orchestrace.

Když nasadíte škálovací sadu, můžete ji nasadit s jednou skupinou umístění pro každou zónu dostupnosti nebo s více zónami. V případě regionálních (zónových) škálovacích sad je volbou mít v oblasti jednu skupinu umístění nebo mít v dané oblasti více míst. Pokud je volána singlePlacementGroup vlastnost škálovací sady nastavena na false, škálovací sada se může skládat z více skupin umístění a má rozsah 0 až 1 000 virtuálních počítačů. Pokud je nastavená výchozí hodnota true, škálovací sada se skládá z jedné skupiny umístění a má rozsah 0 až 100 virtuálních počítačů. U většiny úloh doporučujeme více skupin umístění, které umožňují větší škálování. V rozhraní API verze 2017-12-01 jsou škálovací sady výchozí pro více skupin umístění pro jednozónové a více zónové škálovací sady, ale ve výchozím nastavení se pro místní škálovací sady (bez zónové) škálovací sady používají jednu skupinu umístění.

Poznámka:

Pokud použijete maximální rozložení, musíte použít více skupin umístění.

Vyrovnávání zóny

V případě škálovacích sad nasazených ve více zónách máte také možnost zvolit "nejlepší zůstatek zóny úsilí" nebo "striktní zůstatek zóny". Škálovací sada se považuje za vyváženou, pokud každá zóna má stejný počet virtuálních počítačů +\- 1 virtuální počítač jako všechny ostatní zóny pro škálovací sadu. Příklad:

  • Škálovací sada se 2 virtuálními počítači v zóně 1, 3 virtuálními počítači v zóně 2 a 3 virtuálními počítači v zóně 3 se považuje za vyvážené. Existuje pouze jedna zóna s jiným počtem virtuálních počítačů a je to jen 1 menší než ostatní zóny.
  • Škálovací sada s 1 virtuálním počítačem v zóně 1, 3 virtuálními počítači v zóně 2 a 3 virtuálními počítači v zóně 3 se považuje za nevyvážené. Zóna 1 má 2 méně virtuálních počítačů než zóny 2 a 3.

Je možné, že se virtuální počítače ve škálovací sadě úspěšně vytvoří, ale rozšíření na těchto virtuálních počítačích se nepodaří nasadit. Tyto virtuální počítače se selháním rozšíření se stále počítají při určování, jestli je škálovací sada vyvážená. Například škálovací sada se 3 virtuálními počítači v zóně 1, 3 virtuální počítače v zóně 2 a 3 virtuální počítače v zóně 3 se považují za vyvážené, i když všechna rozšíření selhala v zóně 1 a všechna rozšíření proběhla úspěšně v zónách 2 a 3.

Při vyrovnávání zóny s nejlepším úsilím se škálovací sada pokusí škálovat a snížit kapacitu při zachování rovnováhy. Pokud ale z nějakého důvodu není možné zůstatek zóny (například pokud jedna zóna klesne, škálovací sada nemůže v této zóně vytvořit nový virtuální počítač), škálovací sada umožňuje dočasné nevyváženosti úspěšného horizontálního navýšení nebo snížení kapacity. Při dalších pokusech o horizontální navýšení kapacity škálovací sada přidá virtuální počítače do zón, které potřebují více virtuálních počítačů, aby škálovací sada byla vyvážená. Podobně při dalších pokusech škálovací sada odebere virtuální počítače ze zón, které potřebují méně virtuálních počítačů, aby škálovací sada byla vyvážená. Při "přísném vyvážení zóny" škálovací sada selže při pokusu o horizontální navýšení nebo snížení kapacity, pokud by to způsobilo nevyváženost.

Pokud chcete použít zůstatek v zóně s nejlepším úsilím, nastavte hodnotu ZoneBalance na false. Toto nastavení je výchozí ve verzi rozhraní API 2017-12-01. Pokud chcete použít striktní zůstatek zóny, nastavte hodnotu zoneBalance na true.

Poznámka:

zoneBalance Vlastnost lze nastavit pouze v případě, že vlastnost zón škálovací sady obsahuje více než jednu zónu. Pokud nejsou zadány žádné zóny nebo pouze jedna zóna, vlastnost zoneBalance by neměla být nastavena.

Vytvoření zónově přesahu nebo zónových škálovacích sad

Když nasadíte škálovací sadu virtuálních počítačů, můžete použít jednu zónu dostupnosti v oblasti nebo více zón.

Škálovací sadu, která používá Zóny dostupnosti, můžete vytvořit pomocí jedné z následujících metod:

Použití portálu Azure Portal

Proces vytvoření škálovací sady, která používá zónu dostupnosti, je stejný jako podrobný článek Začínáme. Když vyberete podporovanou oblast Azure, můžete vytvořit škálovací sadu v jedné nebo více dostupných zónách, jak je znázorněno v následujícím příkladu:

Vytvoření škálovací sady v jedné zóně dostupnosti

Škálovací sada a podpůrné prostředky, jako je nástroj pro vyrovnávání zatížení Azure a veřejná IP adresa, se vytvoří v jedné zóně, kterou zadáte.

Použití Azure CLI

Proces vytvoření škálovací sady, která používá zónu dostupnosti, je stejný jako podrobný článek Začínáme. Pokud chcete použít Zóny dostupnosti, musíte vytvořit škálovací sadu v podporované oblasti Azure.

--zones Přidejte parametr do příkazu az vmss create a určete, kterou zónu použít (například zónu 1, 2 nebo 3).

az vmss create \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --image <SKU Image> \
    --upgrade-policy-mode automatic \
    --admin-username azureuser \
    --generate-ssh-keys \
    --zones 1 2 3

Vytvoření a konfigurace všech prostředků škálovací sady a virtuálních počítačů v zadaných zónách trvá několik minut. Úplný příklad zónově redundantní škálovací sady a síťových prostředků najdete v tomto ukázkovém skriptu rozhraní příkazového řádku.

Použití Azure Powershell

Pokud chcete použít Zóny dostupnosti, musíte vytvořit škálovací sadu v podporované oblasti Azure. -Zone Přidejte parametr do příkazu New-AzVmssConfig a určete, kterou zónu nebo zóny chcete použít (například zónu 1, 2 nebo 3).

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "EastUS2" `
  -VMScaleSetName "myScaleSet" `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -UpgradePolicy "Automatic" `
  -Zone "1", "2", "3"

Použití šablon Azure Resource Manageru

Proces vytvoření škálovací sady, která používá zónu dostupnosti, je stejný jako podrobný článek Začínáme pro Linux nebo Windows.

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "name": "myScaleSet",
  "location": "East US 2",
  "apiVersion": "2017-12-01",
  "zones": [
        "1",
        "2",
        "3"
      ]
}

Pokud vytvoříte veřejnou IP adresu nebo nástroj pro vyrovnávání zatížení, zadejte "sku": {"name":"Standard"} vlastnost pro vytvoření zónově redundantních síťových prostředků. Musíte také vytvořit skupinu zabezpečení sítě a pravidla pro povolení jakéhokoli provozu. Další informace najdete v tématu Přehled služby Azure Load Balancer Úrovně Standard a Load Balancer úrovně Standard a Zóny dostupnosti.

Úplný příklad zónově redundantní škálovací sady a síťových prostředků najdete v naší ukázkové šabloně Resource Manageru.

Aktualizace škálovací sady pro přidání zón dostupnosti

Škálování můžete upravit, aby se rozšířila sada zón, nad kterými se mají rozprostřít instance virtuálních strojů. Rozšíření umožňuje využít výhod smlouvy SLA s vyšší zónovou dostupností (99,99 %) oproti regionální dostupnosti (99,95 %). Nebo rozšiřte škálovací sadu, abyste mohli využít nové zóny dostupnosti, které nebyly při vytváření škálovací sady k dispozici.

Důležité

Aktualizace škálovacích sad virtuálních počítačů pro přidání zón dostupnosti je aktuálně ve verzi Preview. Verze Preview jsou vám k dispozici v podmínce, že souhlasíte s dodatečnými podmínkami použití. Některé aspekty této funkce se můžou před zveřejněním změnit.

Důležité

Tato funkce je určená pro bezstavové úlohy ve škálovacích sadách virtuálních počítačů. Škálovací sady se stavovými úlohami nebo používanými se service fabric nebo službami Azure Kubernetes Services se nepodporují pro zónové rozšíření.

Tuto funkci lze použít s rozhraním API verze 2023-03-01 nebo novější.

Povolení použití funkce zónového rozšíření

Ve svém předplatném musíte zaregistrovat čtyři příznaky funkcí:

az feature register --namespace Microsoft.Compute --name VmssAllowRegionalToZonalMigration
az feature register --namespace Microsoft.Compute --name VmssAllowExpansionOfAvailabilityZones
az feature register --namespace Microsoft.Compute --name VmssFlexAllowExpansionOfAvailabilityZones
az feature register --namespace Microsoft.Compute --name VmssFlexAllowRegionalToZonalMigration

Stav registrace jednotlivých funkcí můžete zkontrolovat pomocí:

az feature show --namespace Microsoft.Compute --name \<feature-name\>

Rozšíření škálovací sady pro použití zón dostupnosti

Škálovací sadu můžete aktualizovat tak, aby škálovací sada škálovat instance na jednu nebo více dalších zón dostupnosti, a to až do počtu zón dostupnosti podporovaných oblastí. Pro oblasti, které podporují zóny, je minimální počet zón 3.

Důležité

Když škálovací sadu rozbalíte na další zóny, původní instance se nepřesouvají ani nemění. Při horizontálním navýšení kapacity se vytvoří nové instance a rovnoměrně se rozšíří napříč vybranými zónami dostupnosti. Při škálování ve škálovací sadě se nejprve před odebráním předvedou všechny místní instance. Potom se instance odeberou na základě zásad škálování.

Rozšíření na zónovou škálovací sadu se provádí ve 3 krocích:

  1. Příprava na zónové rozšíření
  2. Aktualizace parametru zón ve škálovací sadě
  3. Přidání nových zónových instancí a odebrání původních instancí

Příprava na zónové rozšíření

Upozorňující

Tato funkce umožňuje přidat do škálovací sady zóny. Po přidání zón se nemůžete vrátit k místní škálovací sadě ani odebrat zóny.

Chcete-li se připravit na zónové rozšíření:

  • Zkontrolujte, jestli máte dostatečnou kvótu pro velikost virtuálního počítače ve vybrané oblasti pro zpracování více instancí.
  • Zkontrolujte, jestli jsou velikost virtuálního počítače a typy disků, které používáte, dostupné ve všech požadovaných zónách. Pomocí rozhraní API skladových položek výpočetních prostředků můžete určit, které velikosti jsou k dispozici ve kterých zónách.
  • Ověřte, že konfigurace škálovací sady je platná pro zónové škálovací sady:
    • platformFaultDomainCount musí být nastavena na hodnotu 1 nebo 5. Pevné šíření s 2 nebo 3 doménami selhání není podporováno pro zónová nasazení.
    • Rezervace kapacity se během rozšíření zóny nepodporují. Jakmile je škálovací sada plně zónová (žádné další regionální instance), můžete do škálovací sady přidat skupinu rezervací kapacity.
    • Nasazení azure Dedicated Host se nepodporují.

Aktualizace parametru zón ve škálovací sadě

Aktualizujte škálovací sadu tak, aby změnila parametr zón.

  1. Přejděte na škálovací sadu, kterou chcete aktualizovat.
  2. Na kartě Vlastnosti cílové stránky škálovací sady vyhledejte vlastnost zóny dostupnosti a stiskněte Klávesu Upravit.
  3. V dialogovém okně Upravit umístění vyberte požadované zóny.
  4. Výběr možnosti Použít

Přidání nových zónových instancí a odebrání původních instancí

Ruční horizontální navýšení kapacity a snížení kapacity

Aktualizujte kapacitu škálovací sady a přidejte další instance. Nová kapacita by měla být nastavená na původní kapacitu plus počet nových instancí. Pokud například vaše škálovací sada měla 5 regionálních instancí a chcete škálovat kapacitu tak, abyste měli v každé ze 3 zón 3 instance, měli byste kapacitu nastavit na 14.

Parametr zón a kapacitu škálovací sady můžete aktualizovat ve stejné šabloně ARM nebo volání rozhraní REST API.

Až budete spokojeni s tím, že jsou nové instance připravené, škálujte škálovací sadu a odeberte původní regionální instance. Konkrétní regionální instance můžete odstranit ručně nebo snížit kapacitu škálovací sady. Při škálování prostřednictvím snížení kapacity škálovací sady bude platforma vždy upřednostňovat odebrání regionálních instancí a pak postupovat podle škálování v zásadách.

Automatizace s využitím postupných upgradů + MaxSurge

S postupnými upgrady + MaxSurge se vytvoří a aktualizují nové zónové instance s nejnovějším modelem škálování v dávkách. Po přidání dávky nových instancí do škálovací sady a sestavy jako v pořádku se ze škálovací sady automaticky odebere dávka starých instancí. Upgrady budou pokračovat, dokud nebudou všechny instance aktuální.

Důležité

Postupné upgrady s MaxSurgem jsou aktuálně ve verzi Public Preview. Je k dispozici pouze pro režim jednotné orchestrace VMSS.

Známé problémy a omezení

  • Cílem této funkce je bezstavové úlohy ve škálovacích sadách virtuálních počítačů.

  • Škálovací sady se službou Service Fabric nebo Azure Kubernetes Service se nepodporují.

  • Nemůžete odebrat ani nahradit zóny, přidávat jenom zóny

  • Ze zónové škálovací sady nebo zónové škálovací sady nemůžete aktualizovat oblastní škálovací sadu.

  • platformFaultDomainCount musí být nastavena na hodnotu 1 nebo 5. Pevné šíření s 2 nebo 3 doménami selhání není podporováno pro zónová nasazení.

  • Rezervace kapacity se během rozšíření zóny nepodporují. Jakmile je škálovací sada plně zónová (žádné další regionální instance), můžete do škálovací sady přidat skupinu rezervací kapacity.

  • Nasazení azure Dedicated Host se nepodporují.

Další kroky

Teď, když jste vytvořili škálovací sadu v zóně dostupnosti, se dozvíte, jak nasazovat aplikace ve škálovacích sadách virtuálních počítačů nebo používat automatické škálování se škálovacími sadami virtuálních počítačů.