Der Begriff Lastenausgleich bezieht sich auf die Verteilung von Arbeitsauslastungen auf mehrere Computeressourcen. Der Lastenausgleich zielt darauf ab, die Ressourcennutzung zu optimieren, den Durchsatz zu maximieren, die Antwortzeit zu minimieren und zu vermeiden, dass einzelne Ressourcen überlastet werden. Er kann auch die Verfügbarkeit durch Verteilen einer Arbeitsauslastung auf mehrere redundante Computeressourcen verbessern.
Azure bietet verschiedene Lastenausgleichsdienste, die Sie verwenden können, um Ihre Workloads auf mehrere Computingressourcen zu verteilen. Zu diesen Ressourcen gehören Azure Application Gateway, Azure Front Door, Azure Load Balancer und Azure Traffic Manager.
In diesem Artikel werden einige Überlegungen dazu beschrieben, wie Sie eine geeignete Lastenausgleichslösung für den Bedarf Ihrer Workload ermitteln.
Dienstkategorisierungen
Azure-Lastenausgleichsdienste können in zwei Dimensionen kategorisiert werden: global im Vergleich zu regional und HTTP(S) im Vergleich zu Nicht-HTTP(S).
Global im Vergleich zu regional
- Global: Diese Lastenausgleichsdienste verteilen den Datenverkehr auf regionale Back-Ends, Clouds oder hybride lokale Dienste. Diese Dienste unterstützen die Verwaltung einer einzelnen Kontrollebene, die für das globale Routing des Endbenutzer-Datenverkehrs an ein verfügbares Back-End verantwortlich ist. Außerdem reagieren sie oft auf Änderungen von Zuverlässigkeit oder Leistung des Diensts, um Verfügbarkeit und Leistung zu maximieren. Sie können sich diese als Systeme vorstellen, die einen Lastenausgleich zwischen Anwendungsstempeln, Endpunkten oder Skalierungseinheiten, die in verschiedenen Regionen/geografischen Regionen gehostet werden, herstellen.
- Regional: Diese Lastenausgleichsdienste verteilen Datenverkehr in virtuellen Netzwerken auf virtuelle Computer (VMs) oder zonengebundene und zonenredundante Dienstendpunkte innerhalb einer Region. Sie können sich diese als Systeme vorstellen, die einen Lastenausgleich zwischen virtuellen Computern, Containern oder Clustern innerhalb einer Region in einem virtuellen Netzwerk herstellen.
HTTP(S) im Vergleich zu Nicht-HTTP(S)
- HTTP(S): Diese Lastenausgleichsdienste sind Layer-7-Lastenausgleichsmodule, die nur HTTP(S)-Datenverkehr akzeptieren. Sie sind für Webanwendungen oder andere HTTP(S)-Endpunkte vorgesehen. Sie enthalten möglicherweise Features wie SSL-Auslagerung, Web Application Firewall, pfadbasierten Lastenausgleich und Sitzungsaffinität.
- Nicht-HTTP(S)Bei diesen Lastenausgleichsdiensten handelt es sich um Lastenausgleichsdienste der Ebene 4, die Nicht-HTTP(S)-Datenverkehr verarbeiten können, d. h. in erster Linie TCP- oder UDP-Dienste.
In der folgenden Tabelle sind die Azure-Lastenausgleichsdienste zusammengefasst.
Dienst | Global/Regional | Empfohlener Datenverkehr |
---|---|---|
Azure Front Door | Global | HTTP(S) |
Azure Traffic Manager | Global | Nicht-HTTP(S) |
Azure Application Gateway | Länderspezifisch | HTTP(S) |
Azure Load Balancer | Regional oder global | Nicht-HTTP(S) |
Hinweis
Azure Traffic Manager und Azure Load Balancer können HTTP(S)-Datenverkehr verteilen, verfügen jedoch über keinerlei spezifische Weiterleitungs-Features, die auf Protokolldateneinheitsinformationen basieren, die höher sind als Schicht 4. Beide unterstützen HTTP(S)-Datenverkehr, aber nur auf Funktionalitätsebenen von Schicht 4.
Azure-Lastenausgleichsdienste
Dies sind die wichtigsten Lastenausgleichsdienste, die in Azure derzeit verfügbar sind:
Azure Front Door ist ein Anwendungsbereitstellungsnetzwerk, das einen globalen Lastenausgleichs- und Standortbeschleunigungsdienst für Webanwendungen bietet. Es bietet Layer-7-Funktionen für Ihre Anwendung, wie z. B. SSL-Auslagerung, pfadbasiertes Routing, schnelles Failover und Zwischenspeicherung, um Leistung und Hochverfügbarkeit Ihrer Anwendungen zu verbessern.
Traffic Manager ist ein DNS-basierter Lastenausgleich für Datenverkehr, der Ihnen ermöglicht, den Datenverkehr optimal auf Dienste in den globalen Azure-Regionen zu verteilen, und gleichzeitig Hochverfügbarkeit und Reaktionsfähigkeit sicherzustellen. Da es sich bei Traffic Manager um einen DNS-basierten Lastenausgleichsdienst handelt, wird der Lastenausgleich nur auf Domänenebene durchgeführt. Aus diesem Grund kann ein Failover nicht so schnell wie von Azure Front Door durchgeführt werden, da das DNS-Zwischenspeichern und Systeme, die DNS-TTLs nicht berücksichtigen, häufig Probleme verursachen.
Application Gateway ist ein Controller-as-a-Service zur Anwendungsbereitstellung, der verschiedene Funktionen für den Lastenausgleich und Web Application Firewall auf Anwendungsebene (Schicht 7) bietet. Verwenden Sie sie, um vom öffentlichen Netzwerkbereich zu Ihren Webservern zu wechseln, die in einem privaten Netzwerkbereich in einer Region gehostet werden.
Load Balancer ist ein äußerst leistungsfähiger Layer-4-Lastenausgleichsdienst (eingehend und ausgehend) mit extrem niedriger Latenz für alle UDP- und TCP-Protokolle. Er ist für die Verarbeitung von Millionen von Anforderungen pro Sekunde konzipiert und stellt sicher, dass Ihre Lösung hochverfügbar ist. Load Balancer ist zonenredundant und sorgt für Hochverfügbarkeit über mehrere Verfügbarkeitszonen hinweg. Er unterstützt sowohl eine regionale Bereitstellungstopologie als auch eine regionsübergreifende Topologie.
Hinweis
Clustering-Technologie, z. B. Azure Container Apps oder Azure Kubernetes Service, enthält Lastenausgleichskonstrukte, die in erster Linie innerhalb ihrer eigenen Clustergrenzen ausgeführt werden, Routingdatenverkehr an verfügbare Anwendungsinstanzen basierend auf Bereitschafts- und Integritätstests. Diese Lastenausgleichsoptionen werden in diesem Artikel nicht behandelt.
Entscheidungsstruktur für den Lastenausgleich in Azure
Berücksichtigen Sie bei der Auswahl einer Lastenausgleichslösung die folgenden Faktoren:
- Art des Datenverkehrs: Ist dies eine HTTP(S)-Anwendung? Handelt es sich um eine öffentliche oder eine private Anwendung?
- Global oder regional: Müssen Sie einen Lastenausgleich für VMs oder Container innerhalb eines einzelnen virtuellen Netzwerks durchführen, oder einen Lastenausgleich für Skalierungseinheiten/Bereitstellungen über mehrere Regionen hinweg, oder beides?
- Verfügbarkeit: Wie lautet die Vereinbarung zum Servicelevel?
- Kosten: Weitere Informationen finden Sie unter Azure-Preise. Zusätzlich zu den Kosten des eigentlichen Diensts sollten Sie die Betriebskosten für die Verwaltung einer Lösung berücksichtigen, die für den Dienst erstellt wird.
- Features und Einschränkungen: Welche Funktionen werden für jeden Dienst unterstützt und was sind die Diensteinschränkungen für jeden Dienst?
! [TIPP] Das Azure-Portal bietet einen fragebogenbasierten Leitfaden ähnlich dem folgenden Flussdiagramm. Suchen Sie im Azure-Portal nach „Lastenausgleich – Hilfe bei der Auswahl“. Schränken Sie Ihre Lastenausgleichsoptionen ein, indem Sie diese Fragen beantworten.
Das folgende Flussdiagramm unterstützt Sie bei der Auswahl einer Lastenausgleichslösung für Ihre Anwendung. Das Flussdiagramm führt Sie durch eine Reihe wichtiger Entscheidungskriterien, um eine Empfehlung zu erzielen.
Betrachten Sie dieses Flussdiagramm als Ausgangspunkt. Da jede Anwendung besondere Anforderungen aufweist, betrachten Sie die Empfehlung als Ausgangspunkt. Führen Sie dann eine ausführlichere Auswertung aus.
Wenn Ihre Workload mehrere Dienste umfasst, die einen Lastenausgleich erfordern, ist es wichtig, jeden Dienst einzeln zu bewerten. In zahlreichen Fällen werden für ein effektives Setup mehrere Arten von Lastenausgleichslösungen verwendet. Sie können diese Lösungen an verschiedenen Stellen in die Architektur Ihrer Workload integrieren, wobei jede Lösung eine eindeutige Funktion oder Rolle erfüllt.
Definitionen
Webanwendung (HTTP/HTTPS): Bezieht sich auf die Notwendigkeit, eine Routing-Entscheidung für Layer 7-Daten wie URL-Pfad zu treffen, die Überprüfung der Kommunikationsnutzlast (z. B. einen HTTP-Anforderungstext) zu unterstützen oder TLS-Funktionen zu verarbeiten.
Anwendung mit Internetzugriff: Anwendungen, auf die über das Internet öffentlich zugegriffen werden kann. Als bewährte Vorgehensweise wenden Anwendungsbesitzer einschränkende Zugriffsrichtlinien an oder schützen die Anwendung, indem sie Angebote wie Web Application Firewall und DDoS Protection einrichten.
Global/Bereitgestellt in mehreren Regionen: Wenn dieser Lastenausgleich über eine einzige, hoch verfügbare Steuerungsebene verfügen soll, die für das Weiterleiten des Datenverkehrs an öffentliche Endpunkte in Ihrer global verteilten Anwendung verantwortlich ist. Dies kann dazu dienen, aktive oder passive Topologien in allen Regionen zu unterstützen.
Hinweis
Es ist möglich, einen regionalen Dienst, z. B. Application Gateway zu verwenden, um einen Lastenausgleich über Back-End-Bereiche in mehreren Regionen auszuführen und das Routing über eine einzelne Steuerungsebene zu steuern. Diese Architektur wird durch regionsübergreifenden Private Link, Peerings globaler virtueller Netzwerke oder sogar durch öffentliche IP-Adressen von Diensten in anderen Regionen ermöglicht.
Dieses Szenario stellt jedoch nicht das Hauptziel bei dieser Entscheidung dar.
Die Verwendung einer regionalen Ressource als Router für weltweit verteilte Back-Ends führt zu einem Single Point of Failure auf regionaler Ebene und zu einer zusätzlichen Latenz, da der Datenverkehr zwangsläufig eine Region durchlaufen muss, bevor er eine andere Region erreichen und dann wieder zurückgeleitet werden kann.
PaaS (Platform-as-a-Service): Bietet eine verwaltete Hostingumgebung, in der Sie Ihre Anwendung ohne Verwaltung von virtuellen Computern oder Netzwerkressourcen bereitstellen können. In diesem Fall bezieht sich PaaS auf Dienste, die den integrierten Lastenausgleich innerhalb einer Region bereitstellen. Weitere Informationen finden Sie unter Auswählen eines Computediensts – Skalierbarkeit.
Azure Kubernetes Service (AKS): Ermöglicht Ihnen die Bereitstellung und Verwaltung von Containeranwendungen. AKS umfasst die serverlose Plattform Kubernetes, integrierte CI/CD-Funktionen (Continuous Integration/Continuous Delivery) sowie Sicherheit und Governance auf Unternehmensniveau. Weitere Informationen zu unseren AKS-Architekturressourcen finden Sie unter Azure Kubernetes Service-Architekturentwurf.
Infrastructure-as-a-Service (IaaS): Eine Computingoption, bei der Sie die benötigten virtuellen Computer zusammen mit den zugeordneten Netzwerk- und Speicherkomponenten bereitstellen. IaaS-Anwendungen erfordern einen internen Lastenausgleich innerhalb eines virtuellen Netzwerks mit Load Balancer.
Verarbeitung auf Anwendungsebene: Bezieht sich auf das spezielle Routing innerhalb eines virtuellen Netzwerks. Beispiel: pfadbasiertes Routing innerhalb des virtuellen Netzwerks über virtuelle Computer oder VM-Skalierungsgruppen hinweg. Weitere Informationen finden Sie unter Wann sollte ein Application Gateway hinter Azure Front Door bereitgestellt werden?.
Leistungsbeschleunigung: Bezieht sich auf Features, die den Webzugriff beschleunigen. Leistungsbeschleunigung kann durch die Verwendung von Content Delivery Networks (CDNs) oder optimierten Eingang am Point of Presence (POP) erreicht werden, um das Onboarding des Clients in das Zielnetzwerk zu beschleunigen. Azure Front Door unterstützt sowohl CDNs als auch Anycast-Datenverkehrsbeschleunigung. Die Vorteile beider Features können mit oder ohne Application Gateway in der Architektur genutzt werden.
Weitere Überlegungen
Alle Lastenausgleichsdienste weisen auch Unterstützungs- oder Implementierungsdetails auf, die ebenfalls berücksichtigt werden müssen. Hier sind einige Beispiele, die für Ihr Lastenausgleichsszenario relevant sein können.
- Web Sockets-Unterstützung
- HTTP/2-Unterstützung (sowohl beim Empfang als auch beim Weiterleiten an Back-End-Knoten)
- Unterstützung für beständige Sitzungen
- Integritätsüberwachungsmechanismus für Back-End-Knoten
- Clienterfahrung oder Verzögerung zwischen der Erkennung fehlerhafter Knoten und der Entfernung aus der Routinglogik.
Beispiele
In der folgenden Tabelle sind verschiedene Artikel aufgelistet, die jeweils auf den als Lösung verwendeten Lastenausgleichsdiensten basieren.
Dienste | Artikel | Beschreibung |
---|---|---|
Load Balancer | Verfügbarkeitszonenübergreifende Lastenausgleichs-VMs | Lastenausgleichs-VMs, die sich über Verfügbarkeitszonengrenzen hinweg erstrecken, helfen Ihnen dabei, Ihre Apps und Daten vor dem unwahrscheinlichen Ausfall oder Verlust eines ganzen Rechenzentrums zu schützen. Wenn Zonenredundanz gegeben ist, können eine oder mehrere Verfügbarkeitszonen ausfallen. Der Datenpfad ist weiterhin verfügbar, solange eine Zone in der Region noch fehlerfrei arbeitet. |
Azure Front Door | Teilen des Standorts in Echtzeit mithilfe kostengünstiger serverloser Azure-Dienste | Mit Azure Front Door können Sie die Verfügbarkeit Ihrer Anwendungen stärker erhöhen als durch Bereitstellung in einer einzelnen Region. Wenn ein regionaler Ausfall die primäre Region beeinträchtigt, können Sie mit Azure Front Door ein Failover zur sekundären Region ausführen. |
Traffic Manager | Für Hochverfügbarkeit und Notfallwiederherstellung konzipierte Multi-Tier-Webanwendung | Stellen Sie resiliente Multi-Tier-Anwendungen bereit, die für Hochverfügbarkeit und Notfallwiederherstellung entwickelt wurden. Wenn die primäre Region nicht mehr verfügbar ist, führt Traffic Manager ein Failover zur sekundären Region aus. |
Azure Front Door + Application Gateway | Mehrinstanzenfähige SaaS-Anwendungen in Azure | Verwenden Sie eine mehrinstanzenfähige Lösung, die eine Kombination aus Azure Front Door und Application Gateway umfasst. Azure Front Door hilft beim Lastenausgleich des Datenverkehrs zwischen Regionen. Application Gateway leitet Datenverkehr intern in der Anwendung an die verschiedenen Dienste weiter, die die Geschäftsanforderungen der Clients erfüllen, und führt Lastenausgleich für ihn aus. |
Traffic Manager + Load Balancer | n-schichtige Anwendung für mehrere Regionen | Einer n-schichtige Anwendung, die Traffic Manager verwendet, um eingehende Anforderungen an eine primäre Region weiterzuleiten. Wenn diese Region nicht mehr verfügbar ist, führt Traffic Manager ein Failover zur sekundären Region aus. |
Traffic Manager + Application Gateway | Regionsübergreifender Lastenausgleich mit Traffic Manager und Application Gateway | Erfahren Sie, wie Sie Webworkloads hosten und resiliente mehrschichtige Anwendungen in mehreren Azure-Regionen bereitstellen, um Hochverfügbarkeit und eine stabile Infrastruktur für die Notfallwiederherstellung zu erreichen. |
Nächste Schritte
- Erstellen eines öffentlichen Lastenausgleichs für den Lastenausgleich virtueller Computer
- Weiterleiten von Webdatenverkehr über Application Gateway
- Konfigurieren von Traffic Manager für einen globalen Lastenausgleich auf DNS-Basis
- Konfigurieren von Azure Front Door für eine hochverfügbare globale Webanwendung