Zuverlässigkeit in Virtual Machine Scale Sets
Dieser Artikel enthält spezifische Zuverlässigkeitsempfehlungen und Informationen zur Unterstützung von Verfügbarkeitszonen für Virtual Machine Scale Sets.
Hinweis
Virtual Machine Scale Sets können nur in einer Region bereitgestellt werden. Wenn Sie VMs in mehreren Regionen bereitstellen möchten, lesen Sie Virtual Machines - Notfallwiederherstellung: Regionsübergreifendes Failover.
Eine Übersicht über die Architektur der Zuverlässigkeit in Azure finden Sie unter Zuverlässigkeit in Azure.
Zuverlässigkeitsempfehlungen
Dieser Abschnitt enthält Empfehlungen für das Erreichen von Resilienz und Verfügbarkeit. Jede Empfehlung fällt in eine von zwei Kategorien:
Integritätselemente umfassen Bereiche wie Konfigurationselemente und die ordnungsgemäße Funktion der Hauptkomponenten, aus denen Ihr Azure-Workload besteht, wie z. B. Konfigurationseinstellungen der Azure-Ressourcen oder Abhängigkeiten von anderen Diensten.
Risikoelemente umfassen Bereiche wie Verfügbarkeits- und Wiederherstellungsanforderungen, Tests, Überwachung, Bereitstellung und andere Elemente, die die Wahrscheinlichkeit von Problemen in der Umgebung erhöhen, wenn sie nicht gelöst werden.
Prioritätsmatrix der Zuverlässigkeitsempfehlungen
Jede Empfehlung wird gemäß der folgenden Prioritätsmatrix gekennzeichnet:
Image | Priority | BESCHREIBUNG |
---|---|---|
High | Sofortige Korrektur erforderlich. | |
Mittel | Korrektur innerhalb von 3-6 Monaten. | |
Niedrig | Muss überprüft werden. |
Zusammenfassung der Zuverlässigkeitsempfehlungen
Hochverfügbarkeit
Aktivieren der Richtlinie für automatische Reparaturen
Um Hochverfügbarkeit für Anwendungen zu erzielen, aktivieren Sie automatische Instanzreparaturen, um fehlerfreie VMs beizubehalten. Wenn die Anwendungsintegritätserweiterung oder Load Balancer Integritätstests feststellen, dass eine Instanz fehlerhaft ist, löscht die automatische Instanzreparatur die fehlerhafte Instanz und erstellt eine neue Instanz, um sie zu ersetzen.
Eine Karenzzeit kann mithilfe der -Eigenschaft automaticRepairsPolicy.gracePeriod
festgelegt werden. Die In Minuten und im ISO 8601-Format angegebene Karenzzeit kann zwischen 10 und 90 Minuten liegen und hat einen Standardwert von 30 Minuten.
// Azure Resource Graph Query
// Find VMSS instances associated with autoscale settings when autoscale is disabled
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| project name, id, tags
| join kind=leftouter (
resources
| where type == "microsoft.insights/autoscalesettings"
| where tostring(properties.targetResourceUri) contains "Microsoft.Compute/virtualMachineScaleSets"
| project id = tostring(properties.targetResourceUri), autoscalesettings = properties
) on id
| where isnull(autoscalesettings) or autoscalesettings.enabled == "false"
| project recommendationId = "vmss-4", name, id, tags, param1 = "autoscalesettings: Disabled"
| order by id asc
Bereitstellen von Virtual Machine Scale Sets über Verfügbarkeitszonen hinweg mit Virtual Machine Scale Sets Flex
Verwenden Sie Verfügbarkeitszonen beim Erstellen von Virtual Machine Scale Sets, um Ihre Anwendungen und Daten vor unwahrscheinlichen Rechenzentrumsausfällen zu schützen. Weitere Informationen finden Sie unter Unterstützung für Verfügbarkeitszonen.
// Azure Resource Graph Query
// Find VMSS instances with one or no Zones selected
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| where array_length(zones) <= 1 or isnull(zones)
| project recommendationId = "vmss-8", name, id, tags, param1 = "AvailabilityZones: Single Zone"
| order by id asc
Skalierbarkeit
Bereitstellen von VMs mit flexiblem Orchestrierungsmodus
Alle VMs, einschließlich einzelner Instanz-VMs, sollten mithilfe des flexiblen Orchestrierungsmodus in einer Skalierungsgruppe bereitgestellt werden, um Ihre Anwendung zukunftssicher für Skalierung und Verfügbarkeit zu halten. Bei der flexiblen Orchestrierung wird Hochverfügbarkeit garantiert (für bis zu 1.000 VMs), indem VMs auf Fehlerdomänen in einer Region oder einer Verfügbarkeitszone zugewiesen werden.
Weitere Informationen zur geeigneten Verwendung von Skalierungsgruppen finden Sie unter Verwendung von Virtual Machine Scale Sets anstelle von VMs.
// Azure Resource Graph Query
// Find all zonal VMs that are NOT deployed with Flex orchestration mode
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| where properties.orchestrationMode != "Flexible"
| project recommendationId = "vmss-1", name, id, tags, param1 = strcat("orchestrationMode: ", tostring(properties.orchestrationMode))
Konfigurieren der Autoskalierung von Virtual Machine Scale Sets
Die automatische Skalierung ist ein integriertes Feature von Azure Monitor, das die Leistung und Kosteneffizienz Ihrer Ressourcen unterstützt, indem je nach Bedarf virtuelle Computer mit Skalierungsgruppen hinzugefügt und entfernt werden. Darüber hinaus können Sie Ihre Ressourcen manuell auf eine bestimmte Instanzanzahl oder in Übereinstimmung mit Metrikschwellenwerten skalieren. Sie können auch die Anzahl der Instanzen planen, die in bestimmten Zeitfenstern skaliert werden.
Informationen zum Aktivieren automatischer Upgrades von Betriebssystemimages finden Sie unter Automatische Upgrades für Betriebssystemimages in Azure Virtual Machine Scale Sets.
// Azure Resource Graph Query
// Find VMSS instances associated with autoscale settings when predictiveAutoscalePolicy_scaleMode is disabled
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| project name, id, tags
| join kind=leftouter (
resources
| where type == "microsoft.insights/autoscalesettings"
| where tostring(properties.targetResourceUri) contains "Microsoft.Compute/virtualMachineScaleSets"
| project id = tostring(properties.targetResourceUri), autoscalesettings = properties
) on id
| where autoscalesettings.enabled == "true" and autoscalesettings.predictiveAutoscalePolicy.scaleMode == "Disabled"
| project recommendationId = "vmss-5", name, id, tags, param1 = "predictiveAutoscalePolicy_scaleMode: Disabled"
| order by id asc
Festlegen der benutzerdefinierten Skalierungsrichtlinien der Virtual Machine Scale Sets auf die Standardeinstellung
Das Feature der benutzerdefinierten Virtual Machine Scale Sets-Skalierungsrichtlinie bietet Ihnen eine Möglichkeit, die Reihenfolge zu konfigurieren, in der virtuelle Computer skaliert werden. Es gibt drei Konfigurationen für Skalierungsrichtlinien:
Eine Bereitstellung des Azure Virtual Machine Scale Sets-Diensts kann basierend auf einem Array von Metriken einschließlich plattform- und benutzerdefinierter Metriken horizontal hoch- oder herunterskaliert werden. Während bei einer horizontalen Skalierung basierend auf dem Skalierungsgruppenmodell neue VMs erstellt werden, wirkt sich das horizontale Herunterskalieren auf die Ausführung virtueller Computer aus, die im Laufe der Entwicklung der Skalierungsgruppenworkload möglicherweise unterschiedliche Konfigurationen und/oder Funktionen aufweisen.
Es ist nicht notwendig, eine Skalierungsrichtlinie anzugeben, wenn Sie nur möchten, dass die Standardreihenfolge befolgt wird, da die standardmäßige benutzerdefinierte Skalierungsrichtlinie den besten Algorithmus und die beste Flexibilität für die meisten Szenarien bietet. Die Standardreihenfolge lautet wie folgt:
- Ausgleichen virtueller Computer zwischen Verfügbarkeitszonen (wenn die Skalierungsgruppe mit Unterstützung für Verfügbarkeitszonen bereitgestellt wird).
- Ausgleichen virtueller Computer über Domänen hinweg (beste Leistung).
- Löschen des virtuellen Computers mit der höchsten Instanz-ID.
Verwenden Sie die Richtlinien Neueste und Älteste nur, wenn Ihre Workload erfordert, dass die ältesten oder neuesten VMs nach dem Ausgleichen zwischen Verfügbarkeitszonen gelöscht werden sollen.
Hinweis
Das Ausgleichen über Verfügbarkeitszonen oder Fehlerdomänen hinweg verschiebt keine VMs zwischen Verfügbarkeitszonen oder Fehlerdomänen. Der Ausgleich erfolgt durch Löschen virtueller Computer aus den unausgeglichenen Verfügbarkeitszonen oder Fehlerdomänen, bis die Verteilung virtueller Computer ausgeglichen ist.
// Azure Resource Graph Query
// Find VMSS instances where strictly zoneBalance is set to True
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| where properties.orchestrationMode == "Uniform" and properties.zoneBalance == true
| project recommendationId = "vmss-6", name, id, tags, param1 = "strictly zoneBalance: Enabled"
| order by id asc
Notfallwiederherstellung
Aktivieren der Schutzrichtlinie für alle VMs der Virtual Machine Scale Sets
Verwenden Sie Virtual Machine Scale Sets-Schutzrichtlinie, wenn bestimmte VMs anders behandelt werden sollen als der Rest der Skalierungsgruppeninstanz.
Während der Verarbeitung von Datenverkehr durch Ihre Anwendung kann es zu Situationen kommen, in denen bestimmte VMs anders als der Rest der Skalierungsgruppeninstanz behandelt werden sollen. Es kann beispielsweise sein, dass für bestimmte VMs der Skalierungsgruppe Vorgänge mit langer Ausführungsdauer durchgeführt werden und diese VMs erst horizontal herunterskaliert werden sollen, nachdem die Vorgänge abgeschlossen sind. Unter Umständen verfügen Sie auch über einige VMs in der Skalierungsgruppe, die Sie speziell für die Durchführung anderer Aufgaben eingerichtet haben, die nicht mit den restlichen Mitgliedern der Skalierungsgruppe durchgeführt werden sollen. Für Sie besteht dann die Notwendigkeit, dass diese „speziellen“ VMs nicht zusammen mit den anderen VMs der Skalierungsgruppe geändert werden. Mit dem Instanzschutz werden die zusätzlichen Steuerungen bereitgestellt, mit denen diese und andere Szenarien für Ihre Anwendung ermöglicht werden.
// Azure Resource Graph Query
// Find all VMs that do NOT have health monitoring enabled
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| join kind=leftouter (
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| mv-expand extension=properties.virtualMachineProfile.extensionProfile.extensions
| where extension.properties.type in ( "ApplicationHealthWindows", "ApplicationHealthLinux" )
| project id
) on id
| where id1 == ""
| project recommendationId = "vmss-2", name, id, tags, param1 = "extension: null"
Überwachung
Aktivieren der Virtual Machine Scale Sets-Überwachung der Anwendungsintegrität
Überwachung der Integrität Ihrer Anwendung ist ein wichtiges Signal für das Verwalten und Aktualisieren Ihrer Bereitstellung. Azure Virtual Machine Scale Sets bietet Unterstützung für parallele Upgrades, z. B.:
- Automatische Upgrades für Betriebssystemimages
- Automatisches VM-Gastpatching, das auf der Integritätsüberwachung einzelner VMs basiert, um Ihre Bereitstellung zu aktualisieren.
- Load Balancer-Integritätstests oder die Anwendungsintegritätserweiterung, die beide die Anwendungsintegrität jeder VM in Ihrer Skalierungsgruppe überwachen und automatische Instanzreparaturen ausführen.
// Azure Resource Graph Query
// Find all VMs that do NOT have automatic repair policy enabled
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| where properties.automaticRepairsPolicy.enabled == false
| project recommendationId = "vmss-3", name, id, tags, param1 = "automaticRepairsPolicy: Disabled"
Systemeffizienz
Konfigurieren des Zuteilungsrichtlinien-Zuweisungsalgorithmus für die maximale Zuweisung
Bei der maximalen Zuweisung verteilt die Skalierungsgruppe Ihre VMs in jeder Zone auf so viele Fehlerdomänen wie möglich. Diese Zuweisung kann für mehr oder weniger als fünf Fehlerdomänen pro Zone erfolgen. Bei der statischen festgelegten Zuweisung verteilt die Skalierungsgruppe Ihre VMs exakt auf fünf Fehlerdomänen pro Zone. Wenn die Skalierungsgruppe nicht fünf verschiedene Fehlerdomänen pro Zone finden kann, um die Zuordnungsanforderung zu erfüllen, ist die Anforderung nicht erfolgreich.
Weitere Informationen finden Sie unter Zuweisungsoptionen.
// Azure Resource Graph Query
// Find VMSS instances where Spreading algorithm is set to Static
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| where properties.platformFaultDomainCount > 1
| project recommendationId = "vmss-7", name, id, tags, param1 = "platformFaultDomainCount: Static"
| order by id asc
Automation
Festlegen der Optionen für die Patchorchestrierung auf „Von Azure orchestriert“
Aktivieren Sie automatische VM-Gastpatches für Ihre Azure-VMs. Durch das Aktivieren von automatischen VM-Gastpatches können Sie die Updateverwaltung vereinfachen, indem Sie VMs sicher und automatisch patchen, um die Sicherheitskonformität zu wahren und gleichzeitig den Auswirkungsgrad von VMs zu begrenzen.
resources
| where type == "microsoft.compute/virtualmachinescalesets"
| join kind=inner (
resources
| where type == "microsoft.compute/virtualmachines"
| project id = tostring(properties.virtualMachineScaleSet.id), vmproperties = properties
) on id
| extend recommendationId = "vmss-9", param1 = "patchMode: Manual", vmproperties.osProfile.linuxConfiguration.patchSettings.patchMode
| where isnotnull(vmproperties.osProfile.linuxConfiguration) and vmproperties.osProfile.linuxConfiguration.patchSettings.patchMode !in ("AutomaticByPlatform", "AutomaticByOS")
| distinct recommendationId, name, id, param1
| union (resources
| where type == "microsoft.compute/virtualmachinescalesets"
| join kind=inner (
resources
| where type == "microsoft.compute/virtualmachines"
| project id = tostring(properties.virtualMachineScaleSet.id), vmproperties = properties
) on id
| extend recommendationId = "vmss-9", param1 = "patchMode: Manual", vmproperties.osProfile.windowsConfiguration.patchSettings.patchMode
| where isnotnull(vmproperties.osProfile.windowsConfiguration) and vmproperties.osProfile.windowsConfiguration.patchSettings.patchMode !in ("AutomaticByPlatform", "AutomaticByOS")
| distinct recommendationId, name, id, param1)
Unterstützung für Verfügbarkeitszonen
Azure-Verfügbarkeitszonen sind mindestens drei physisch getrennte Gruppen von Rechenzentren innerhalb jeder Azure-Region. Die Rechenzentren innerhalb jeder Zone sind mit unabhängiger Stromversorgung, Kühlung und Netzwerkinfrastruktur ausgestattet. Bei einem Fehler in der lokalen Zone sind Verfügbarkeitszonen so konzipiert, dass regionale Dienste, Kapazität und Hochverfügbarkeit von den verbleibenden beiden Zonen unterstützt werden, wenn eine Zone betroffen ist.
Ausfälle können von Software- und Hardwareausfällen bis hin zu Ereignissen wie Erdbeben, Überflutungen und Bränden reichen. Fehlertoleranz wird durch Redundanz und logische Isolierung von Azure-Diensten erreicht. Ausführlichere Informationen zu Verfügbarkeitszonen in Azure finden Sie unter Regionen und Verfügbarkeitszonen.
Azure-Dienste mit Unterstützung von Verfügbarkeitszonen bieten das richtige Maß an Zuverlässigkeit und Flexibilität. Für die Konfiguration gibt es zwei Möglichkeiten. Sie können entweder zonenredundant mit automatischer zonenübergreifender Replikation oder zonenbasiert mit Instanzen sein, die an eine bestimmte Zone angeheftet werden. Sie können diese Ansätze auch kombinieren. Weitere Informationen zur zonalen im Vergleich zur zonenredundanten Architektur finden Sie unter Empfehlungen für die Verwendung von Verfügbarkeitszonen und Regionen.
Mit Azure Virtual Machine Scale Sets können Sie eine Gruppe von VMs mit Lastenausgleich erstellen und verwalten. Die Anzahl von VMs kann automatisch erhöht oder verringert werden, wenn sich der Bedarf ändert, oder es kann ein Zeitplan festgelegt werden. Skalierungsgruppen ermöglichen Hochverfügbarkeit für Ihre Anwendungen und das zentrale Verwalten, Konfigurieren und Aktualisieren zahlreicher VMs. Für die Skalierungsgruppe selbst fallen keine Kosten an. Sie zahlen nur für jede VM-Instanz, die Sie erstellen.
Virtual Machine Scale Sets unterstützt sowohl zonale als auch zonenredundante Bereitstellungen innerhalb einer Region:
Zonale Bereitstellung. Wenn Sie eine Skalierungsgruppe in einer einzelnen Zone erstellen, steuern Sie, in welcher Zone alle VMs dieser Gruppe ausgeführt werden. Die Skalierungsgruppe wird nur innerhalb dieser Zone verwaltet und automatisch skaliert.
Zonenredundante Bereitstellung. Durch eine zonenredundante Skalierungsgruppe können Sie eine einzelne Skalierungsgruppe erstellen, die sich über mehrere Zonen erstreckt. Wenn VMs erstellt werden, werden sie standardmäßig zonenübergreifend gleichmäßig verteilt.
Voraussetzungen
Damit Verfügbarkeitszonen verwendet werden können, muss Ihre Skalierungsgruppe in einer unterstützten Azure-Region erstellt werden.
Alle VMs, selbst einzelne Instanz-VMs, sollten mithilfe des flexiblen Orchestrierungsmodus in einer Skalierungsgruppe bereitgestellt werden, um Ihre Anwendung zukunftssicher für Skalierung und Verfügbarkeit zu halten.
SLA
Da Verfügbarkeitszonen physisch getrennt sind und unterschiedliche Stromquellen, Netzwerke und Kühlung bieten, sind mehr SLAs (Service-Level Agreements, Vereinbarungen zum Servicelevel) erforderlich. Weitere Informationen finden Sie in der SLA für Microsoft Online Services.
Erstellen eines Virtual Machine Scale Sets mit aktivierten Verfügbarkeitszonen
Sie können mit einer der folgenden Methoden eine Skalierungsgruppe erstellen, die Verfügbarkeitszonen verwendet:
Das Erstellen einer Skalierungsgruppe, die eine zonale Bereitstellung nutzt, entspricht den Ausführungen im Artikel „Erste Schritte“. Wenn Sie eine unterstützte Azure-Region auswählen, können Sie eine Skalierungsgruppe in einer oder mehreren Verfügbarkeitszonen erstellen, wie im folgenden Beispiel gezeigt:
Die Skalierungsgruppe und die unterstützenden Ressourcen, wie etwa der Azure Load Balancer und die öffentliche IP-Adresse, werden in der von Ihnen angegebenen einzelnen Zone erstellt.
Unterstützung für zonales Failover
VM-Skalierungsgruppen werden in Azure-Regionen ohne Zonen standardmäßig mit fünf Fehlerdomänen erstellt. Wenn diese Option für Regionen ausgewählt ist, die die Bereitstellung der Verfügbarkeitszonen von Virtual Machine Scale Sets unterstützen, lautet der Standardwert der Anzahl von Fehlerdomänen für jede Zone 1. FD=1 bedeutet in diesem Fall, dass die zur Skalierungsgruppe gehörenden VM-Instanzen auf bestmögliche Weise über viele Racks verteilt werden. Weitere Informationen hierzu finden Sie unter Auswählen der richtigen Anzahl von Fehlerdomänen für VM-Skalierungsgruppen.
Latenzarmer Entwurf
Es wird empfohlen, Virtual Machine Scale Sets mit Zonenredundanz zu konfigurieren. Wenn Ihre Anwendung jedoch strenge Anforderungen an niedrige Latenz hat, müssen Sie für Ihre VMs mit Skalierungsgruppen möglicherweise eine Zonenskalierungsgruppe implementieren. Bei einer Bereitstellung von Zonenskalierungsgruppen wird empfohlen, mehrere VMs mit Skalierungsgruppen in mehr als einer Zone zu erstellen. Sie können beispielsweise eine Skalierungsgruppeninstanz erstellen, die an Zone 1 angeheftet ist, und eine Instanz, die an Zone 2 oder 3 angeheftet ist. Sie müssen auch einen Lastenausgleich oder eine andere Anwendungslogik verwenden, um Datenverkehr während eines Zonenausfalls an die entsprechenden Skalierungsgruppen weiterzuleiten.
Wichtig
Wenn Sie sich gegen eine zonenspezifische Bereitstellung entscheiden, verzichten Sie auf den Schutz vor der Isolierung der zugrunde liegenden Fehler. Der Verzicht auf die Konfiguration von Verfügbarkeitszonen erzwingt die Abhängigkeit von Ressourcen, die nicht der Zonenplatzierung und Zonentrennung folgen (einschließlich der zugrunde liegenden Abhängigkeiten dieser Ressourcen). Von diesen Ressourcen sollte nicht erwartet werden, dass sie Zonenausfallszenarien überstehen. Lösungen, die solche Ressourcen nutzen, sollten eine Notfallwiederherstellungsstrategie definieren und eine Wiederherstellung der Lösung in einer anderen Region konfigurieren.
Sichere Bereitstellungsverfahren
Um mehr Kontrolle darüber zu haben, wo Sie Ihre VMs bereitstellen, sollten Sie zonale anstelle regionaler Skalierungsgruppen-VMs bereitstellen. Zonen-VMs bieten jedoch nur Zonenisolation und keine Zonenredundanz. Um eine vollständige Zonenredundanz mit Zonen-VMs zu erreichen, sollten zwei oder mehr VMs in verschiedenen Zonen vorhanden sein.
Es wird auch empfohlen, die Bereitstellungsoption zur maximalen Zuweisung für Ihre zonenredundanten VMs zu verwenden. Weitere Informationen finden Sie unter Zuweisungsoptionen.
Zuweisungsoptionen
Wenn Sie eine Skalierungsgruppe in einer oder mehreren Verfügbarkeitszonen bereitstellen, verfügen Sie über die folgenden Zuweisungsoptionen (ab API-Version 2017-12-01):
Maximale Zuweisung (platformFaultDomainCount = 1). Die maximale Zuweisung ist die empfohlene Bereitstellungsoption, da sie in den meisten Fällen die beste Zuweisung bietet. Wenn Sie Replikate verschiedenen Hardwareisolationseinheiten zuweisen möchten, empfiehlt es sich, sie auf Verfügbarkeitszonen zu verteilen und innerhalb jeder Zone die maximale Zuweisung zu nutzen.
Bei der maximalen Zuweisung verteilt die Skalierungsgruppe Ihre VMs in jeder Zone auf so viele Fehlerdomänen wie möglich. Diese Zuweisung kann für mehr oder weniger als fünf Fehlerdomänen pro Zone erfolgen.
Hinweis
Bei maximaler Zuweisung können Sie sowohl in der Ansicht der Skalierungsgruppen-VM-Instanz als auch in den Instanzmetadaten nur eine Fehlerdomäne sehen, unabhängig davon, wie vielen Fehlerdomänen die VMs zugewiesen sind. Die Zuweisung in einer Zone erfolgt jeweils implizit.
Statische festgelegte Zuweisung (platformFaultDomainCount = 5). Bei der statischen festgelegten Zuweisung verteilt die Skalierungsgruppe Ihre VMs exakt auf fünf Fehlerdomänen pro Zone. Wenn die Skalierungsgruppe nicht fünf verschiedene Fehlerdomänen pro Zone finden kann, um die Zuordnungsanforderung zu erfüllen, ist die Anforderung nicht erfolgreich.
An Fehlerdomänen für verwaltete Datenträger ausgerichtete Zuweisung (platformFaultDomainCount = 2 oder 3) Sie können erwägen, die Anzahl der Fehlerdomänen für Skalierungsgruppen an der Anzahl der Fehlerdomänen für verwaltete Datenträger auszurichten. Diese Ausrichtung kann dabei helfen, Quorumverluste zu verhindern, wenn eine gesamte Fehlerdomäne für verwaltete Datenträger ausfällt. Die Anzahl der Fehlerdomänen kann auf die Anzahl der in jeder der Regionen verfügbaren Fehlerdomänen für verwaltete Datenträger oder eine kleinere Anzahl festgelegt werden. Informationen zur Anzahl der Fehlerdomänen für verwaltete Datenträger nach Region finden Sie unter [Dokument hier einfügen](Link hier).
Sicherstellen eines Zonengleichgewichts
Für Skalierungsgruppen, die in mehreren Zonen (zonenredundant) bereitgestellt werden, können Sie entweder den bestmöglichen Zonenausgleich oder einen strikten Zonenausgleich auswählen. Eine Skalierungsgruppe befindet sich „im Gleichgewicht“, wenn die Zone die gleiche Anzahl von VMs (plus oder minus 1 VM) wie alle anderen Zonen in der Skalierungsgruppe aufweist. Beispiel:
Skalierungsgruppe | VMs in Zone 1 | VMs in Zone 2 | VMs in Zone 3 | Zonenausgleich |
---|---|---|---|---|
Ausgeglichene Skalierungsgruppe | 2 | 3 | 3 | Diese Skalierungsgruppe gilt als ausgeglichen. Es ist nur eine Zone mit einer unterschiedlichen VM-Anzahl vorhanden, und diese Anzahl ist nur 1 geringer als die Anzahl der VMs in anderen Zonen. |
Unausgeglichene Skalierungsgruppe | 1 | 3 | 3 | Diese Skalierungsgruppe gilt als unausgeglichen. Zone 1 verfügt über zwei VMs weniger als Zone 2 und 3. |
Es ist möglich, dass VMs in der Skalierungsgruppe erfolgreich erstellt werden, dies ist für die Bereitstellung von Erweiterungen dieser VMs jedoch nicht der Fall. Diese VMs mit Erweiterungsfehlern werden trotzdem mitgezählt, wenn ermittelt wird, ob eine Skalierungsgruppe ausgeglichen ist. Eine Skalierungsgruppe mit 3 VMs in Zone 1, 3 VMs in Zone 2 und 3 VMs in Zone 3 wird beispielsweise auch dann als ausgeglichen angesehen, wenn alle Erweiterungen in Zone 1 fehlgeschlagen sind und alle Erweiterungen in den Zonen 2 und 3 erfolgreich waren.
Beim bestmöglichen Zonengleichgewicht versucht die Skalierungsgruppe, das horizontale Herunter- und Hochskalieren durchzuführen, während das Gleichgewicht beibehalten wird. Falls ein Ausgleich aus bestimmten Gründen nicht möglich ist (wenn beispielsweise eine Zone ausfällt, kann die Skalierungsgruppe in dieser Zone keine neue VM erstellen), lässt die Skalierungsgruppe ein vorübergehendes Ungleichgewicht zu, um ein erfolgreiches Auf- und Abskalieren zu ermöglichen. Bei den nachfolgenden Versuchen zur horizontalen Skalierung fügt die Skalierungsgruppe den Zonen VMs hinzu, in denen mehr VMs erforderlich sind, damit die Skalierungsgruppe wieder ausgeglichen ist. Entsprechend entfernt die Skalierungsgruppe bei nachfolgenden Versuchen, das horizontale Herunterskalieren durchzuführen, VMs aus den Zonen, die weniger VMs benötigen, damit sich die Skalierungsgruppe im Gleichgewicht befindet. Beim „strengen Zonengleichgewicht“ enden für die Skalierungsgruppe alle Versuche zum horizontalen Herunter- oder Hochskalieren mit einem Fehler, falls dies zu einem Ungleichgewicht führen würde.
Setzen Sie zoneBalance
auf false, um das bestmögliche Zonengleichgewicht zu verwenden. Die Einstellung zoneBalance
ist die Standardeinstellung in API-Version 2017-12-01. Wenn Sie strenges Zonengleichgewicht verwenden möchten, setzen Sie zoneBalance
auf true.
Unterstützung für das Migrieren zu Verfügbarkeitszonen
Informationen zum erneuten Bereitstellen einer regionalen Skalierungsgruppe zur Unterstützung von Verfügbarkeitszonen finden Sie unter Migrieren von Virtual Machines und Virtual Machine Scale Sets zur Unterstützung für Verfügbarkeitszonen.
Zusätzliche Anleitungen
Platzierungsgruppen
Wichtig
Platzierungsgruppen gelten nur für im einheitlichen Orchestrierungsmodus ausgeführte Virtual Machine Scale Sets-Instanzen.
Bei der Bereitstellung eines Virtual Machine Scale Sets haben Sie auch die Möglichkeit, diese Gruppe mit einer einzelnen oder mit mehreren Platzierungsgruppen pro Verfügbarkeitszone bereitzustellen. Bei regionalen Skalierungsgruppen ist eine Auswahl zwischen einer einzelnen oder mehreren Platzierungsgruppen in der Region möglich. Wenn die Skalierungsgruppeneigenschaft singlePlacementGroup
auf false festgelegt ist, kann die Skalierungsgruppe mehrere Platzierungsgruppen und 0 bis 1000 VMs umfassen. Beim Standardwert true besteht die Skalierungsgruppe aus einer einzigen Platzierungsgruppe und hat einen Bereich von 0 bis 100 VMs. Für die meisten Workloads empfehlen wir mehrere Platzierungsgruppen, um eine bessere Skalierbarkeit zu erzielen. In API-Version 2017-12-01 werden für Skalierungsgruppen standardmäßig mehrere Platzierungsgruppen für einzelne Zonen und mehrere Zonen verwendet, aber für regionale Skalierungsgruppen wird standardmäßig nur eine einzelne Platzierungsgruppe genutzt.