Einrichten eines Private Path-Netzwerk-Load-Balancers
Sie können eine Netzlastausgleichsfunktion für private Pfade (NLB) nur mit einem Service für private Pfade verwenden. Erstellen Sie den Private Path NLB auf der Seite Load Balancers for VPC oder als Teil des Private Path Service Provisioning-Prozesses. Sie können einen Private Path Network Load Balancer über die Konsole, CLI, API oder Terraform erstellen.
Private Path ermöglicht es Dienstanbietern, private Konnektivität für die Nutzer ihres gehosteten Dienstes zu aktivieren und zu verwalten. Der Privatpfaddienst erfordert einen Privatpfad-NLB, um eine sichere Verbindung mit dem Virtual Private Endpoint (VPE)-Gateway eines jeden Kunden herzustellen. Weitere Informationen finden Sie unter Informationen zu privaten Pfadservices.
NLBs mit privatem Pfad unterstützen die Funktion des Portbereichs. Gegenwärtig können alle an einen NLB mit privatem Pfad angeschlossenen VPEs eine Verbindung zu einem beliebigen Anschluss in diesem Bereich herstellen. Weitere Informationen finden Sie unter Einstellen der Portbereiche für den Load Balancer des öffentlichen Netzwerks.
Vorbereitende Schritte
Überprüfen Sie die folgenden Anforderungen, um sicherzustellen, dass Ihr Private Path NLB ordnungsgemäß konfiguriert ist:
- Falls Sie noch keine VPC haben, richten Sie eine in derselben Region ein, in der Sie Ihren Private Path NLB erstellen möchten. Verwenden Sie dieselbe VPC-Region für den Service „Private Path NLB“ und „Private Path“'.
- Erstellen Sie Ihre virtuellen Serverinstanzen, bevor Sie einen Private Path NLB erstellen. Dadurch wird sichergestellt, dass es voll funktionsfähig ist.
- Stellen Sie sicher, dass Ihre ausgewählte VPC mindestens ein Subnetz enthält.
Sie können einen Private Path Network Load Balancer über die Konsole, CLI, API oder Terraform erstellen.
Erstellen eines Private Path Network Load Balancer in der Konsole
Um „ Network Load Balancer for VPC “ in der „ IBM Cloud “-Konsole zu erstellen und zu konfigurieren, führen Sie die folgenden Schritte aus:
-
Öffnen Sie im Browser die IBM Cloud-Konsole und melden Sie sich bei Ihrem Konto an.
-
Wählen Sie das Navigationsmenü „
und klicken Sie dann auf das Symbol „Infrastruktur
> „Netzwerk“ > „Lastenausgleich“.
-
Klicken Sie in der rechten oberen Ecke der Seite auf Erstellen.
-
Wählen Sie als Typ der Lastausgleichsfunktion die Kachel Netzlastausgleichsfunktion aus.
-
Bearbeiten Sie im Abschnitt 'Position' bei Bedarf die folgenden Felder.
- Geografie: Die Geografie, in der Sie die Lastausgleichsfunktion erstellen wollen
- Region: Die Region, in der Sie die Lastausgleichsfunktion erstellen wollen
-
Geben Sie im Abschnitt 'Details' die folgenden Informationen an:
- Name: Geben Sie einen Namen für den Load Balancer ein, z. B. „
private-path-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. - Virtuelle private Cloud: Wählen Sie die VPC aus, auf der Sie die Lastausgleichsfunktion bereitstellen möchten.
- Subnetz: Wählen Sie ein Subnetz aus.
- Typ: Wählen Sie Privater Pfad.
- Name: Geben Sie einen Namen für den Load Balancer ein, z. B. „
-
Klicken Sie im Abschnitt Backend-Pools auf Pool erstellen, geben Sie die folgenden Informationen an und klicken Sie dann auf Erstellen. Sie können einen oder mehrere Pools erstellen.
-
Geben Sie einen eindeutigen Namen für den Pool ein, z. B. „
private-path-pool“. -
Wählen Sie ein Protokoll für Ihre Instanzen in diesem Pool aus. Das Protokoll für den Pool muss mit dem Protokoll für den zugehörigen Listener übereinstimmen. Wenn es sich bei dem Listener beispielsweise um TCP handelt, muss das Protokoll des Pools 'TCP' sein.
-
Wählen Sie aus den folgenden Optionen die Methode aus, bei der es sich um den Lastausgleichsalgorithmus handelt.
- 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. Wenn Sie beispielsweise über die Instanzen A, B und C verfügen und ihre Gewichtungen auf 60, 60 und 30 gesetzt sind, erhalten die Instanzen A und B eine gleiche Anzahl von Verbindungen und die Instanz C erhält halb so viele Verbindungen.
-
Wählen Sie Session Stickiness und dann None aus.
-
Geben Sie die folgenden Statusprüfungsoptionen ein:
-
Pfad für den Zustandscheck – Der Pfad für den Zustandscheck ist nur dann relevant, wenn Sie „ HTTP “ als Protokoll für den Zustandscheck auswählen. 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.) – Das Intervall in Sekunden zwischen zwei aufeinanderfolgenden Versuchen eines Zustandschecks.
-
Timeout (Sek.) – Die maximale Zeit, die das System auf eine Antwort auf eine Zustandsprüfungsanfrage wartet.
-
Maximale Anzahl von Wiederholungsversuchen – Die maximale Anzahl von Zustandsprüfungsversuchen, die der Load Balancer durchführt, bevor eine Instanz als fehlerhaft eingestuft wird. Standardmäßig wird für eine Instanz nach zwei fehlgeschlagenen Statusprüfungen ein nicht einwandfreier Zustand attestiert.
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 einen fehlerhaften Zustand aufweisen und Sie davon ausgehen, dass Ihre Anwendung ordnungsgemäß funktioniert, überprüfen Sie noch einmal die Werte für das Health-Protokoll und den Health-Pfad. 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.
-
-
-
(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:
GEToderPOST. 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.
- Anfragemethode: Wählen Sie eine der folgenden Optionen:
-
(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
httpsanstelle vonhttpempfohlen. 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.
-
-
Sie können Ihrem Back-End-Pool jetzt oder nach der Erstellung Ihres Private Path NLB Mitglieder hinzufügen. Klicken Sie auf Anhängen in der Tabellenzeile Ihres Backend-Pools. Geben Sie die folgenden Informationen ein und klicken Sie anschließend auf „ Anhängen “.
-
Mitgliedstyp: Fügen Sie virtuelle Serverinstanzen, reservierte IPs oder einen Application Load Balancer als Mitglied hinzu. Bei virtuellen Serverinstanzen fügen Sie jeden Typ einzeln hinzu. Ein reserviertes IP-Mitglied kann an einen Bare Metal Server, eine primäre oder sekundäre Schnittstelle einer virtuellen Serverinstanz oder eine virtuelle Netzwerkschnittstelle gebunden sein.
Wenn Sie einen ALB als Mitgliedsziel an einen NLB-Pool mit privatem Pfad anhängen, können keine weiteren Mitglieder zu diesem Pool hinzugefügt werden.
-
Teilnetz: Wählen Sie ein Teilnetz aus.
-
Wählen Sie in der Serverliste die Server aus, die Sie dem Back-End-Pool zuordnen möchten. Stellen Sie sicher, dass Sie gültige Werte für jeden Server-Port angeben.
Ihr „Private Path“-Load-Balancer bietet regionale Verfügbarkeit und ist gegenüber Zonenausfällen widerstandsfähig, selbst wenn nur ein einziges Subnetz ausgewählt ist.
Sie müssen nicht mehrere Private Path Load Balancer erstellen oder mehr als ein einzelnes Subnetz angeben, um die Ausfallsicherheit einer Zone zu gewährleisten. Die Auswahl des Subnetzes wirkt sich nur auf die IP-Adressen aus, die mit dem Load Balancer verbunden sind. Weitere Informationen darüber, wie viele virtuelle Serverinstanzen Sie einem Backend-Pool zuordnen können, finden Sie unter Kontingente und Service-Limits für Private Path Network Load Balancer.
Sie können beigetretene Mitglieder bearbeiten, indem Sie in der Back-End-Pools-Tabelle in der Zeile des Mitglieds, das Sie bearbeiten möchten, auf
klicken. Sie können auch
angehängte Mitglieder löschen, indem Sie das Minus-Symbol in der Zeile des Mitglieds auswählen, das Sie löschen möchten. -
-
Klicken Sie im Abschnitt "Front-End-Hörer" auf "Erstellen ", geben Sie die folgenden Informationen an und klicken Sie dann auf "Erstellen ". Sie können einen oder mehrere Listener erstellen.
- Standard-Backend-Pool – Der Standard-Backend-Pool, an den dieser Listener den Datenverkehr weiterleitet.
- Listener-Protokoll – Das Protokoll, das zum Empfangen eingehender Anfragen verwendet wird ( TCP ).
- Listening-Port – Der Port, auf dem Anfragen empfangen werden.
-
Überprüfen Sie die Bestellübersicht und klicken Sie anschließend auf „Erstellen“, um Ihre Bestellung abzuschließen.
Erstellen eines Private Path Network Load Balancer über die CLI
Das folgende Beispiel veranschaulicht die Erstellung eines Private Path NLB über die CLI. In diesem Beispiel ist der Private Path NLB vor einer virtuellen VPC-Serverinstanz (ID 0716_6acdd058-4607-4463-af08-d4999d983945) geschaltet,
auf der ein „ TCP “-Server läuft, der auf dem Port 9090 lauscht. Die Lastausgleichsfunktion verfügt über einen Front-End-Listener, was einen sicheren Zugriff auf den TCP-Server ermöglicht.
Gehen Sie folgendermaßen vor, um einen NLB mit privatem Pfad über die Befehlszeile zu erstellen:
-
Konfigurieren Sie die Umgebung der Befehlszeilenschnittstelle.
-
Melden Sie sich über die CLI bei Ihrem Konto an. Nachdem Sie das Passwort eingegeben haben, werden Sie vom System aufgefordert, das gewünschte Konto und die gewünschte Region auszuwählen:
ibmcloud login --sso -
Einen privaten Path-NLB erstellen:
ibmcloud is load-balancer-create ppnlb-test private-path --subnet cli-subnet-1 --family networkBeispielausgabe:
Creating load balancer ppnlb-test in resource group under account IBM Cloud Network Services as user test@ibm.com... ID Name ppnlb-test CRN Family Network Host name Subnets ID Name cli-subnet-2 Public IPs Reserved IPs ID Address Subnet Provision status create_pending Operating status offline Is public false Is private path true Listeners Pools ID Name my-pool Resource group ID Name Default Created 2025-01-10T15:07:53+05:30 Availability region Instance Group Supported false SourceIP Session Supported false Security groups supported false UDP Supported false Access mode private_path -
Erstellen Sie einen Pool:
ibmcloud is load-balancer-pool-create my-pool pp-nlb-test round_robin tcp 20 2 5 httpBeispielausgabe:
Creating pool my-pool of load balancer my-pool under account IBM Cloud Network Services as user test@ibm.com... ID Name my-pool Protocol tcp Algorithm round_robin Instance group ID Name - - Proxy protocol disabled Health monitor Type Port Health monitor URL Delay Retries Timeout http - / 20 2 5 Session persistence type Type Cookie name - - Members Provision status create_pending Created 2025-01-10T20:44:57+05:30 -
Mitglied erstellen:
ibmcloud is load-balancer-pool-member-create test-ppnlb-1 test 3000 my-targetEin Benutzer kann einen Private Path NLB erstellen, der auf eine virtuelle Serverinstanz, eine reservierte IP oder einen Application Load Balancer (ALB) abzielt. Erstellen Sie ein Mitglied mit
my-targetalsmy-instanceodermy-alb.Beispielausgabe:
Creating member of pool test under account IBM Cloud Network Services as user test@ibm.com... ID test Port 3000 Target 10.240.66.14 Weight 50 Health unknown Created 0001-01-01T05:53:28+05:53 Provision status create_pending -
Listener erstellen:
ibmcloud is load-balancer-listener-create ppnlb-test --port-min 443 --protocol tcpBeispielausgabe:
Creating listener of load balancer ppnlb-test under account IBM Cloud Network Services as user test@ibm.com... ID Certificate instance - Connection limit - Ports 443 Idle connection timeout - Protocol tcp Default pool - Accept proxy protocol false Provision status create_pending Created 2025-01-10T21:02:37+05:30 -
Rufen Sie die Details zur Lastausgleichsfunktion ab:
ibmcloud is load-balancer ppnlb-testBeispielausgabe:
Getting load balancer ppnlb-test under account IBM Cloud Network Services as user test@ibm.com... ID Name ppnlb-test CRN Family Network Host name Subnets ID Name nlb Public IPs Reserved IPs ID Address Subnet Provision status active Operating status online Is public false Is private path true Listeners Pools ID Name my-pool Resource group ID Name Default Created 2025-01-10T15:07:53+05:30 Availability region Instance Group Supported false SourceIP Session Supported false Security groups supported false UDP Supported false Access mode private_path
Erstellen eines Netzwerk-Load-Balancers über die API
Das folgende Beispiel veranschaulicht die Erstellung eines Private Path NLB mit der API. Die hier detaillierte NLB befindet sich vor zwei virtuellen VPC-Serverinstanzen (192.168.100.5 und 192.168.100.6), die eine Webanwendung
ausführen, die am Port 80 empfangsbereit ist. Es verfügt über einen Frontend-Listener, der den sicheren Zugriff auf die Webanwendung über HTTPS ermöglicht.
In diesem Beispiel werden die vorbereitenden Schritte zur Nutzung der API für die Bereitstellung einer VPC, von Subnetzen und Instanzen übersprungen.
Gehen Sie folgendermaßen vor, um einen NLB mit privatem Pfad mit der API zu erstellen:
-
Richten Sie die API-Umgebung ein.
-
Speichern Sie die folgenden Werte in Variablen, damit diese im API-Befehl verwendet werden können:
subnetId-Zuerst das Teilnetz abrufen und dann die Variable füllen:
export subnetId=<your_subnet_id>targetId- Zweitens: Holen Sie sich die virtuelle Serverinstanz, die reservierte IP oder den Application Load Balancer (ALB), der sich in derselben VPC befindet wie das Subnetz:
export targetId=<your_target_id> -
Erstellen Sie einen privaten Path-NLB mit einem Listener, einem Pool und zugeordneten Serverinstanzen (Pool-Mitglieder):
curl -H "Authorization: Bearer $iam_token" -X POST "$vpc_api_endpoint/v1/load_balancers?version=$api_version&generation=2" \ -d '{ "is_public": false, "is_private_path": true, "name": "my-load-balancer", "listeners": [ { "default_pool": { "name": "my-pool" }, "port_min": 80, "port_max": 80, "protocol": "tcp" } ], "subnets": [ { "id" : "$subnetId" } ], "pools": [ { "algorithm": "round_robin", "health_monitor": { "delay": 2, "max_retries": 1, "timeout": 1, "port": 80, "type": "tcp" }, "name": my-pool", "protocol": "tcp", "members" : [ { "port" : 80, "target" : {"id" : "$targetId"} } ] } ], "profile": { "name": "network-private-path" } }'Beispielausgabe:
{ "availability": "region", "created_at": "2023-09-22T21:49:26.000Z", "crn": "crn:v1:bluemix:public:is:au-syd:a/b21af5a9874242b7851e780943d595a9::load-balancer:r026-d-86b51a9e-a058-4317-beed-8ee581a1f413", "hostname": ".invalid", "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413", "id": "r026-d-86b51a9e-a058-4317-beed-8ee581a1f413", "instance_groups_supported": false, "is_private_path": true, "is_public": false, "listeners": [ { "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/listeners/r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47", "id": "r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47" } ], "logging": { "datapath": { "active": false } }, "name": "my-load-balancer", "operating_status": "offline", "pools": [ { "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/pools/r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679", "id": "r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679", "name": "my-pool" } ], "private_ips": [ { "address": "10.245.0.4", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-e21d477e-3e71-47fc-aec4-9703766cf652", "id": "02h7-e21d477e-3e71-47fc-aec4-9703766cf652", "name": "nugget-ounce-stability-vocation", "resource_type": "subnet_reserved_ip" }, { "address": "10.245.0.5", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-1910c529-dadd-4960-aba5-3c4604f99f56", "id": "02h7-1910c529-dadd-4960-aba5-3c4604f99f56", "name": "impostors-synopses-uncivic-livable", "resource_type": "subnet_reserved_ip" }, { "address": "10.245.0.6", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce", "id": "02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce", "name": "unmade-garnish-preview-defame", "resource_type": "subnet_reserved_ip" }, { "address": "10.245.0.7", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-ae009701-8301-420c-862e-a9ec1f79214c", "id": "02h7-ae009701-8301-420c-862e-a9ec1f79214c", "name": "slacking-scuttle-stonework-reptile", "resource_type": "subnet_reserved_ip" } ], "profile": { "family": "network", "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-private-path", "name": "network-private-path" }, "provisioning_status": "create_pending", "public_ips": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/297468d87ca047c5be28368e52b055ce", "id": "297468d87ca047c5be28368e52b055ce", "name": "Default" }, "resource_type": "load_balancer", "route_mode": false, "security_groups": [], "security_groups_supported": false, "source_ip_session_persistence_supported": false, "subnets": [ { "crn": "crn:v1:bluemix:public:is:au-syd-1:a/b21af5a9874242b7851e780943d595a9::subnet:02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02", "id": "02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02", "name": "my-subnet", "resource_type": "subnet" } ], "udp_supported": false }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 -
Hier finden Sie weitere Informationen zum „Private Path“-Load-Balancer:
curl -H "Authorization: Bearer $iam_token" -X GET "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$api_version&generation=2"Planen Sie Zeit für die Bereitstellung ein. Sobald die Lastausgleichsfunktion bereitgestellt ist, wird sie in den Status
onlineundactiveversetzt, wie in der folgenden Beispielausgabe dargestellt.{ "availability": "region", "created_at": "2023-09-22T21:49:26.000Z", "crn": "crn:v1:bluemix:public:is:au-syd:a/b21af5a9874242b7851e780943d595a9::load-balancer:r026-d-86b51a9e-a058-4317-beed-8ee581a1f413", "hostname": ".invalid", "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413", "id": "r026-d-86b51a9e-a058-4317-beed-8ee581a1f413", "instance_groups_supported": false, "is_private_path": true, "is_public": false, "listeners": [ { "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/listeners/r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47", "id": "r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47" } ], "logging": { "datapath": { "active": false } }, "name": "my-load-balancer", "operating_status": "only", "pools": [ { "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/pools/r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679", "id": "r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679", "name": "my-pool" } ], "private_ips": [ { "address": "10.245.0.4", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-e21d477e-3e71-47fc-aec4-9703766cf652", "id": "02h7-e21d477e-3e71-47fc-aec4-9703766cf652", "name": "nugget-ounce-stability-vocation", "resource_type": "subnet_reserved_ip" }, { "address": "10.245.0.5", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-1910c529-dadd-4960-aba5-3c4604f99f56", "id": "02h7-1910c529-dadd-4960-aba5-3c4604f99f56", "name": "impostors-synopses-uncivic-livable", "resource_type": "subnet_reserved_ip" }, { "address": "10.245.0.6", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce", "id": "02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce", "name": "unmade-garnish-preview-defame", "resource_type": "subnet_reserved_ip" }, { "address": "10.245.0.7", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-ae009701-8301-420c-862e-a9ec1f79214c", "id": "02h7-ae009701-8301-420c-862e-a9ec1f79214c", "name": "slacking-scuttle-stonework-reptile", "resource_type": "subnet_reserved_ip" } ], "profile": { "family": "network", "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-private-path", "name": "network-private-path" }, "provisioning_status": "active", "public_ips": [], "resource_group": { "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/297468d87ca047c5be28368e52b055ce", "id": "297468d87ca047c5be28368e52b055ce", "name": "Default" }, "resource_type": "load_balancer", "route_mode": false, "security_groups": [], "security_groups_supported": false, "source_ip_session_persistence_supported": false, "subnets": [ { "crn": "crn:v1:bluemix:public:is:au-syd-1:a/b21af5a9874242b7851e780943d595a9::subnet:02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02", "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02", "id": "02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02", "name": "my-subnet", "resource_type": "subnet" } ], "udp_supported": false }
Erstellen eines Private Path Network Load Balancer mit Terraform
Das folgende Beispiel erstellt einen Private Path Network Load Balancer mit Terraform:
-
Einen privaten Path-NLB erstellen:
resource "ibm_is_lb" "example_ppnlb" { name = "example-ppnlb" subnets = [ibm_is_subnet.example_subnet.id] profile = "network-private-path" type = "private_path" } -
Optional können Sie einen Pool für Ihren Private Path NLB erstellen:
resource "ibm_is_lb_pool" "example_pool" { name = "example-pool" lb = [ibm_is_lb.example_ppnlb.id] algorithm = "round_robin" protocol = "tcp" health_delay = 2 health_retries = 2 health_timeout = 1 health_type = "tcp" } -
Optional können Sie einen ALB oder eine virtuelle Serverinstanz-ID als Poolmitglied für Ihren Private Path NLB auswählen:
resource "ibm_is_lb" "example_alb" { name = "example-alb" subnets = [ibm_is_subnet.example_subnet.id] }resource "ibm_is_lb_pool_member" "example_member" { lb = [ibm_is_lb.example_ppnlb.id] pool = element(split("/", ibm_is_lb_pool.example_pool.id), 1) port = 8080 weight = 20 target_id = [ibm_is_lb.example_alb.id] } -
Optional können Sie eine reservierte IP als Poolmitglied für Ihren Privatpfad-NLB festlegen:
resource "ibm_is_subnet_reserved_ip" "example" { subnet = ibm_is_subnet.example.id }resource "ibm_is_lb_pool_member" "example" { lb = ibm_is_lb.example_ppnlb.id pool = element(split("/", ibm_is_lb_pool.example.id), 1) port = 8080 weight = 20 target_id = ibm_is_subnet_reserved_ip.example.id }
Dokumentation zu Terraform-Ressourcen finden Sie in der Terraform Registry.