Création d'un équilibreur de charge de réseau Private Path
Vous pouvez utiliser un équilibreur de charge de réseau (NLB) de chemin privé uniquement avec un service de chemin privé. Créez le chemin privé NLB à partir de la page Load Balancers for VPC ou dans le cadre du processus de provisionnement du service Private Path. Vous pouvez créer un équilibreur de charge réseau Private Path à l'aide de la console, de l'interface de programmation, de l'API ou de Terraform.
Private Path permet aux fournisseurs de services d'activer et de gérer une connectivité privée pour les consommateurs de leur service hébergé. Le service Private Path nécessite un Private Path NLB pour établir une connexion sécurisée avec la passerelle Virtual Private Endpoint (VPE) de chaque consommateur. Pour plus d'informations, voir A propos des services de chemin privé.
Chemin privé Les NLB prennent en charge la fonction de plage de ports. Actuellement, tous les VPE connectés à un chemin privé NLB peuvent se connecter à n'importe quel port de la plage. Pour plus d'informations, voir Configuration des plages de ports de l'équilibreur de charge du réseau public.
Avant de commencer
Vérifiez les conditions suivantes pour vous assurer que votre NLB à chemin privé est correctement configuré :
- Si vous ne disposez pas d'un VPC, créez-en un dans la même région que celle où vous souhaitez créer votre NLB Private Path. Utilisez la même région VPC pour le Private Path NLB et le service Private Path.
- Créez vos instances de serveurs virtuels avant de créer un chemin privé NLB. Cela permet de s'assurer qu'il est pleinement opérationnel.
- Assurez-vous que le VPC que vous avez sélectionné comporte au moins un sous-réseau.
Vous pouvez créer un équilibreur de charge réseau Private Path à l'aide de la console, de l'interface de programmation, de l'API ou de Terraform.
Création d'un équilibreur de charge réseau Private Path dans la console
Pour créer et configurer un « Network Load Balancer for VPC » dans la console IBM Cloud, procédez comme suit :
-
Dans votre navigateur, ouvrez la console IBM Cloud et connectez-vous à votre compte.
-
Sélectionnez l'
du menu Navigation, puis cliquez sur l'icône Infrastructure
> Réseau > Équilibreurs de charge.
-
Cliquez sur Créer dans l'angle supérieur droit de la page.
-
Pour le type d'équilibreur de charge, sélectionnez la vignette Equilibreur de charge de réseau (NLB).
-
Dans la section Emplacement, modifiez les zones suivantes, si nécessaire.
- Géographie: zone géographique dans laquelle vous souhaitez créer l'équilibreur de charge.
- Région: région dans laquelle vous souhaitez créer l'équilibreur de charge.
-
Dans la section Détails, indiquez les informations suivantes :
- Nom: saisissez un nom pour l'équilibreur de charge, par exemple
private-path-load-balancer. - Groupe de ressources : sélectionnez un groupe de ressources pour l'équilibreur de charge.
- Mots-clés: (Facultatif) Ajoutez des mots-clés pour vous aider à organiser et à retrouver vos ressources. Vous pourrez ajouter d'autres balises ultérieurement. Pour plus d'informations, voir Utilisation d'étiquettes.
- Balises de gestion des accès: (Facultatif) Ajoutez des balises de gestion des accès aux ressources pour faciliter l'organisation des relations de contrôle d'accès.
key:valueest le seul format pris en charge pour les étiquettes de gestion des accès. Pour plus d'informations, voir Contrôle de l'accès aux ressources à l'aide d'étiquettes. - Cloud privé virtuel: sélectionnez le cloud privé virtuel dans lequel vous souhaitez déployer l'équilibreur de charge.
- Sous-réseau: sélectionnez un sous-réseau.
- Type: Sélectionnez Private Path.
- Nom: saisissez un nom pour l'équilibreur de charge, par exemple
-
Dans la section Pools de back-end, cliquez sur Créer un pool, spécifiez les informations suivantes, puis cliquez sur Créer. Vous pouvez créer un ou plusieurs pools.
-
Saisissez un nom unique pour le pool, par exemple «
private-path-pool». -
Sélectionnez un protocole pour vos instances dans ce pool. Le protocole du pool doit correspondre au protocole de son écouteur associé. Par exemple, si l'écouteur est TCP, le protocole du pool doit être TCP.
-
Sélectionnez la méthode, qui est l'algorithme d'équilibrage de charge, parmi les options suivantes.
- Permutation circulaire : réacheminez les demandes vers chaque instance, à tour de rôle. Toutes les instances reçoivent approximativement un nombre égal de connexions client.
- Permutation circulaire pondérée : réacheminez les demandes vers chaque instance proportionnellement au poids qui lui est affecté. Par exemple, si vous disposez des instances A, B et C et que leurs poids respectifs sont 60, 60 et 30, les instances A et B reçoivent un nombre égal de connexions client et l'instance C reçoit la moitié de ce nombre.
-
Choisissez le maintien de la session et sélectionnez Aucun.
-
Entrez les options de diagnostic d'intégrité suivantes:
-
Chemin d'accès au contrôle d'intégrité- Le chemin d'accès au contrôle d'intégrité ne s'applique que si vous sélectionnez « HTTP » comme protocole de contrôle d'intégrité. Le chemin du diagnostic d'intégrité indique l'URL utilisée par l'équilibreur de charge pour envoyer des demandes de diagnostic d'intégrité HTTP aux instances du pool. Par défaut, les contrôles d'intégrité sont envoyés à la racine (
/). -
Protocole de santé : protocole utilisé par l'équilibreur de charge pour envoyer des messages de contrôle d'intégrité aux instances du pool.
-
Port de surveillance (facultatif)- Port sur lequel envoyer les requêtes de vérification de l'état de santé. Par défaut, les contrôles d'intégrité sont envoyés sur le même port que celui sur lequel le trafic est envoyé à l'instance.
-
Intervalle (sec)- Intervalle, exprimé en secondes, entre deux tentatives consécutives de vérification de l'état de santé.
-
Délai d'expiration (en secondes): durée maximale pendant laquelle le système attend une réponse à une requête de vérification de l'état de santé.
-
Nombre maximal de tentatives: nombre maximal de tentatives de vérification de l'état qu'effectue l'équilibreur de charge avant de déclarer une instance comme défaillante. Par défaut, une instance n'est plus considérée comme étant en bonne santé après deux échecs de contrôle d'intégrité.
Bien que l'équilibreur de charge arrête d'envoyer des connexions aux instances en mauvaise santé, il continue de surveiller la santé de ces instances et les réutilise dès qu'elles sont à nouveau considérées comme étant en bonne santé (après deux tentatives de contrôle d'intégrité consécutives satisfaisantes).
Si les instances du pool ne sont pas opérationnelles et que vous pensez que votre application fonctionne correctement, vérifiez à nouveau les valeurs du protocole de santé et du chemin de santé. Vérifiez également tout groupe de sécurité associé aux instances pour vous assurer que les règles autorisent le trafic entre l'équilibreur de charge et ces instances.
-
-
-
(Facultatif) Sélectionnez « Paramètres de la requête » pour personnaliser les valeurs de la requête de vérification de l'état. Si aucune valeur n'est indiquée, les paramètres par défaut sont utilisés.
- Méthode de requête: choisissez l'une des options suivantes :
GETouPOST. Vous pouvez personnaliser les en-têtes de requête pour ces deux méthodes. Vous pouvez, si vous le souhaitez, personnaliser le corps de la requête lorsque vous utilisez la méthodePOST. - Corps de la requête: incluez le corps de la requête HTTP à utiliser pour les contrôles d'intégrité. Si aucun corps de requête n'est spécifié, les requêtes de vérification de l'état de santé n'en comporteront pas.
- En-tête d'hôte: inclure l'en-tête d'hôte pour s'assurer que la requête utilise le protocole HTTP/1.1. Sinon, le système utilise par défaut l'adresse HTTP/1.0.
- Ajouter d'autres en-têtes de requête: ajoutez un ou plusieurs en-têtes de requête supplémentaires.
- Nom de l'en-tête: pour la méthode de requête «
GET», choisissez l'une des valeurs suivantes :content-type,accept,authorization,cookie,origin,referrerouuser-agent. Pour la méthode de requête «POST», choisissez l'une des options suivantes :content-type,content-length,application-jsonouaccept-encoding. - Valeur: saisissez la valeur correspondant au nom d'en-tête indiqué.
En ce qui concerne les équilibreurs de charge du réseau de chemins privés (PPNLB), il existe un problème connu : les champs de requête et de réponse du moniteur d'intégrité ne sont pas renvoyés dans la réponse de l'API GET.
- Méthode de requête: choisissez l'une des options suivantes :
-
(Facultatif) Sélectionnez « Paramètres de réponse » pour personnaliser les valeurs de réponse du contrôle d'intégrité. Si aucune valeur n'est indiquée, les paramètres par défaut sont utilisés.
-
Corps de la réponse: saisissez le texte du corps de la réponse.
-
Code de réponse: vous pouvez indiquer plusieurs valeurs séparées par des virgules comprises entre 100 et 599. Pour définir une plage, utilisez XX. Par exemple, 2XX pour la fourchette 200-299.
HTTP envoie les données sous forme de texte clair, ce qui peut permettre leur interception et est considéré comme peu sûr. Il est recommandé d'utiliser le protocole
httpsplutôt quehttp. Pour plus d'informations, consultez la rubrique « Pourquoi le site HTTP n'est-il pas sécurisé? ».Bien que l'équilibreur de charge arrête d'envoyer des connexions aux instances en mauvaise santé, il continue de surveiller la santé de ces instances et les réutilise dès qu'elles sont à nouveau considérées comme étant en bonne santé (après deux tentatives de contrôle d'intégrité consécutives satisfaisantes).
Si des instances du pool sont en mauvaise santé et que vous pensez que votre application s'exécute correctement, vérifiez les valeurs de protocole de santé et de chemin de santé. Vérifiez également tout groupe de sécurité associé aux instances pour vous assurer que les règles autorisent le trafic entre l'équilibreur de charge et ces instances.
-
-
Vous pouvez attacher des membres à votre pool back-end dès maintenant ou après avoir créé votre Private Path NLB. Cliquez sur Attach dans la ligne de tableau de votre pool back-end. Indiquez les informations suivantes, puis cliquez sur « Joindre ».
-
Type de membre: Ajoutez des instances de serveurs virtuels, des IP réservées ou un équilibreur de charge d'application en tant que membre. Pour les instances de serveurs virtuels, attachez chaque type individuellement. Un membre IP réservé peut être lié à un serveur bare metal, à une interface primaire ou secondaire d'une instance de serveur virtuel ou à une interface de réseau virtuel.
Si vous attachez un ALB en tant que cible membre à un pool NLB Private Path, aucun autre membre ne peut être ajouté à ce pool.
-
Sous-réseau: Choisissez un sous-réseau.
-
Dans la liste des serveurs, sélectionnez les serveurs à connecter au pool de back-end. Veillez à spécifier des valeurs valides pour chaque port de serveur.
Votre équilibreur de charge Private Path offre une disponibilité régionale et résiste aux pannes de zone, même si un seul sous-réseau est sélectionné.
Il n'est pas nécessaire de créer plusieurs équilibreurs de charge Private Path ou de spécifier plus d'un seul sous-réseau pour garantir la résilience en cas de défaillance d'une zone. Votre sélection de sous-réseau n'a d'impact que sur les adresses IP associées à l'équilibreur de charge. Pour plus d'informations sur le nombre d'instances de serveurs virtuels que vous pouvez attacher à un pool back-end, voir Quotas et limites de service pour les équilibreurs de charge du réseau Private Path.
Vous pouvez modifier les membres joints en cliquant sur
dans la ligne du membre que vous souhaitez modifier dans le tableau des pools back-end. Vous pouvez également supprimer des membres
attachés en sélectionnant l'icône moins dans la ligne du membre que vous souhaitez supprimer. -
-
Dans la section Auditeurs frontaux, cliquez sur Créer, spécifiez les informations suivantes, puis cliquez sur Créer. Vous pouvez créer un ou plusieurs écouteurs.
- Pool de serveurs arrière par défaut: le pool de serveurs arrière par défaut vers lequel ce listener transfère le trafic.
- Protocole d'écoute- Protocole à utiliser pour recevoir les requêtes entrantes ( TCP ).
- Port d'écoute- Le port sur lequel les requêtes sont reçues.
-
Vérifiez le récapitulatif de votre commande, puis cliquez sur « Créer » pour valider votre commande.
Création d'un équilibreur de charge réseau Private Path à partir de l'interface de ligne de commande
L'exemple suivant illustre la création d'un chemin privé NLB à partir de l'interface de gestion. Dans cet exemple, le NLB à chemin privé est placé en amont d’une instance de serveur virtuel VPC (ID 0716_6acdd058-4607-4463-af08-d4999d983945)
exécutant un serveur TCP qui écoute sur le port 9090. L'équilibreur de charge dispose d'un écouteur de front-end, qui permet un accès sécurisé au serveur TCP.
Pour créer un chemin privé NLB à partir de l'interface de commande, procédez comme suit :
-
Configurez votre environnement d'interface de ligne de commande.
-
Connectez-vous à votre compte via l'interface CLI. Une fois le mot de passe saisi, le système vous invite à choisir le compte et la région que vous souhaitez utiliser :
ibmcloud login --sso -
Créer un NLB à chemin d'accès privé :
ibmcloud is load-balancer-create ppnlb-test private-path --subnet cli-subnet-1 --family networkExemple de sortie :
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 -
Créez un pool :
ibmcloud is load-balancer-pool-create my-pool pp-nlb-test round_robin tcp 20 2 5 httpExemple de sortie :
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 -
Créez un membre :
ibmcloud is load-balancer-pool-member-create test-ppnlb-1 test 3000 my-targetUn utilisateur peut créer un chemin privé NLB ciblant une instance de serveur virtuel, une IP réservée ou un équilibreur de charge d'application (ALB). Créez un membre avec
my-targeten tant quemy-instanceoumy-alb.Exemple de sortie :
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 -
Créez un programme d'écoute :
ibmcloud is load-balancer-listener-create ppnlb-test --port-min 443 --protocol tcpExemple de sortie :
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 -
Extrayez les détails de votre équilibreur de charge :
ibmcloud is load-balancer ppnlb-testExemple de sortie :
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
Création d'un équilibreur de charge réseau à l'aide de l'API
L'exemple suivant illustre la création d'un chemin privé NLB avec l'API. L'équilibreur de charge de réseau détaillé ici se trouve devant deux instances de serveur virtuel VPC (192.168.100.5 et 192.168.100.6) exécutant
une application Web qui écoute sur le port 80. Elle dispose d'un écouteur frontal qui permet un accès sécurisé à l'application web via HTTPS.
Cet exemple ne couvre pas les étapes préalables à l'utilisation de l'API pour provisionner un VPC, des sous-réseaux et des instances.
Pour créer un chemin privé NLB avec l'API, procédez comme suit :
-
Configurez votre environnement d'API.
-
Stockez les valeurs suivantes dans les variables destinées à être utilisées dans la commande d'API :
subnetId-D'abord, obtenez votre sous-réseau, puis renseignez la variable:
export subnetId=<your_subnet_id>targetId- Deuxièmement, obtenez l'instance de serveur virtuel, l'IP réservée ou l'équilibreur de charge d'application (ALB) qui se trouve dans le même VPC que le sous-réseau :
export targetId=<your_target_id> -
Créer un NLB « Private Path » avec un écouteur, un pool et des instances de serveur associées (membres du pool):
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" } }'Exemple de sortie :
{ "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 }Enregistrez l'ID de l'équilibreur de charge pour l'utiliser dans les étapes suivantes. Sauvegardez-le, par exemple, dans la variable
lbid.lbid=0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727 -
Obtenir des informations sur l'équilibreur de charge Private Path :
curl -H "Authorization: Bearer $iam_token" -X GET "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$api_version&generation=2"Prévoir un délai pour l'approvisionnement. Quand l'équilibreur de charge est prêt, son statut est défini à
onlineetactive, comme illustré dans la sortie exemple suivante :{ "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 }
Création d'un équilibreur de charge réseau Private Path avec Terraform
L'exemple suivant crée un équilibreur de charge réseau Private Path avec Terraform :
-
Créer un NLB à chemin d'accès privé :
resource "ibm_is_lb" "example_ppnlb" { name = "example-ppnlb" subnets = [ibm_is_subnet.example_subnet.id] profile = "network-private-path" type = "private_path" } -
En option, créez un pool pour votre Private Path NLB :
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" } -
En option, ciblez un ALB ou un ID d'instance de serveur virtuel en tant que membre du pool pour votre Private Path NLB :
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] } -
En option, ciblez une IP réservée comme membre du pool pour votre Private Path NLB :
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 }
Pour consulter la documentation relative aux ressources Terraform, rendez-vous sur le Terraform Registry.