Optionen für den Lastenausgleich
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 Datenverkehr über 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 innerhalb virtueller Netzwerke über virtuelle Computer (VMs) oder 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 Lastenausgleichsgeräte der Ebene 7 , 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): Diese Lastenausgleichsdienste sind entweder Layer 4 TCP- oder UDP-Dienste oder DNS-basierte Lastenausgleich.
In der folgenden Tabelle sind die Azure-Lastenausgleichsdienste zusammengefasst.
Dienst | Global/Regional | Empfohlener Datenverkehr |
---|---|---|
Azure Front Door – der Dienst für Web-Traffic-Management | Weltweit | HTTP(S) |
Azure Traffic Manager | Weltweit | Nicht-HTTP(S) |
Azure-Anwendungsgateway | Länderspezifisch | HTTP(S) |
Azure-Lastenausgleich | Regional oder global | Nicht-HTTP(S) |
Hinweis
Azure Traffic Manager und Azure Load Balancer verfügen über die Funktionen zum Verteilen von Datenverkehr, einschließlich HTTP(S). Diese Dienste verfügen jedoch nicht über Layer 7-Funktionen. Im Gegensatz zu Azure Load Balancer verarbeitet Azure Traffic Manager den Datenverkehr nicht direkt; Der Datenverkehrs-Manager bearbeitet DNS, um Clients an die entsprechenden Endpunkte zu leiten.
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 hauptsächlich im Rahmen ihrer eigenen Clustergrenze ausgeführt werden, Routingdatenverkehr an verfügbare Anwendungsinstanzen basierend auf Bereitschafts- und Integritätssonden. 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:
- Datenverkehrstyp: Handelt es sich um eine Web-HTTP(S)-Anwendung? Handelt es sich um eine öffentliche oder eine private Anwendung?
- Global vs. regional: Müssen Sie virtuelle Computer oder Container innerhalb eines einzelnen virtuellen Netzwerks lastenausgleichen oder Skalierungseinheiten/Bereitstellungen über Regionen oder beides hinweg laden?
- Verfügbarkeit: Was ist der Servicelevelvertrag?
- 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 Grenzwerte: Welche Funktionen werden für jeden Dienst unterstützt und welche Dienstgrenzwerte gelten für jeden Dienst?
Trinkgeld
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.
Plattform as a Service (PaaS): Stellt eine verwaltete Hostingumgebung bereit, in der Sie Ihre Anwendung bereitstellen können, ohne VMs oder Netzwerkressourcen verwalten zu müssen. 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 es Ihnen, containerisierte Anwendungen bereitzustellen und zu verwalten. 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.
Infrastruktur als Dienst (IaaS): Eine Computeroption, bei der Sie die benötigten virtuellen Computer zusammen mit den zugehörigen Netzwerk- und Speicherkomponenten bereitstellen. IaaS-Anwendungen erfordern einen internen Lastenausgleich innerhalb eines virtuellen Netzwerks mit Load Balancer.
Anwendungsschichtverarbeitung: Bezieht sich auf ein spezielles Routing innerhalb eines virtuellen Netzwerks. Beispiele hierfür sind pfadbasiertes Routing über VMs oder VM-Skalierungsgruppen hinweg. Weitere Informationen finden Sie unter Wann sollte ich ein Anwendungsgateway hinter Azure Front Door bereitstellen?
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.
- WebSockets-Unterstützung
- Unterstützung von Server-gesendeten Ereignissen
- 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 |
---|---|---|
Lastverteiler | 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. |
Verkehrsmanager | 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 + Anwendungsgateway | 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. |
Datenverkehrs-Manager + Anwendungsgateway | 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