Konfigurieren einer Lightsail-Instance für Load Balancing - Amazon Lightsail

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren einer Lightsail-Instance für Load Balancing

Bevor Sie Instances zu Ihrem Lightsail-Load-Balancer zuweisen, müssen Sie die Konfiguration Ihrer Anwendung evaluieren. Zum Beispiel funktionieren Load-Balancer oft besser, wenn die Datenschicht vom Rest der Anwendung getrennt ist. In diesem Thema erfahren Sie mehr über jede einzelne Lightsail-Instance und erhalten Empfehlungen dazu, ob Sie ein Load-Balancing ausführen sollten (oder horizontal skalieren) und wie Sie Ihre Anwendung am besten konfigurieren.

Allgemeine Richtlinien: Anwendungen mit Datenbank

Für Lightsail-Anwendungen, die eine Datenbank verwenden, empfehlen wir Ihnen, die Datenbank-Instance vom Rest Ihrer Anwendung zu trennen, damit Sie nur eine Datenbank-Instance haben. Der Hauptgrund ist, dass Sie vermeiden sollten, Daten in mehrere Datenbanken zu schreiben. Wenn Sie keine einzelne Datenbank-Instance anlegen, werden die Daten in die Datenbank der Instance geschrieben, die der Benutzer nutzt.

WordPress

Horizontale Skalierung? Ja, für einen WordPress-Blog oder -Website.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

  • Trennen Sie Ihre Datenbank so, dass jede WordPress-Instance, die hinter dem Load Balancer läuft, Informationen über dieselbe Stelle speichert und abruft. Wenn Sie mehr Leistung aus Ihrer Datenbank benötigen, können Sie die Rechenleistung oder den Speicher unabhängig von Ihrem Webserver replizieren oder ändern.

  • Laden Sie Ihre Dateien und statischen Inhalte in einen Lightsail-Bucket ab. Um dies zu tun, müssen Sie das WP Offload Media Lite-Plug-In auf Ihrer WordPress-Website installieren und es so konfigurieren, dass eine Verbindung zu Ihrem Lightsail-Bucket herstellt. Weitere Informationen finden Sie im Tutorial: Verbinden einer WordPress-Instance zu einem Speicher-Bucket.

Node.js

Horizontale Skalierung? Ja, mit einigen Voraussetzungen.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

  • In Lightsail enthält der Node.js-Stack, verpackt von Bitnami, die Komponenten Node.js, Apache, Redis (eine In-Memory-Datenbank) und Python. Abhängig von der bereitgestellten Anwendung können Sie das Load-Balancing auf einigen wenigen Servern durchführen. Sie müssen jedoch einen Load-Balancer konfigurieren, um den Datenverkehr zwischen allen Webservern auszugleichen und Redis auf einen anderen Server zu verlagern.

  • Verschieben Sie den Redis-Server auf einen anderen Server, um mit allen Instances zu kommunizieren. Fügen Sie ggf. einen Datenbankserver hinzu.

  • Einer der Hauptanwendungsfälle für Redis ist die lokale Zwischenspeicherung von Daten, sodass Sie nicht ständig auf die zentrale Datenbank zugreifen müssen. Wir empfehlen Ihnen, die Session-Persistenz zu aktivieren, um die Performance-Verbesserung von Redis zu nutzen. Weitere Informationen finden Sie unter Aktivieren der Sitzungspersistenz für einen Load Balancer.

  • Sie können außerdem einen gemeinsam genutzten Redis-Knoten verwenden. So können Sie Knoten gemeinsam nutzen oder einen lokalen Cache mit Sitzungspersistenz auf den einzelnen Maschinen verwenden.

  • Wenn Sie einen Load Balancer mit Apache bereitstellen wollen, sollten Sie die Einbindung des mod_proxy_balancer in den Apache-Server in Betracht ziehen.

Weitere Informationen finden Sie unter Skalieren von Node.js-Anwendungen.

Magento

Horizontale Skalierung? Ja.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

  • Sie können eine AWS-Referenzbereitstellung von Magento verwenden. Diese verwendet zusätzliche Komponenten, z. B. eine Amazon-RDS-Datenbank: Terraform Magento Adobe Commerce in AWS.

  • Vergewissern Sie sich, dass die Sitzungspersistenz aktiviert ist. Magento verwendet einen Einkaufswagen. Dies hilft sicherzustellen, dass Kunden mit mehreren Besuchen über mehrere Sitzungen hinweg bei ihrer Rückkehr die Artikel in ihrem Einkaufswagen vorfinden. Weitere Informationen finden Sie unter Aktivieren der Sitzungspersistenz für einen Load Balancer.

GitLab

Horizontale Skalierung? Ja, mit Voraussetzungen.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

Sie benötigen Folgendes:

  • Ein ausgeführter und betriebsbereiter Redis-Knoten.

  • Ein gemeinsam genutzter Network Storage Server (NFS)

  • Eine zentrale Datenbank (MySQL oder PostgreSQL) für die Anwendung. Siehe die allgemeinen Richtlinien zu Datenbanken oben.

Weitere Informationen finden Sie unter High Availability (Hochverfügbarkeit) auf der GitLab-Website.

Anmerkung

Der in oben erwähnte gemeinsame Network Storage Server (NFS) ist derzeit mit der GitLab-Vorlage nicht verfügbar.

Drupal

Horizontale Skalierung? Ja. Drupal bietet ein offizielles Dokument, das beschreibt, wie Sie Ihre Anwendung horizontal skalieren können: Server Scaling.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

Sie müssen ein Drupal-Modul einrichten, um Dateien zwischen verschiedenen Instances zu synchronisieren. Die Drupal-Website verfügt über mehrere Module. Sie sind jedoch mehr für das Prototyping als für den Produktionseinsatz geeignet.

Verwenden Sie ein Modul, mit dem Sie Ihre Dateien in Amazon S3 speichern können. Dadurch erhalten Sie einen zentralen Ort für Ihre Dateien, anstatt separate Kopien auf jeder Ziel-Instance zu speichern. Wenn Sie Ihre Dateien bearbeiten, werden die Aktualisierungen so aus dem zentralen Speicher übernommen und Ihre Benutzer sehen dieselben Dateien, unabhängig davon, auf welche Instance sie treffen.

Weitere Informationen finden Sie unter Horizontales Skalieren von Drupal und in der Cloud.

LAMP-Stack

Horizontale Skalierung? Ja.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

  • Sie sollten eine Datenbank in einer separaten Instance anlegen. Alle Instances hinter dem Load Balancer sollten auf diese separate Datenbank-Instance zeigen, damit sie Informationen an derselben Stelle speichern und abrufen können.

  • Abhängig von der bereitzustellenden Anwendung sollten Sie das gemeinsam genutzte Dateisystem festlegen (NFS, Lightsail-Blockspeicherdatenträger oder Amazon-S3-Speicher).

MEAN-Stack

Horizontale Skalierung? Ja.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

Verschieben Sie MongoDB auf einen anderen Rechner und konfigurieren Sie einen Mechanismus, um das Root-Dokument für die Lightsail-Instances freizugeben.

Redmine

Horizontale Skalierung? Ja.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

  • Nutzen Sie das Redmine_S3-Plugin, um die Anhänge in Amazon S3 statt im lokalen Dateisystem zu speichern.

  • Trennen Sie die Datenbank in einer anderen Instance.

Nginx

Horizontale Skalierung? Ja.

Sie können eine oder mehrere Lightsail-Instances mit Nginx nutzen, die an einem Lightsail-Load-Balancer angefügt sind. Weitere Informationen finden Sie unter Scaling Web Applications with NGINX, Part 1: Load Balancing.

Joomla!

Horizontale Skalierung? Ja, mit Voraussetzungen.

Konfigurationsempfehlungen vor dem Einsatz eines Lightsail-Load-Balancers

Obwohl es keine offizielle Dokumentation auf der Joomla-Website gibt, gibt es einige Diskussionen in ihren Community-Foren. Einige Benutzer haben es geschafft, ihre Joomla-Instances horizontal zu skalieren, indem sie einen Cluster mit der folgenden Konfiguration nutzen:

  • Ein Lightsail-Load-Balancer, der so konfiguriert ist, dass er eine Sitzungspersistenz ermöglicht. Weitere Informationen finden Sie unter Aktivieren der Sitzungspersistenz für einen Load Balancer.

  • Mehrere Lightsail-Instances mit Joomla, die an den Load Balancer angefügt sind, werden mit dem Dokumentenstamm von Joomla! synchronisiert. Sie können dazu Tools wie Rsync verwenden, einen NFS-Server haben, der für die Synchronisierung der Inhalte zwischen allen Lightsail-Instances zuständig ist, oder über den Dateien per AWS teilen.

  • Mehrere Datenbankserver, die mit einem Replikationscluster konfiguriert sind.

  • In jeder Lightsail-Instance ist das gleiche Cachesystem konfiguriert. Es gibt einige nützliche Erweiterungen, wie z. B. JotCache.