Überlegungen zum Entwurf von SkalierungsgruppenDesign Considerations For Scale Sets

In diesem Artikel werden Überlegungen zum Entwurf von VM-Skalierungsgruppen erörtert.This article discusses design considerations for Virtual Machine Scale Sets. Informationen darüber, was Skalierungsgruppen für virtuelle Computer sind, finden Sie unter Übersicht über VM-Skalierungsgruppen.For information about what Virtual Machine Scale Sets are, refer to Virtual Machine Scale Sets Overview.

Wann sollten Sie Skalierungsgruppen statt virtuellen Computern verwenden?When to use scale sets instead of virtual machines?

Skalierungsgruppen sind im Allgemeinen hilfreich für das Bereitstellen einer hoch verfügbaren Infrastruktur, in der eine Gruppe von Computern ähnlich konfiguriert sind.Generally, scale sets are useful for deploying highly available infrastructure where a set of machines has similar configuration. Jedoch sind einige Funktionen nur in Skalierungsgruppen verfügbar, andere nur bei virtuellen Computern.However, some features are only available in scale sets while other features are only available in VMs. Um eine fundierte Entscheidung über die jeweils geeignete Technologie treffen zu können, müssen Sie sich zunächst mit einigen häufig verwendeten Funktionen beschäftigen, die nur in Skalierungsgruppen und nicht bei VMs verfügbar sind:In order to make an informed decision about when to use each technology, you should first take a look at some of the commonly used features that are available in scale sets but not VMs:

Skalierungsgruppenspezifische FunktionenScale set-specific features

  • Nachdem Sie die Konfiguration der Skalierungsgruppe festgelegt haben, können Sie die Capacity-Eigenschaft aktualisieren, um mehrere VMs parallel bereitzustellen.Once you specify the scale set configuration, you can update the capacity property to deploy more VMs in parallel. Das ist besser, als ein Skript zu schreiben, um die parallele Bereitstellung von vielen einzelnen VMs zu orchestrieren.This process is better than writing a script to orchestrate deploying many individual VMs in parallel.
  • Sie können Azure Autoscale dazu verwenden, Skalierungsgruppen automatisch zu skalieren, nicht jedoch einzelne virtuelle Computer.You can use Azure Autoscale to automatically scale a scale set but not individual VMs.
  • Sie können ein Reimaging für virtuelle Computer in einer Skalierungsgruppe durchführen, nicht jedoch für einzelne virtuelle Computer.You can reimage scale set VMs but not individual VMs.
  • Sie können virtuelle Computer in einer Skalierungsgruppe überbereitstellen, um eine höhere Zuverlässigkeit und kürzere Bereitstellungszeiten zu erreichen.You can overprovision scale set VMs for increased reliability and quicker deployment times. Eine Überprovisionierung einzelner VMs ist nur möglich, wenn Sie benutzerdefinierten Code zum Ausführen dieser Aktion schreiben.You cannot overprovision individual VMs unless you write custom code to perform this action.
  • Sie können eine Upgraderichtlinie festlegen, um Upgrades auf den virtuellen Computern in Ihrer Skalierungsgruppe auf einfache Weise durchzuführen.You can specify an upgrade policy to make it easy to roll out upgrades across VMs in your scale set. Bei einzelnen virtuellen Computern müssen Sie die Updates selbst orchestrieren.With individual VMs, you must orchestrate updates yourself.

Spezifische Funktionen von virtuellen ComputernVM-specific features

Einige Features sind derzeit nur auf VMs verfügbar:Some features are currently only available in VMs:

  • Sie können ein Image von einem einzelnen VM erfassen, nicht jedoch von einem VM in einer Skalierungsgruppe.You can capture an image from an individual VM, but not from a VM in a scale set.
  • Sie können einen einzelnen virtuellen Computer von einem nativen Datenträger zu einem verwalteten Datenträger migrieren, aber Sie können keine VM-Instanzen in einer Skalierungsgruppe migrieren.You can migrate an individual VM from native disks to managed disks, but you cannot migrate VM instances in a scale set.
  • Sie können den virtuellen Netzwerkschnittstellenkarten (Network Interface Cards, NICs) einzelner VMs öffentliche IPv6-IP-Adressen zuweisen, bei VM-Instanzen in einer Skalierungsgruppe ist dies jedoch nicht möglich.You can assign IPv6 public IP addresses to individual VM virtual network interface cards (NICs), but cannot do so for VM instances in a scale set. Sie können Load Balancern sowohl bei VMs als auch bei VMs in einer Skalierungsgruppe öffentliche IPv6-Adressen zuweisen.You can assign IPv6 public IP addresses to load balancers in front of either individual VMs or scale set VMs.

StorageStorage

Skalierungsgruppen mit Azure Managed DisksScale sets with Azure Managed Disks

Skalierungsgruppen können mit Azure Managed Disks anstatt mit den traditionellen Azure-Speicherkonten erstellt werden.Scale sets can be created with Azure Managed Disks instead of traditional Azure storage accounts. Das Feature „Managed Disks“ (Verwaltete Datenträger) bietet die folgenden Vorteile:Managed Disks provide the following benefits:

Wenn eine Vorlage vorhanden ist, können Sie diese auch aktualisieren, um Managed Disks zu verwenden.If you have an existing template, you can also update the template to use Managed Disks.

Vom Benutzer verwalteter SpeicherUser-managed Storage

Eine Skalierungsgruppe, die nicht mit Azure Managed Disks definiert ist, benötigt vom Benutzer erstellte Speicherkonten zum Speichern der Betriebssystem-Datenträger der VMs in der Gruppe.A scale set that is not defined with Azure Managed Disks relies on user-created storage accounts to store the OS disks of the VMs in the set. Pro Speicherkonto werden maximal 20 VMs empfohlen, um die maximale E/A-Leistung zu erzielen und von der Überbereitstellung zu profitieren.A ratio of 20 VMs per storage account or less is recommended to achieve maximum IO and also take advantage of overprovisioning (see below). Außerdem sollten Sie als Anfangszeichen der Speicherkontonamen verschiedene Buchstaben verwenden.It is also recommended that you spread the beginning characters of the storage account names across the alphabet. Auf diese Weise lässt sich die Last leichter auf verschiedene interne Systeme verteilen.Doing so helps spread load across different internal systems.

ÜberbereitstellungOverprovisioning

Skalierungsgruppen übernehmen derzeit die „Überbereitstellung“ virtueller Computer als Standardeinstellung.Scale sets currently default to "overprovisioning" VMs. Wenn die Überbereitstellung aktiviert ist, richtet die Skalierungsgruppe tatsächlich mehr VMs ein, als Sie angefordert haben, und löscht dann die zusätzlichen VMs, nachdem die angeforderte Anzahl von VMs erfolgreich bereitgestellt wurde.With overprovisioning turned on, the scale set actually spins up more VMs than you asked for, then deletes the extra VMs once the requested number of VMs are successfully provisioned. Die Überbereitstellung verbessert die Erfolgsquoten bei der Bereitstellung und verkürzt die Bereitstellungsdauer.Overprovisioning improves provisioning success rates and reduces deployment time. Die zusätzlichen VMs werden Ihnen nicht berechnet und nicht auf Ihre Kontingentgrenzen angerechnet.You are not billed for the extra VMs, and they do not count toward your quota limits.

Während die Überbereitstellung die Erfolgsquoten bei der Bereitstellung verbessert, kann sie ein verwirrendes Verhalten bei Anwendungen verursachen, die nicht darauf ausgelegt sind, mit dem Vorhandensein und anschließenden Nichtvorhandensein von VMs umzugehen.While overprovisioning does improve provisioning success rates, it can cause confusing behavior for an application that is not designed to handle extra VMs appearing and then disappearing. Um die Überbereitstellung zu deaktivieren, stellen Sie sicher, dass Ihre Vorlage folgende Zeichenfolge enthält: "overprovision": "false".To turn overprovisioning off, ensure you have the following string in your template: "overprovision": "false". Weitere Einzelheiten finden Sie in der REST-API-Dokumentation für Skalierungsgruppen.More details can be found in the Scale Set REST API documentation.

Wenn die Skalierungsgruppe vom Benutzer verwalteten Speicher nutzt und Sie die Überbereitstellung deaktivieren, sind mehr als 20 VMs pro Speicherkonto möglich, doch aus Gründen der E/A-Leistung werden nur maximal 40 empfohlen.If your scale set uses user-managed storage, and you turn off overprovisioning, you can have more than 20 VMs per storage account, but it is not recommended to go above 40 for IO performance reasons.

EinschränkungenLimits

Eine für ein Marketplace-Image (auch Plattformimage genannt) erstellte Skalierungsgruppe, die für die Verwendung von Azure Managed Disks konfiguriert ist, unterstützt eine Kapazität von bis zu 1.000 VMs.A scale set built on a Marketplace image (also known as a platform image) and configured to use Azure Managed Disks supports a capacity of up to 1,000 VMs. Wenn Sie Ihre Skalierungsgruppe für eine Unterstützung von mehr als 100 VMs konfiguriert haben, funktionieren nicht alle Szenarien identisch (z.B. der Lastenausgleich).If you configure your scale set to support more than 100 VMs, not all scenarios work the same (for example load balancing). Weitere Informationen finden Sie unter Verwenden umfangreicher VM-Skalierungsgruppen.For more information, see Working with large virtual machine scale sets.

Eine Skalierungsgruppe mit vom Benutzer verwalteten Speicherkonten ist derzeit auf 100 VMs begrenzt (und für diese Skalierung werden 5 Speicherkonten empfohlen).A scale set configured with user-managed storage accounts is currently limited to 100 VMs (and 5 storage accounts are recommended for this scale).

Bei Konfiguration mit Azure Managed Disks kann eine Skalierungsgruppe, die auf einem benutzerdefinierten (von Ihnen erstellten) Image basiert, bis zu 600 VMs aufweisen.A scale set built on a custom image (one built by you) can have a capacity of up to 600 VMs when configured with Azure Managed disks. Wenn die Skalierungsgruppe mit vom Benutzer verwalteten Speicherkonten konfiguriert ist, müssen alle Betriebssystem-Datenträger-VHDs innerhalb eines Speicherkontos erstellt werden.If the scale set is configured with user-managed storage accounts, it must create all OS disk VHDs within one storage account. Folglich ist 20 die maximal empfohlene Anzahl von VMs in einer Skalierungsgruppe, die auf einem benutzerdefinierten Image und vom Benutzer verwalteten Speicher basiert.As a result, the maximum recommended number of VMs in a scale set built on a custom image and user-managed storage is 20. Wenn Sie die Überbereitstellung deaktivieren, können Sie bis zu 40 gehen.If you turn off overprovisioning, you can go up to 40.

Wenn die Anzahl benötigter virtueller Computer über diese Grenzwerte hinausgeht, müssen Sie mehrere Skalierungsgruppen bereitstellen, wie in dieser Vorlagegezeigt.For more VMs than these limits allow, you need to deploy multiple scale sets as shown in this template.