So erstellen und konfigurieren Sie Netzwerk -Last -Balancer auf AWS

So erstellen und konfigurieren Sie Netzwerk -Last -Balancer auf AWS
Wenn der Benutzer eine Anwendung oder einen Webserver über ein bestimmtes Limit hinaus erhöht, ist es für einen einzelnen Server schwierig, die Last zu verarbeiten, und Benutzer haben Schwierigkeiten, auf die Anwendung zuzugreifen. Um dieses Problem zu lösen, werden die meisten Webanwendungen auf mehr als einem Server ausgeführt, um den hohen Anforderungen der Benutzer zu verwalten. Wir benötigen jedoch einen Mechanismus, um die Anfragen unter verschiedenen Servern zu teilen. Um dieses Problem zu beheben, müssen wir einen Lastausgleich verwenden, der den Verkehr auf den Servern basierend auf einem Algorithmus verteilen kann. Die häufigsten verwendeten Algorithmen sind Round Robin, gewichtetes Round-Robin, geringste Verbindung, kleinste Reaktionszeit, Flusshash usw. Als einer der größten Cloud -Service -Anbieter bietet AWS verschiedene Arten von Lastbalancern an, und Sie müssen entscheiden, welche für die Behandlung Ihrer Anwendungsarbeit am angemessensten und wirtschaftlichsten ist.

Arten von Lastbalancern in AWS

In AWS erhalten Sie die folgenden vier Arten von Lastbalancern:

Klassischer Lastausgleich

Es funktioniert auf der Transportschicht (TCP) und der Anwendungsschicht (HTTP). Es unterstützt keine dynamische Portzuordnung und erfordert eine Beziehung zwischen dem Lastausgleichsport und dem Instanzport. Jetzt ist es ein Legacy -Service und wird nicht empfohlen, viel zu verwenden.

Anwendungslastausgleich

Es ist die am häufigsten verwendete Lastbilanz, die den Datenverkehr basierend auf der Anwendungsschicht (HTTP/HTTPS) weiterleitet. Es unterstützt auch die Funktion Dynamic Port Mapping und bietet intelligentes Routing.

Netzwerklastausgleich

Der Netzwerklastausgleich verwendet einen Flow -Hash -Algorithmus und arbeitet in der Transportschicht (TCP), i.e., Schicht 4 des OSI -Modells. Es kann mehr Anfragen als der Anwendungslastausgleich bearbeiten und bietet die geringste Latenz.

Gateway Load Balancer

Es ist ein Lastausgleich, der andere Vorteile wie Netzwerksicherheit und Firewall bietet. Es trifft Routing -Entscheidungen auf der 3. OSI -Schicht (Netzwerkschicht) und verwendet das Gene -Protokoll für Port 6081.

Erstellen von Netzwerklastbalancer mithilfe der AWS -Verwaltungskonsole

In diesem Artikel erstellen und konfigurieren wir einen Netzwerklastausgleicher. Der erste Schritt besteht darin, den Dienst zu konfigurieren, über den wir unseren Lastausgleich anwenden möchten. Es können entweder EC2 -Instanzen, Lambda -Funktionen, IP -Adressen oder Anwendungslastausgleiche sein. Hier wählen wir EC2 -Instanzen. Suchen Sie also nach dem EC2 -Dienst in der Konsole.

Konfigurieren Sie so viele Instanzen, wie Sie für Ihre Anwendung möchten.

Bevor wir unseren Load Balancer erstellen, müssen wir eine Zielgruppe erstellen. Öffnen Sie die Konsole der Zielgruppen im linken Menü im Abschnitt EC2.

Klicken Sie nun auf die Zielgruppe erstellen, um loszulegen.

Zunächst müssen Sie den Dienst auswählen, den Sie für die Zielgruppe erstellen möchten. Dies sind die Fälle in unserem Fall:

Geben Sie dann den Namen Ihrer Zielgruppe, das Netzwerkprotokoll, die Portnummer und das VPC (virtuelles privates Netzwerk) an, zu dem Ihre EC2 -Instanzen gehören.

Für eine Zielgruppe, die mit einem Netzwerk -Lastausgleich verwendet wird, muss das Protokoll ein Protokoll der Layer 4 -Protokoll wie TCP, TLS, UDP oder TCP_UDP sein, da der Netzwerk -Last -Balancer in Layer 4 des OSI -Schichtmodells arbeitet.

Der Port hier zeigt den Port, auf dem Ihre Anwendung in den EC2 -Instanzen ausgeführt wird. Stellen Sie beim Konfigurieren Ihrer Anwendung in mehreren EC2 -Instanzen mit einer Zielgruppe sicher, dass Ihre Anwendung in allen EC2 -Instanzen auf demselben Port ausgeführt wird. In dieser Demo wird unsere Bewerbung auf Port 80 der EC2 -Instanzen ausgeführt.

Für VPC müssen Sie den VPC auswählen, in dem Ihre EC2 -Instanzen vorhanden sind. Andernfalls können Sie die EC2 -Instanzen der Zielgruppe nicht hinzufügen.

Sie können auch die Gesundheitskontrollen konfigurieren, damit der Lastausgleich automatisch nicht mehr den Netzwerkverkehr an dieses Ziel sendet.

Jetzt müssen Sie Ihre Instanzen in Ihrer Zielgruppe registrieren. Die Benutzeranfragen werden an die registrierten Ziele weitergeleitet.

Um das Ziel zu registrieren, wählen Sie in diesem Fall einfach diese Ziele oder Instanz aus und klicken Sie auf "Abhängig von unten integrieren". Hier haben wir Fälle ausgewählt, die zu verschiedenen Verfügbarkeitszonen gehören, um unsere Bewerbung am Laufen zu halten, auch wenn ein AZ untergeht.

Schließlich klicken Sie auf die Zielgruppe erstellen, und Sie sind bereit zu gehen.

Jetzt erstellen wir unseren Netzwerk -Lade -Balancer, öffnen Sie den Abschnitt aus dem Menü "Lade -Balancer" und klicken Sie auf den Ladeausgleich erstellen.

Wählen Sie aus den folgenden Typen den Netzwerklastausgleich: Wählen Sie aus:

Definieren Sie zunächst den Namen Ihres Netzwerklastausgleichs im Abschnitt "Basic Configuration".

Wählen Sie nun das Netzwerkschema aus, ich.e., Entweder möchten Sie, dass Ihr Ladungsbalancer öffentlich ist oder es nur in Ihrem privaten Netzwerk (VPC) verwenden möchte.

Der IP -Adresstyp definiert, ob Ihre EC2 -Instanzen IPv4- oder IPv6 -Adressen verwenden. Wenn Ihre EC2 -Instanzen nur IPv4 -Adressen verwenden, können Sie die auswählen IPv4 Möglichkeit. Wählen Sie ansonsten die aus Dualstack Möglichkeit.

Wählen Sie den VPC für den Lastausgleicher aus. Es muss dasselbe wie bei Instanzen und Zielgruppen sein.

Anschließend können Sie die Verfügbarkeitszonen und Subnetze auswählen, in denen Ihre Ziel -EC2 -Instanzen existieren. Weitere Verfügbarkeitszonen bedeuten, je mehr Ihre Anwendungen hoch verfügbar sind. Stellen Sie während der Ausführung Ihrer Bewerbung in mehr als einer EC2 -Instanz sicher, dass Ihre EC2 -Instanzen in verschiedenen Verfügbarkeitszonen ausgeführt werden.

Da unsere Fälle zu den in der Region vorhandenen Verfügbarkeitszonen gehören, werden wir sie alle mit ihren jeweiligen Subnetzen auswählen.

US-Ost-2a

US-East-2B

US-East-2c

Jetzt müssen wir das Netzwerkprotokoll und den Port einstellen und unsere Zielgruppe für unseren Lastausgleich auswählen. Der Lastausgleich leitet den gesamten Verkehr an dieses Ziel weiter.

Schließlich ist unsere Konfiguration abgeschlossen. Klicken Sie einfach in der rechten Schaltfläche auf den Balancer für den Ausgleich erstellen, und wir können loslegen.

Nach der Konfiguration finden Sie einen Endpunkt für Ihren Lastausgleich unter dem Abschnitt Beschreibung. Sie werden diesen Endpunkt verwenden, um auf Ihre Anwendung zuzugreifen.

Die Benutzeranfragen werden über den Endpunkt des Load Balancer empfangen, wodurch sie an die durch die Zielgruppe konfigurierte Instanz weitergeleitet werden. Wenn Sie mehrere Anfragen ausprobieren, werden Ihre Anfragen von einer beliebigen Instanz zufällig erfüllt.

Daher haben wir einen Netzwerklastausgleich mit der AWS -Verwaltungskonsole erfolgreich erstellt und konfiguriert.

Erstellen von Netzwerklastausgleich mit AWS CLI

Die AWS-Konsole ist einfach zu nutzen und zu verwalten, Dienste und Ressourcen in Ihrem Konto, aber die meisten Branchenfachleute bevorzugen die Befehlszeilenschnittstelle. Aus diesem Grund hat AWS die Lösung entwickelt, CLI für seine Benutzer bereitzustellen, die in jeder Umgebung konfiguriert werden können, entweder Windows, Linux oder Mac. Lassen Sie uns also sehen, wie wir einen Lastausgleich mit der Befehlszeilenschnittstelle erstellen können.

Nachdem Sie Ihre CLI konfiguriert haben, führen Sie einfach den folgenden Befehl aus, um einen Netzwerk -Last -Balancer zu erstellen:

$: AWS ELBV2 CREATE-LOAD-BALENLER-NAME --Geben Sie Netzwerk -Subnets ein

Als nächstes müssen wir eine Zielgruppe für diesen Netzwerklastausgleich erstellen.

$: AWS ELBV2 CREATE-TARGET-GROUP-NAME --Protokoll TCP-Port 80-VPC-ID

Anschließend müssen wir unsere Zielgruppe mit dem folgenden Befehl Ziele hinzufügen:

$: AWS ELBV2 Register-Targets-Zielgruppe-Group-Arn --Ziele id =

Schließlich werden wir als Zuhörer unsere Zielgruppe an unseren Lastausgleich befestigen.

$: AWS ELBV2 CREATE-Listener-Last-Balker-Arn --Protokoll TCP-Port 80-Default-Acts Type = Forward, TargetGrouparn =

Wir haben also erfolgreich einen Netzwerk-Last-Balancer erstellt und eine Zielgruppe als Hörer zum Lastausgleich mit der AWS-Befehlszeilenschnittstelle hinzugefügt.

Abschluss

Lastausgleich ist für jede Art von Webanwendung von entscheidender Bedeutung, da dies die Befriedigung der Benutzer durch vielversprechende Verfügbarkeit und eine gute Reaktionszeit bereitstellt. Sie reduzieren die Ausfallzeiten, indem sie die erforderlichen Gesundheitsprüfungen durchführen, die Bereitstellung der Autoscaling -Gruppe erleichtern, den Datenverkehr auf den Server leiten, der die geringste Latenz liefert und den Datenverkehr bei Systemfehlern an eine andere Verfügbarkeitszone weiterleitet. Um massive Anfragen auf unserem Server zu bearbeiten, können wir die Ressourcen unserer Instanz erhöhen, wie z. B. mehr CPU, Speicher und mehr Netzwerkbandbreite. Dies kann jedoch nur zu einem bestimmten Niveau erreicht werden und ist in vielen Aspekten nicht erfolgreich und geeignet, z. B. Kosten, Zuverlässigkeit und Skalierbarkeit. Wir müssen also auf jeden Fall mehr Server für unsere Bewerbung beantragen. Es ist nur ein Punkt, an den sich der AWS Elastic Last Balancer (ELB) nur für das Routing und die Verteilung der Benutzeranforderungen verantwortlich ist. Dadurch werden keine Server oder Instanzen in Ihrer Infrastruktur hinzugefügt oder entfernt. Wir verwenden AWS Auto Scaling Group (ASG). Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in den anderen Linux -Hinweisartikeln.