Handle Spitzen-SSL-Traffic mit flexiblen Load Balancing- und Network Load Balancer-Services

Der Oracle Cloud Infrastructure Load Balancing-Service stellt eine proxybasierte automatisierte Trafficverteilung von einem Einstiegspunkt zu mehreren Servern bereit, die über Ihr virtuelles Cloud-Netzwerk (VCN) für TCP- und HTTP-Traffic erreichbar sind. Der Service bietet einen Load Balancer mit Ihrer Wahl einer öffentlichen oder privaten IP-Adresse und einer bereitgestellten Bandbreite.

Der Oracle Cloud Infrastructure Flexible Network Load Balancing Service (Network Load Balancer) automatisiert die Trafficverteilung von einem Einstiegspunkt auf mehrere Server in einem Backend-Set. Es unterstützt die Verteilung des TCP-, UDP- und ICMP-Traffics.

Die Kombination der beiden Muster ermöglicht eine massive Skalierung von SSL-Verbindungen, während das Entladen von SSL-Overhead zum Load Balancing ermöglicht wird, wodurch die Backend-Zertifikatsverteilung entfällt und die Gesamtlast Ihrer Backend-Ressourcen verringert wird.

Das Nettoergebnis ist in der Lage, mehrere flexible Load Balancer zu skalieren, die verfügbare Kapazität exponentiell erhöhen und gleichzeitig einen einzigen Einstiegspunkt zu Ihrer Workload beibehalten.

Architektur

Diese Architektur zeigt, wie Sie SSL-Verbindungen mit einem einzelnen Endpunkt horizontal skalieren können, indem Sie flexiblen Load Balancing-Service und Network Load Balancer verwenden.

Der Network Load Balancer in einem öffentlichen Subnetz bietet eine öffentliche IP-Adresse, um sicherzustellen, dass Anwendungen während der Spitzennachfrage immer verfügbar sind. Der Network Load Balancer gleicht eingehende SSL-Verbindungen mit Backend-Servern basierend auf IP-Protokolldaten aus. Die flexiblen Load Balancer in einem privaten Subnetz sind mit einem einzelnen Instanzpool mit automatischer Skalierung verbunden, damit Backend-Server Flexs ausführen und die Nachfrage erfüllen können. Mit dieser Architektur, basierend auf eingehenden Verkehrsmustern, skaliert sich die verfügbare Bandbreite ab dem Minimum, wenn der Datenverkehr steigt oder von dem Maximum nach unten skaliert, wenn der Datenverkehr abnimmt.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.Beschreibung von horizontal-scaling-using-lbaas.png folgt
Beschreibung der Abbildung horizontal-scaling-using-lbaas.png

Die Architektur enthält die folgenden Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Rechenzentrum (Availability-Domains) enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region eingerichtet haben. Wie herkömmliche Rechenzentrumsnetze geben VCNs Ihnen die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke enthalten, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die für eine Region oder eine Availability-Domain Geltungsbereich haben können. Jedes Subnetz besteht aus einem zusammenhängenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Nach der Erstellung können Sie die Größe eines Subnetzes ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Load Balancer

    Der Oracle Cloud Infrastructure Load Balancing-Service stellt eine automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt an mehrere Server im Backend bereit.

  • Instanzpool

    Ein Instanzpool ist eine Gruppe von Instanzen innerhalb einer Region, die aus derselben Instanzkonfiguration erstellt und als Gruppe verwaltet werden.

  • Automatische Skalierung

    Mit der automatischen Skalierung können Sie die Anzahl der Compute-Instanzen in einem Instanzpool basierend auf Performancemetriken, wie der CPU-Auslastung, automatisch anpassen.

    Wenn der Instanzpool skaliert oder in, wird das Backend-Set des verknüpften Load Balancers automatisch aktualisiert.

  • Network Load Balancer

    Der Oracle Cloud Infrastructure Flexible Network Load Balancing Service ist Load Balancing, der auch die Trafficverteilung von einem Einstiegspunkt aus automatisiert, aber ein nicht Proxydurchlauf ist, der die Verteilung von TCP-, UDP- und ICMP-Traffic unterstützt.

Empfehlungen

Ihre Anforderungen können sich von der hier beschriebenen Architektur unterscheiden. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.
  • VCN

    Legen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen fest, die Sie Subnetzen in VCN zuordnen möchten. Verwenden Sie CIDR-Blöcke, die sich im standardmäßigen privaten IP-Adressraum befinden.

    Wählen Sie CIDR-Blöcke, die sich nicht mit einem anderen Netzwerk überschneiden (in Oracle Cloud Infrastructure, Ihrem On-Premise-Rechenzentrum oder einem anderen Cloud-Provider), zu dem Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.

    Wenn Sie die Subnetze entwerfen, sollten Sie den Trafficfluss und die Sicherheitsanforderungen berücksichtigen. Ordnen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz zu, das als Sicherheitsgrenze dienen kann.

  • Network Load Balancer

    Stellen Sie einen einzelnen Network Load Balancer im öffentlichen Subnetz bereit, während Sie mehrere Load Balancer-Instanzen im Backend verwenden.

  • Oracle Cloud Infrastructure Load Balancing-Service

    Stellen Sie Ihre Oracle Cloud Infrastructure Load Balancing-Instanzen in einem privaten Subnetz bereit. Es wird empfohlen, SSL-Abschluss auf Ihren Load Balancing-Instanzen durchzuführen, um den Overhead auf Ihren Backend-Servern zu reduzieren.

  • Instanzpool

    Alle Load Balancing-Instanzen sind einem einzelnen Instanzpool zugeordnet, der mit anwendungsspezifischen Konfigurationen konfiguriert ist. Dadurch wird sichergestellt, dass alle Load Balancing-Instanzen dieselben Backend-IP- und Port-Kombinationen haben, damit Session-Persistenz über alle Balancer hinweg möglich ist.

  • Automatische Skalierung

    Stellen Sie sicher, dass Sie die automatische Skalierung so konfigurieren, dass eine Reihe von Instanzen bereitgestellt wird, um die Bandbreiten- und Verbindungsanforderungen im privaten Subnetz zu erfüllen.

  • Quellerhaltung

    Konfigurieren Sie die Quellerhaltung im Network Load Balancer, damit der Load Balancing-Fehler und das Access Log eine genaue IP-Adresse des Quellclients widerspiegeln können.

  • Logs

    Diese Architektur erfasst Logs aus Load Balancing Service und VCN Flow-Logs. Jede Compute-Instanz, Load Balancing und Network Load Balancer, die einem VCN zugeordnet sind, verfügt über mindestens eine virtuelle Netzwerkschnittstellenkarte (VNICs). Verwenden Sie VCN Flow-Logs, um Sicherheitsregeln zu beheben und den Traffic in und aus den VNICs zu auditieren. Sie können auch Load Balancing-Fehler und Zugriffslogs zur Überwachung verwenden.

  • Zugriffskontrolle

    Verwenden Sie eine Kombination aus Sicherheitslisten, NSGs und Load Balancer-Zugriffskontrolllisten, um das Prinzip der geringsten Berechtigung zu befolgen, die erforderlich ist, um die granularste Zugriffsebene bereitzustellen, die erforderlich ist, um Ihre Anwendung ordnungsgemäß zu bedienen.

Wichtige Aspekte

Beachten Sie bei der Implementierung dieser Architektur die folgenden Faktoren:

  • Performance

    Stellen Sie ausreichend Menge und Größe von Load Balancing-Instanzen bereit, um die Bandbreite und die Verbindungsanforderungen zu erfüllen. Konfigurieren Sie außerdem die richtigen Skalierungs-, Skalierungs- und Skalierungslimits in Ihrer automatischen Skalierungskonfiguration basierend auf Ihren spezifischen Anwendungsanforderungen.

  • Verfügbarkeit

    Erstellen Sie Skalierungs-, Skalierungs- und Skalierungslimits basierend auf Ihren spezifischen Anwendungsanforderungen, um die Verfügbarkeit Ihrer Backend-Ressourcen sicherzustellen.

  • Logs

    Stellen Sie sicher, dass Sie die Quellerhaltung im Network Load Balancer aktivieren, um sicherzustellen, dass Ihr Load Balance-Fehler und Zugriffslogs die richtige Quell-IP haben.

  • Sessionpersistenz

    Wenn Sie die Routing-Policy im Network Load Balancer festlegen, können Sie 2-5 Tupelhashing auswählen, um die gewünschte Persistenzebene zu konfigurieren.

    Wenn Sie Load Balancing Service Session Persistence aktivieren, stellen Sie sicher, dass Sie einen gemeinsamen Namen für den Load Balancing-Cookie-Namen und einen gemeinsamen Instanzpool für alle Load Balancing-Instanzen verwenden. Dies ermöglicht eine Backendpersistenz in der gesamten Umgebung.

Weitere Informationen

Weitere Informationen zu Network Load Balancern und Load Balancing Service.