Lastausgleichsfunktion für Anwendungen erstellen

Sie können eine Instanz von IBM Cloud® Application Load Balancer for VPC (ALB) erstellen, um den eingehenden Datenverkehr auf mehrere Instanzen zu verteilen. Sie können den ALB mit virtuellen Serverinstanzen, Bare-Metal-Serverinstanzen und anderen Geräten verwenden, die über IP-Adressen verfügen, die für den Load Balancer zugänglich sind, z. B. Power Systems™ Virtual Server Instanzen, die über IBM Cloud Direct Link verbunden sind.

Erstellen eines Anwendungs-Load-Balancers in der Konsole

Gehen Sie wie folgt vor, um eine ALB zu erstellen:

  1. Öffnen Sie in Ihrem Browser die „ IBM Cloud “-Konsole und melden Sie sich bei Ihrem Konto an.

  2. Wählen Sie das Navigationsmenü „ Menüsymbol“ und klicken Sie dann auf das Symbol „Infrastruktur -VPC“ > „Netzwerk“ > „Lastenausgleich“.

  3. Klicken Sie auf der Seite „Load Balancer für VPC“ auf „ Erstellen “.

  4. Wählen Sie als Load-Balancer-Typ die Kachel „ Application Load Balancer (ALB) “ aus.

  5. Bearbeiten Sie im Abschnitt „Standort“ bei Bedarf das folgende Feld.

    • Region: Gibt die Region an, in der die Lastausgleichsfunktion erstellt werden soll.
  6. Geben Sie im Abschnitt 'Details' die folgenden Informationen an:

    • Name: Geben Sie einen Namen für die Lastausgleichsfunktion ein (z. B. my-load-balancer).

    • Ressourcengruppe: Wählen Sie eine Ressourcengruppe für die Lastausgleichsfunktion aus.

    • Tags: (Optional) Fügen Sie Tags hinzu, um Ihre Ressourcen besser zu organisieren und wiederzufinden. Sie können später weitere Tags hinzufügen. Weitere Informationen finden Sie im Abschnitt Mit Tags arbeiten.

    • Zugriffsmanagementtags: (Optional) Fügen Sie Zugriffsmanagementtags zu Ressourcen hinzu, um die Organisation von Zugriffssteuerungsbeziehungen zu unterstützen. Das einzige unterstützte Format für Zugriffsverwaltungstags ist key:value. Weitere Informationen finden Sie unter Zugriff auf Ressourcen mithilfe von Tags steuern.

    • Virtual Private Cloud: Wählen Sie Ihre VPC aus.

    • Teilnetze: Wählen Sie die Teilnetze aus, in denen Ihre Lastausgleichsfunktion erstellt werden soll. Um die Verfügbarkeit Ihrer Anwendung zu maximieren, wählen Sie Teilnetze in verschiedenen Zonen aus.

      Sie können bis zu 15 Teilnetze pro ALB zuordnen.

    • Typ: Wählen Sie den Typ der Lastausgleichsfunktion aus.

      • Ein öffentlicher Load Balancer verfügt über eine öffentliche IP-Adresse, was bedeutet, dass er Anfragen von Clients über das Internet weiterleiten kann.
      • Ein privater Load Balancer verfügt über eine private IP-Adresse, was bedeutet, dass er nur für interne Clients innerhalb derselben Region und derselben VPC erreichbar ist.
    • DNS-Typ: Wählen Sie entweder „Öffentlich“ oder „Privat“ aus. Private DNS-Zonen können nur unter IBM Cloud aufgelöst werden, und zwar ausschließlich von Netzwerken aus, die in einem Konto ausdrücklich zugelassen sind, oder über kontoübergreifenden Zugriff.

      Nur für den Typ Privat klicken Sie auf Binden, um Ihre DNS-Instanz und Zoneninformationen einzugeben, und klicken Sie dann auf Binden.

  7. Klicken Sie im Abschnitt „Backend-Pools“ auf „Erstellen“ und geben Sie die folgenden Informationen ein, um einen Backend-Pool zu erstellen. Sie können einen oder mehrere Pools erstellen.

    • Name: Geben Sie einen Namen für den Pool ein (z. B. my-pool).
    • Pool-Protokoll: Wählen Sie das Protokoll für Ihre Instanzen in diesem Pool aus. Das Protokoll des Pools muss mit dem Protokoll des Hörers kompatibel sein. Für HTTP oder HTTPS Hörer, verwenden Sie HTTP als Pool-Protokoll. Für TCP Hörer, verwenden Sie TCP als Pool-Protokoll.
    • Sitzungsabhängigkeit: Wählen Sie aus, ob alle Anforderungen während einer Benutzersitzung an dieselbe Instanz gesendet werden sollen.
    • Proxy-Protokoll: Wählen Sie „Deaktiviert“ (Standard), „Version 1“ oder „Version 2“ (Versionen des Proxy-Protokoll-Headers). Das Proxy-Protokoll fügt den an den Backend-Pool gesendeten Paketen vom Typ „ TCP “, „ HTTP “ und „ HTTPS “ einen Proxy-Protokoll-Header hinzu. Diese Einstellung ermöglicht es den Backend-Servern, die vom Load Balancer im Proxy-Protokoll-Header festgelegten IP- und Port-Informationen des Clients abzurufen.
    • Methode: Wählen Sie aus, wie die Lastausgleichsfunktion den Datenverkehr auf die Instanzen im Pool verteilen soll.
      • Wenigste Verbindungen: Anforderungen werden an die Instanz weitergeleitet, die momentan über die niedrigste Anzahl von Verbindungen verfügt.
      • Umlauf: Anforderungen werden im Umlaufverfahren nacheinander an die einzelnen Instanzen weitergeleitet. Auf diese Weise erhalten alle Instanzen ungefähr gleich viele Clientverbindungen.
      • Gewichteter Umlauf: Anforderungen werden gemäß der zugeordneten Gewichtung an die einzelnen Instanzen weitergeleitet. Beispiel: Sie verfügen über die Instanzen A, B und C und die zugehörigen Gewichtungen sind auf 60, 60 und 30 gesetzt. Die Instanzen A und B erhalten jeweils die gleiche Anzahl von Verbindungen, die Instanz C jedoch nur halb so viele Verbindungen.
    • Statusprüfung: Konfigurieren Sie, wie die Lastausgleichsfunktion den Status der Instanzen überprüft.
      • Pfad für Statusprüfung: Der Statusprüfungspfad kann nur angewendet werden, wenn HTTP als Protokoll für die Statusprüfung ausgewählt ist. Der Pfad für Statusprüfung gibt die URL an, die von der Lastausgleichsfunktion verwendet wird, um die HTTP-Anforderungen für die Statusprüfung an die Instanzen im Pool zu senden. Standardmäßig werden Statusprüfungen an den Rootpfad (/) gesendet.
      • Statusprotokoll: Gibt an, welches Protokoll von der Lastausgleichsfunktion verwendet wird, um Nachrichten für Statusprüfungen an die Instanzen im Pool zu senden.
      • Health-Port (optional): Der Port, über den Health-Check-Anfragen gesendet werden sollen. Standardmäßig werden Statusprüfungen über denselben Port gesendet, der auch für den Datenverkehr an die Instanz verwendet wird.
      • Intervall (Sek.): Intervall in Sekunden zwischen zwei aufeinanderfolgenden Versuchen eines Zustandschecks. Standardmäßig werden Statusprüfungsanforderungen alle 5 Sekunden gesendet.
      • Timeout (Sek.): Die maximale Zeitspanne, die das System auf eine Antwort auf eine Zustandsprüfungsanfrage wartet. Standardmäßig wartet die Lastausgleichsfunktion 2 Sekunden auf eine Antwort.
      • Max. Wiederholungsversuche: Gibt die maximale Anzahl der Wiederholungsversuche für Statusprüfungen an, die von der Lastausgleichsfunktion durchgeführt werden, bevor für eine Instanz ein nicht einwandfreier Zustand attestiert wird. Standardmäßig wird für eine Instanz nach zwei fehlgeschlagenen Statusprüfungen ein nicht einwandfreier Zustand attestiert.
  8. (Optional) Wählen Sie „Anfrageeinstellungen“, um die Werte für die Zustandsprüfungsanfragen anzupassen. Wenn keine Werte angegeben werden, werden die Standardeinstellungen verwendet.

    • Anfragemethode: Wählen Sie eine der folgenden Optionen: GET oder POST. Sie können die Request-Header für beide Methoden anpassen. Optional können Sie den Request-Body anpassen, während Sie die Methode „ POST “ verwenden.
    • Anfragetext: Fügen Sie den Anfragetext „ HTTP “ ein, der für die Zustandsprüfungen verwendet werden soll. Sofern nicht anders angegeben, enthalten Health-Check-Anfragen keinen Anfragetext.
    • Host-Header: Fügen Sie den Host-Header ein, um sicherzustellen, dass die Anfrage das HTTP/1.1-Protokoll verwendet. Andernfalls wird standardmäßig „ HTTP/1.0 “ verwendet.
    • Weitere Request-Header hinzufügen: Fügen Sie einen oder mehrere zusätzliche Request-Header hinzu.
    • Name der Kopfzeile: Wählen Sie für die Anforderungsmethode „ GET “ eine der folgenden Optionen aus: „ content-type “, „ accept “, „ authorization “, „ cookie “, „ origin “, „ referrer “ oder „ user-agent “. Wählen Sie für die Anforderungsmethode „ POST “ eine der folgenden Optionen aus: „ content-type “, „ content-length “, „ application-json “ oder „ accept-encoding “.
    • Wert: Geben Sie den Wert ein, der dem angegebenen Header-Namen entspricht.

    Bei Private Path Network Load Balancers (PPNLBs) liegt ein bekanntes Problem vor, bei dem die Felder für die Anfrage und die Antwort des Zustandsmonitors nicht in der GET-API-Antwort zurückgegeben werden.

  9. (Optional) Wählen Sie „Antwort-Einstellungen“, um die Antwortwerte für den Zustandscheck anzupassen. Wenn keine Werte angegeben werden, werden die Standardeinstellungen verwendet.

    • Antworttext: Geben Sie den Text der Antwort ein.

    • Antwortcode: Sie können mehrere durch Kommas getrennte Werte im Bereich von 100 bis 599 angeben. Um einen Bereich anzugeben, verwenden Sie XX. Zum Beispiel „ 2XX “ für die Zahlen 200–299.

      HTTP übermittelt Daten als Klartext, der abgefangen werden kann und als unsicher gilt. Als Protokoll wird https anstelle von http empfohlen. Weitere Informationen finden Sie unter „ Warum ist HTTP nicht sicher? “.

      Obwohl die Lastausgleichsfunktion keine weiteren Verbindungen an Instanzen sendet, die keinen einwandfreien Status aufweisen, wird der Status dieser Instanzen weiterhin von der Lastausgleichsfunktion überwacht und die Instanzen werden wieder verwendet, sobald sie wieder in einwandfreiem Zustand sind (d. h. sobald sie zwei aufeinanderfolgende Statusprüfungen erfolgreich bestanden haben).

      Wenn Instanzen im Pool nicht einwandfrei sind und Sie der Auffassung sind, dass Ihre Anwendung dennoch ordnungsgemäß ausgeführt wird, überprüfen Sie das Statusprotokoll und die Statuspfadwerte. Außerdem sollten Sie alle Sicherheitsgruppen überprüfen, die den Instanzen zugeordnet sind, um sicherzustellen, dass die Regeln den Datenverkehr zwischen der Lastausgleichsfunktion und den Instanzen zulassen.

  10. Klicken Sie auf Erstellen, um den Back-End-Pool zu erstellen.

    Sie können Serverinstanzen nach dem Erstellen Ihres Back-End-Pools anhängen.

  11. Um eine Serverinstanz zu dem neuen Pool hinzuzufügen, klicken Sie in der Spalte Serverinstanzen der Tabelle auf Server zuordnen.

    • Um VPC-Einheiten (z. B. virtuelle Serverinstanzen und Bare-Metal-Server) zu Ihrem Pool hinzuzufügen, wählen Sie die Registerkarte VPC-Einheiten aus. Geben Sie für jede Instanz die folgenden Informationen an:

      • Wählen Sie mindestens ein Teilnetz aus, in dem eine Instanz ausgewählt werden soll.

      • Wählen Sie eine Instanz aus. Wenn eine Instanz über mehrere Schnittstellen verfügt, stellen Sie sicher, dass Sie die richtige IP-Adresse auswählen.

      • Geben Sie den Port an, über den Datenverkehr an die Instanz gesendet wird.

      • Wenn in Ihrem Pool die Methode Gewichteter Umlauf verwendet wird, weisen Sie jeder Instanz eine Gewichtung zu.

        Das Zuweisen der Gewichtung 0 zu einer Instanz bedeutet, dass keine neuen Verbindungen an diese Instanz weitergeleitet werden. Der vorhandene Datenverkehr wird jedoch weiterhin übertragen, solange die aktuelle Verbindung aktiv ist. Die Gewichtung 0 kann dazu beitragen, eine Instanz ordnungsgemäß herunterzufahren und aus der Servicerotation zu entfernen.

      • Klicken Sie auf Port und Gewichtung konfigurieren und geben Sie anschließend den Port an, über den Datenverkehr an die Instanz gesendet wird.

    • Wenn Sie weitere Serverinstanzen für Ihren Back-End-Pool zuordnen möchten (z. B. Server, die in einem IBM Power Systems Virtual Server enthalten sind), wählen Sie die Registerkarte Sonstige aus und klicken Sie anschließend auf Weitere hinzufügen. Geben Sie für jede Instanz die folgenden Informationen an:

      • Geben Sie eine private IP-Adresse für die Einheit an.

      • Geben Sie den Port an, über den Datenverkehr an die Instanz gesendet wird.

      • Wenn in Ihrem Pool die Methode Gewichteter Umlauf verwendet wird, weisen Sie jeder Instanz eine Gewichtung zu.

        Das Zuweisen der Gewichtung 0 zu einer Instanz bedeutet, dass keine neuen Verbindungen an diese Instanz weitergeleitet werden. Der vorhandene Datenverkehr wird jedoch weiterhin übertragen, solange die aktuelle Verbindung aktiv ist. Die Gewichtung 0 kann dazu beitragen, eine Instanz ordnungsgemäß herunterzufahren und aus der Servicerotation zu entfernen.

    • Klicken Sie auf Anhängen, um die Serverinstanz Ihrem Back-End-Pool zuzuordnen.

  12. Klicken Sie im Abschnitt für Front-End-Listener auf Listener erstellen und geben Sie die folgenden Informationen an, um einen Listener zu erstellen: Sie können einen oder mehrere Listener erstellen.

    • Protokoll: Das Protokoll, das zum Empfangen eingehender Anforderungen verwendet werden soll.
    • Proxy-Protokoll: Wählen Sie aus, ob der Front-End-Listener den Proxy-Protokolldatenverkehr akzeptieren soll.
    • Port: Der Empfangsport, über den Anforderungen empfangen werden.
    • Back-End-Pool: Der standardmäßige Back-End-Pool, an den dieser Listener den Datenverkehr weiterleitet.
    • Max. Verbindungen (optional): Die maximale Anzahl gleichzeitig bestehender Verbindungen, die für den Listener zulässig sind.
    • IAM-Autorisierung: Wenn HTTPS das ausgewählte Protokoll für diesen Listener ist, müssen Sie Ihre IAM-Autorisierung entweder durch eine Instanz oder Ihre CRN angeben.
    • Secrets Manager: Wenn HTTPS das ausgewählte Protokoll für diesen Listener ist, müssen Sie einen Geheimnismanager auswählen oder erstellen.
    • SSL-Zertifikat: Wenn das HTTPS-Protokoll für diesen Listener ausgewählt ist, müssen Sie ein SSL-Zertifikat auswählen. Stellen Sie sicher, dass die Lastausgleichsfunktion berechtigt ist, auf das SSL-Zertifikat zuzugreifen.
    • Zeitlimit (Sekunden) (optional): Das maximale Zeitlimit, nach dem die Lastausgleichsfunktion die Verbindung schließt, wenn bis zum Ablauf des Inaktivitätszeitlimits keine Daten gesendet oder empfangen wurden. Die Mindest- und Höchstwerte für die Zeitüberschreitung sind 50 Sekunden und 2 Stunden. Diese Werte gelten sowohl für den Client als auch für den Server. Um das Zeitlimit auf mehr als 2 Stunden zu erhöhen, erstellen Sie einen Support-Fall, in dem Sie die geschäftlichen Anforderungen für den gewünschten Zeitlimitwert angeben.
  13. Klicken Sie auf Erstellen, um den Front-End-Listener zu erstellen.

  14. Wählen Sie im Abschnitt 'Sicherheitsgruppen' aus, welche Sicherheitsgruppen Ihrer Lastausgleichsfunktion zugeordnet werden sollen, oder klicken Sie auf Erstellen, um eine neue Sicherheitsgruppe zu erstellen, die Ihrer ALB zugeordnet werden soll.

    Vergewissern Sie sich, dass die Sicherheitsgruppe den Datenverkehr der Lastausgleichsfunktion (Ports für Listener, Back-End und Statusprüfung) zulässt. Wenn Sie keine Sicherheitsgruppe angeben, wird stattdessen die Standardsicherheitsgruppe von Ihrer VPC angehängt.

  15. Nachdem Sie das Erstellen von Pools und Listenern abgeschlossen haben, klicken Sie auf Lastausgleichsfunktion erstellen.

  16. Um Details zu einer vorhandenen Lastausgleichsfunktion anzuzeigen, klicken Sie auf den Namen der gewünschten Lastausgleichsfunktion auf der Seite Lastausgleichsfunktionen.

  17. Optional können Sie ein Backup für jeden Ihrer vorhandenen Pools erstellen. Dies ermöglicht es dem Backup-Pool, den Datenverkehr zu verwalten, wenn ein Mitglied ausfällt. Zu diesem Zweck müssen Sie eine ausfallsichere Richtlinie erstellen:

    • Nur bei Application Load Balancern ist es möglich, mehr als einen Pool mit einem einzigen Listener zu verknüpfen.

    • Stellen Sie sicher, dass mindestens ein Pool bereits im Load Balancer vorhanden ist.

      Ein Listener ist die übergeordnete Ressource in einem Load Balancer. Sie können Pools direkt mit einem Hörer verknüpfen (indem Sie ihn als default_pool festlegen) oder indirekt (indem Sie ihn über den failsafe_policy.target eines anderen Pools referenzieren). Der indirekt referenzierte Pool muss bereits mit dem Hörer verbunden sein.

    • Nachdem der Status Ihres Lastverteilers auf "Aktiv" geändert wurde, wählen Sie die Registerkarte "Back-End-Pools" aus.

    • Klicken Sie auf der Seite mit der Liste der Pools auf „Bearbeiten“ und geben Sie anschließend die folgenden Informationen ein:

      • Aktion: Wählen Sie Weiterleiten, um die ausfallsichere Richtlinie zu konfigurieren. Dadurch wird der Verkehr an einen Backup-Pool weitergeleitet, wenn Mitglieder ausfallen, und der Zielbereich wird aktiv.
      • Ziel: Wählen Sie einen Pool aus der Liste der kompatiblen Pools als Backup-Pool aus.
  18. Wenn Sie den Datenverkehr von einem HTTP-Listener an einen HTTPS-Listener umleiten möchten, können Sie einen HTTP-Listener mit HTTPS-Umleitungseinstellungen erstellen.

    Richtlinien für den Layer-7-Lastausgleich überschreiben die hier definierten Einstellungen. Beachten Sie außerdem, dass bereits ein Listener unter HTTPS vorhanden sein muss, bevor Sie einen neuen Listener unter HTTP mit einer Weiterleitung auf HTTPS erstellen können.

    Um dies zu tun:

    • Nachdem sich der Status der Lastausgleichsfunktion in Aktiv geändert hat, klicken Sie auf die Registerkarte Front-End-Listener.
    • Klicken Sie auf der Listenseite der Listener auf Erstellen und geben Sie dann die folgenden Informationen an:
      • Protokoll: Wählen Sie HTTP als Protokoll.
      • Port: Wählen Sie den Empfangsport aus, an dem Anforderungen empfangen werden.
      • Maximale Anzahl Verbindungen (optional): Definieren Sie die maximale Anzahl gleichzeitiger Verbindungen, die vom Listener zugelassen werden.
      • HTTPS-Umleitung: Klicken Sie auf die Umschaltfläche, um die Konfiguration für die HTTPS-Umleitung zu aktivieren, und geben Sie anschließend die folgenden Einstellungen für die HTTPS-Umleitung an:
        • HTTPS hörer: Der Ziel-Listener HTTPS, an den der vom aktuellen HTTP Listener eingehende Datenverkehr umgeleitet wird. Beachten Sie, dass Sie nur eine Liste der „ HTTPS “-Listener sehen, deren Wert für „ accept_proxy_protocol “ mit dem des „ HTTP “-Listeners übereinstimmt.
        • Umleitungs-URI (optional): Die URL, an die die Anforderung umgeleitet wird.
        • Statuscode: Der Statuscode der Antwort, die von der Lastausgleichsfunktion zurückgegeben wurde.
  19. Wenn ein bestimmter Teil des eingehenden Datenverkehrs für einen HTTP- oder HTTPS-Front-End-Listener nach bestimmten Kriterien umgeleitet, weitergeleitet oder abgelehnt werden soll, konfigurieren Sie entsprechende Layer 7-Richtlinien.

    • Nachdem der Status der Lastausgleichsfunktion in Aktiv geändert wurde, klicken Sie im Navigationsbereich auf Front-End-Listener und anschließend auf den Wert für den von Ihnen erstellten Listener in der Spalte Richtlinien.
    • Klicken Sie auf der Seite 'Richtlinien' auf Richtlinie hinzufügen und geben Sie die folgenden Informationen an, um eine Richtlinie zu erstellen. Sie können mehrere Richtlinien erstellen.
      • Name:Geben Sie einen Namen für die Richtlinie an (z. B. my-policy). Der Name muss innerhalb des Listeners eindeutig sein.
      • Aktion: Die Aktion, die ausgeführt werden soll, wenn alle Regeln für die Richtlinie erfüllt sind. Sie können eine Anforderung mit einer Antwort des Typs 403 ablehnen, die Anforderung an eine konfigurierte URL und einen Antwortcode umleiten, den Dateverkehr von einem HTTP-Listener umleiten oder die Anforderung an einen bestimmten Back-End-Pool weiterleiten. Wenn eine eingehende Anforderung keine Regeln der vorhandenen Richtlinien erfüllt, wird die Anforderung zum standardmäßigen Back-End-Pool des Listeners weitergeleitet.
      • Priorität: Innerhalb eines Aktionstyps werden die Richtlinien in aufsteigender Reihenfolge der Priorität ausgewertet. Richtlinien zum Ablehnen von Datenverkehr werden immer zuerst ausgewertet (unabhängig von ihrer Priorität). Als Nächstes werden Richtlinien zum Umleiten von Datenverkehr ausgewertet und danach die Richtlinien zum Weiterleiten von Datenverkehr.
      • Umleiten: Die URL, an die die Anforderung weitergeleitet wird, sofern die Aktion Umleiten festgelegt ist. Sie müssen entweder eine vollständige URL oder die Parameter einer URI angeben. Wenn Sie eine URL verwenden, wird der gesamte eingehende Verkehr auf diese URL umgeleitet. Bei der Verwendung von URI-Parametern können Werte aus der eingehenden Verkehrsanforderung beibehalten werden, indem die eingehenden Werte der Parameter verwendet werden. Hierzu gehören Protokoll, Port, Host, Pfad und Abfrage. Die Standardwerte der URI-Parameter entsprechen ihren ursprünglichen Eingangswerten. Um die eingehenden Werte beizubehalten, geben Sie sie als {protocol},{port},{host},{path}, Und {query}. Wenn beispielsweise der Host der eingehenden Anfrage ibm.com ist, dann ist der Standardwert {host} gleich dem eingehenden Wert ibm.com.
      • Statuscode: Der Statuscode der Antwort, die von der Lastausgleichsfunktion zurückgegeben wird, wenn die Aktion Umleiten festgelegt ist.
      • Weiterleiten: Der Back-End-Pool in Virtual Server-Instanzen, an den die Anforderung weitergeleitet wird, wenn die Aktion An Pool weiterleiten festgelegt ist.
    • Auf der Seite 'Richtlinien' können Sie auch eine HTTPS-Umleitungsrichtlinie mit der folgenden Konfiguration erstellen:
      • Name:Geben Sie einen Namen für die Richtlinie an (z. B. my-policy). Der Name muss innerhalb des Listeners eindeutig sein.
      • Aktion: Wählen Sie die Option An HTTPS umleiten aus.
      • HTTPS hörer: Der Ziel-Hörer HTTPS, an den der Verkehr vom aktuellen Hörer HTTP umgeleitet wird. Beachten Sie, dass Sie nur eine Liste der „ HTTPS “-Listener sehen, deren Wert für „ accept_proxy_proxy “ mit dem des „ HTTP “-Listeners übereinstimmt.
      • Umleitungs-URI (optional): Die URL, an die die Anforderung umgeleitet wird.
      • Statuscode: Der Statuscode der Antwort, die von der Lastausgleichsfunktion zurückgegeben wurde.
    • Klicken Sie auf der Seite 'Richtlinien' auf Regel hinzufügen für Ihre Richtlinie. Wenn Regeln für die Richtlinie vorhanden sind, klicken Sie auf den Wert in der Spalte Regeln, um weitere Regeln hinzuzufügen.
    • Klicken Sie im Fenster 'Regeln' auf Regel hinzufügen und geben Sie die folgenden Informationen an, um eine Regel zu erstellen. Wenn Sie mehrere Regeln für eine Richtlinie erstellen, wird die Richtlinie nur angewendet, wenn alle zugehörigen Regeln erfüllt sind.
      • Bedingung: Gibt die Bedingung an, die beim Auswerten einer Regel überprüft wird.
      • Typ: Der Typ der Informationen, die von der Regel ausgewertet werden sollen: der Name des Hosts, von dem die Anforderung stammt, ein HTTP-Header-Feld oder ein Pfad in der URL.
      • Wert: Der Wert, der abgeglichen werden soll.
      • Schlüssel: Der Name des HTTP-Header-Felds, das ausgewertet werden soll, wenn der Regeltyp Header angegeben ist. Geben Sie zum Abgleichen mit einem Cookie im HTTP-Header als Schlüssel den Wert Cookie ein.

Erstellen eines Anwendungs-Load-Balancers über die Befehlszeile

Das folgende Beispiel veranschaulicht die Erstellung eines „ Application Load Balancer for VPC “ (ALB) über die Befehlszeilenschnittstelle (CLI). Im folgenden Beispiel befindet sich die Instanz vor einer virtuellen VPC-Serverinstanz (ID 0716_6acdd058-4607-4463-af08-d4999d983945), auf der ein TCP-Server ausgeführt wird, der an Port 9090 empfangsbereit ist. Die Lastausgleichsfunktion verfügt über einen Front-End-Listener, was einen sicheren Zugriff auf den TCP-Server ermöglicht.

Um einen Anwendungs-Load-Balancer über die Befehlszeile zu erstellen, führen Sie die folgenden Schritte aus:

  1. Konfigurieren Sie die Umgebung der Befehlszeilenschnittstelle.

  2. Verwenden Sie das Terminal, um sich mithilfe der Befehlszeilenschnittstelle an Ihrem Konto anzumelden. Nach dem Eingeben des Kennworts werden Sie vom System aufgefordert, das Konto und die Region anzugeben:

    ibmcloud login --sso
    
  3. Erstellen Sie eine Lastausgleichsfunktion:

    ibmcloud is load-balancer-create alb-test public --subnet 0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c --family application
    

    Beispielausgabe:

    ibmcloud is load-balancer-create my-lb public --subnet my-subnet
    Creating load balancer my-lb under account vpcdemo as user test@ibm.com..
    
    ID                                 r026-ec6717fa-aa6c-46c4-94ff-4ccd193ee423   
    Name                               my-lb   
    CRN                                crn:v1:bluemix:public:is:au-syd:a/7f75c7b025e54bc5635f754b2f888665::load-balancer:r026-ec6717fa-aa6c-46c4-94ff-4ccd193ee423   
    Family                             application   
    Host name                          ec6717fa-au-syd.lb.appdomain.cloud   
    Subnets                            ID                                          Name      
                                    02h7-16f74a61-b586-4143-92df-dbc4a047bd5c   my-subnet      
    
    Public IPs                            
    Private IPs                           
    Provision status                   create_pending   
    Operating status                   offline   
    Is public                          true   
    Is private path                    false   
    Listeners                             
    Pools                              ID   Name      
    
    Resource group                     ID                                 Name      
                                    bdd96715c2a44f2bb60df4ff14a543f5   -      
    
    Created                            2026-05-26T14:47:06+05:30   
    Availability                       subnet   
    Instance Group Supported           true   
    SourceIP Session Supported         true   
    Security groups supported          true   
    UDP Supported                      false   
    Failsafe policy actions            fail,drop,forward   
    Access mode                        public   
    Advanced Health Checks Supported   true   
    FQDN Pool Members Supported        true     
    
  4. Erstellen Sie einen Pool:

    ibmcloud is load-balancer-pool-create alb-pool r134-1b3d2967-d395-4023-8705-829454081e23  weighted_round_robin tcp 10  --failsafe-policy-action forward --failsafe-policy-target pool2
    

    Beispielausgabe:

    Creating pool alb-pool of load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776  under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                         r006-3b66d605-6aa5-4166-9f66-b16054da3cb0
    Name                       alb-pool
    Protocol                   tcp
    Algorithm                  weighted_round_robin
    Instance group             ID   Name
                               -    -
    
    Health monitor             Type   Port   Health monitor URL   Delay   Retries   Timeout
                               http   8080   /                    10      2         5
    
    Failsafe policy            Action    Target ID                                   Target name   Healthy Member Threshold Count
                               forward   r006-815e16e7-8729-4d9e-9203-936a6b615ee1   pool2         0
    
    Session persistence type   source_ip
    Members
    Provision status           active
    Created                    2020-08-27T14:45:42.038-05:00
    
  5. Mitglied erstellen:

    ibmcloud is load-balancer-pool-member-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 9090 0716_6acdd058-4607-4463-af08-d4999d983945 --weight 70
    

    Beispielausgabe:

    Creating member of pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                 r006-61f8b000-a90d-4abe-909e-c507dffec565
    Port               9090
    Target             0716_6acdd058-4607-4463-af08-d4999d983945
    Weight             70
    Health             unknown
    Created            2020-08-27T14:59:55.446-05:00
    Provision status   create_pending
    
  6. Listener erstellen:

    $ibmcloud is load-balancer-listener-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 7070 tcp --default-pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 -idle-connection-timeout 30
    

    Beispielausgabe:

    $ibmcloud is load-balancer-listener-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 7070 tcp --default-pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 -idle-connection-timeout 30
    
    Sample output:
    Creating listener of load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 under account IBM Cloud Network Services as user test@ibm.com...
    ID                      r006-2847a948-f9b6-4fc1-91c6-f1c49dac3eba
    Certificate instance    -
    Connection limit        -
    Idle connection timeout 30
    Port                    7070
    Protocol                tcp
    Default pool            r006-3b66d605-6aa5-4166-9f66-b16054da3cb0
    Provision status        create_pending
    Created                 2020-08-27T15:16:08.643-05:00
    

    Weitere Optionen finden Sie in der VPC CLI-Referenz für Load Balancer.

  7. Erstellen Sie eine Richtlinie:

    ibmcloud is load-balancer-listener-policy-create 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 --action redirect --priority 2 --target-http-status-code 301 --target-url "https://{host}:443/{path}"
    

    Beispielausgabe:

    Creating policy of load balancer listener 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                      r006-4847a949-f9b6-4fc1-71c6-d1c49dac3ebc
    Action                  redirect
    Priority                2
    Http status code        301
    Target Url              https://{host}:443/{path}
    Provision status        create_pending
    Created                 2024-04-23T15:16:08.643-05:00
    
  8. Rufen Sie die Details zur Lastausgleichsfunktion ab:

    ibmcloud is load-balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    

    Beispielausgabe:

    Getting load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                 r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    Name               alb-test
    CRN                crn:v1:public:is:us-south-1:a/123456::load-balancer:r006-99b5ab45-6357-42db-8b32-5d2c8aa62776
    Family             Application
    Host name          99b5ab45-us-south.lb.test.appdomain.cloud
    Subnets            ID                                          Name
                       0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c   alb-subnet
    
    Public IPs         150.238.50.78, 150.238.54.95
    Private IPs        10.240.0.58, 10.240.0.59
    Provision status   active
    Operating status   online
    Is public          true
    Listeners          r006-2847a948-f9b6-4fc1-91c6-f1c49dac3eba
    Pools              ID                                          Name
                       r006-3b66d605-6aa5-4166-9f66-b16054da3cb0   alb-pool
    
    Resource group     ID                                 Name
                       3021f90279574ce287dd5fba82c08899   Default
    
    Created            2020-08-27T14:34:34.732-05:00
    

Erstellen eines Anwendungs-Load-Balancers über die API

Das folgende Beispiel veranschaulicht die Verwendung der API zum Erstellen einer Lastausgleichsfunktion für Anwendungen vor zwei virtuellen VPC-Serverinstanzen (192.168.100.5 und 192.168.100.6), auf denen Webanwendung ausgeführt wird, die am Port 80 empfangsbereit ist. Die Lastausgleichsfunktion verfügt über einen Front-End-Listener, die den sicheren Zugriff über HTTPS auf die Webanwendung ermöglicht.

Im Beispiel werden die vorausgesetzten Schritte für die Verwendung der API zum Bereitstellen einer VPC-Instanz, von Teilnetzen und Instanzen übersprungen.

Um einen Anwendungs-Load-Balancer über die API zu erstellen, führen Sie die folgenden Schritte aus:

  1. Richten Sie die API-Umgebung ein.

  2. Speichern Sie die folgenden Werte in Variablen, damit diese im API-Befehl verwendet werden können:

    • ResourceGroupId – Rufen Sie zuerst Ihre Ressourcengruppe ab und belegen Sie dann die Variable mit einem Wert:
    export ResourceGroupId=<your_resourcegroup_id>
    

    Sie können die ID Ihrer Ressourcengruppe auch über die Konsole IBM Cloud ermitteln. Öffnen Sie in Ihrem Browser die „ IBM Cloud “-Konsole und melden Sie sich bei Ihrem Konto an. Wählen Sie Verwalten > Konto > Ressourcengruppen.

  3. Erstellen Sie einen Load Balancer mit einem Listener, einem Pool und angeschlossenen Serverinstanzen (Poolmitgliedern) mit dem folgenden Beispielcode:

    curl -H "Authorization: Bearer $iam_token" -X POST
    "$vpc_api_endpoint/v1/load_balancers?version=$api_version&generation=2" \
      -d @alb_create_payload.json
      Where alb_create_payload.json has the following content:
      '{
          "name": "example-balancer",
          "is_public": true,
          "listeners": [
              {
                  "certificate_instance": {
                      "crn": "crn:v1:bluemix:public:cloudcerts:us-south:a/123456:b8877ea4-b8eg-467e-912a-da1eb7f031cg:certificate:43219c4c97d013fb2a95b21dddde1234"
                  },
                  "port": 443,
                  "protocol": "https",
                  "idle_connection_timeout" : 80,
                  "default_pool": {
                      "name": "example-pool"
                  }
              }
          ],
          "pools": [
              {
                  "algorithm": "round_robin",
                  "health_monitor": {
                      "delay": 5,
                      "max_retries": 2,
                      "timeout": 2,
                      "type": "tcp",
                      "url_path": "/"
                  },
                  "name": "example-pool",
                  "protocol": "tcp",
                  "session_persistence": {
                      "cookie_name": "string",
                      "type": "source_ip"
                  },
                  "members": [
                      {
                          "port": 80,
                          "target": {
                              "address": "192.168.100.5"
                          },
                          "weight": 50
                      },
                      {
                          "port": 80,
                          "target": {
                              "address": "192.168.100.6"
                          },
                          "weight": 50
                      }
                  ]
              }
          ],
          "subnets": [
              {
                  "id": "7ec87131-1c7e-4990-b4f0-a26f2e61f98e"
              }
          ]
          }'
    

    Weitere Optionen finden Sie in der VPC-API-Referenz für Lastverteiler.

    Beispielausgabe:

    {
        "created_at": "2018-07-12T23:17:07.5985381Z",
        "crn": "crn:v1:bluemix:public:is:us-south:a/123456::load-balancer:dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
        "hostname": "ac34687d.lb.appdomain.cloud",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
        "id": "0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
        "is_public": true,
        "profile": {
            "name": "network-fixed"
        },
        "listeners": [
            {
                "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/70294e14-4e61-11e8-bcf4-0242ac110004"
            }
        ],
        "name": "example-balancer",
        "operating_status": "offline",
        "pools": [
            {
                "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/70294e14-4e61-11e8-bcf4-0242ac110004",
                "name": "example-pool"
            }
        ],
        "provisioning_status": "create_pending",
        "resource_group": {
            "id": "56969d60-43e9-465c-883c-b9f7363e78e8"
        },
        "subnets": [
            {
                "id": "0738-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
                "name": "example-subnet"
            }
        ]
    }
    

    Speichern Sie die ID der Lastausgleichsfunktion für die Verwendung in den nachfolgenden Schritten. Speichern Sie die ID zum Beispiel in der Variablen lbid.

    lbid=0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727
    
  4. Rufen Sie die Details zur Lastausgleichsfunktion ab:

    curl -H "Authorization: Bearer $iam_token" -X GET "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$api_version&generation=2"
    

    Kalkulieren Sie etwas Zeit für die Bereitstellung ein. Sobald die Lastausgleichsfunktion bereitgestellt ist, wird sie in den Status online und active versetzt, wie in der folgenden Beispielausgabe dargestellt.

    {
      "id": "0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
      "crn": "crn:v1:bluemix:public:is:us-south:a/123456::load-balancer:dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
      "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727",
      "name": "example-balancer",
      "created_at": "2018-07-13T22:22:24.489Z",
      "hostname": "dd754295-e9e0-4c9d-bf6c-58fbc59e5727.lb.appdomain.cloud",
      "is_public": true,
      "profile": {
            "name": "network-fixed"
      },
      "listeners": [
        {
          "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
           "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/70294e14-4e61-11e8-bcf4-0242ac110004"
        }
      ],
      "operating_status": "online",
      "pools": [
        {
          "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004",
          "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/70294e14-4e61-11e8-bcf4-0242ac110004",
          "name": "example-pool"
        }
      ],
      "private_ips": [
        {
          "address": "192.168.10.5"
        },
        {
          "address": "192.168.10.6"
        }
      ],
      "provisioning_status": "active",
      "public_ips": [
        {
            "address": "169.11.111.115"
        },
        {
            "address": "169.11.111.116"
        }
      ],
      "resource_group": {
        "id": "0738-56969d60-43e9-465c-883c-b9f7363e78e8"
      },
      "subnets": [
        {
          "id": "0738-7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
          "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e",
          "name": "example-subnet"
        }
      ]
    }