Création d'un équilibreur de charge d'application
Vous pouvez créer un équilibreur de charge d'application (IBM Cloud® Application Load Balancer for VPC) pour répartir le trafic entrant entre plusieurs instances. Vous pouvez utiliser l'ALB avec des instances de serveurs virtuels, des instances de serveurs bare metal et d'autres dispositifs dont les adresses IP sont accessibles à l'équilibreur de charge, comme les instances Power Systems™ Virtual Server connectées via IBM Cloud Direct Link.
Création d'un équilibreur de charge d'application dans la console
Pour créer un équilibreur de charge d'application :
-
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.
-
Sur la page « Équilibreurs de charge pour VPC », cliquez sur « Créer ».
-
Pour le type d'équilibreur de charge, sélectionnez la vignette « Application Load Balancer (ALB) ».
-
Dans la section « Emplacement », modifiez le champ suivant, si nécessaire.
- Région : indique la région dans laquelle vous souhaitez créer l'équilibreur de charge.
-
Dans la section Détails, indiquez les informations suivantes :
-
Nom : entrez un nom pour l'équilibreur de charge, par exemple
my-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 votre cloud privé virtuel.
-
Sous-réseaux : sélectionnez les sous-réseaux sur lesquels créer votre équilibreur de charge. Pour optimiser la disponibilité de votre application, sélectionnez des sous-réseaux dans des zones différentes.
Vous ne pouvez pas affecter plus de 15 sous-réseaux par équilibreur de charge d'application.
-
Type : sélectionnez le type d'équilibreur de charge.
- Un équilibreur de charge public dispose d'une adresse IP publique, ce qui signifie qu'il peut acheminer les requêtes des clients via Internet.
- Un équilibreur de charge privé dispose d'une adresse IP privée, ce qui signifie qu'il n'est accessible qu'aux clients internes situés dans la même région et le même VPC.
-
Type de DNS: sélectionnez « Public » ou « Privé ». Les zones DNS privées ne peuvent être résolues que sur IBM Cloud, et uniquement à partir de réseaux explicitement autorisés dans un compte ou bénéficiant d'un accès inter-comptes.
Pour le type privé uniquement, cliquez sur Lier pour saisir les informations relatives à l'instance et à la zone DNS, puis cliquez sur Lier.
-
-
Dans la section « Pools de serveurs back-end », cliquez sur « Créer » et indiquez les informations suivantes pour créer un pool de serveurs back-end. Vous pouvez créer un ou plusieurs pools.
- Nom : entrez un nom pour le pool, par exemple
my-pool. - Protocole du pool: sélectionnez le protocole pour vos instances de ce pool. Le protocole du pool doit être compatible avec le protocole de l'auditeur. Pour les auditeurs HTTP ou HTTPS, utilisez HTTP comme protocole de pool. Pour les auditeurs de TCP, utilisez TCP comme protocole de pool.
- Conservation de session : indiquez si toutes les demandes émises au cours d'une session utilisateur sont envoyées à la même instance.
- Protocole proxy: sélectionnez « Désactivé » (par défaut), « Version 1 » ou « Version 2 » (versions de l'en-tête du protocole proxy). Le protocole proxy ajoute un en-tête de protocole proxy aux paquets TCP, HTTP et HTTPS envoyés au pool de serveurs back-end. Ce paramètre permet aux serveurs back-end d'obtenir les informations relatives à l'adresse IP et au port du client que l'équilibreur de charge définit dans l'en-tête du protocole proxy.
- Méthode : sélectionnez la façon dont l'équilibreur de charge doit répartir le trafic dans les instances du pool :
- Nombre minimal de connexions : réacheminez les demandes vers l'instance dont le nombre de connexions est le plus faible.
- 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, vous disposez des instances A, B et C, et leurs pondérations sont définies
sur
60,60et30. Les instances A et B reçoivent un nombre égal de connexions et l'instance C en reçoit la moitié.
- Diagnostic d'intégrité : configurez la manière dont l'équilibreur de charge vérifie l'intégrité des instances.
- Chemin du diagnostic d'intégrité : le chemin du diagnostic d'intégrité n'est applicable que si HTTP est sélectionné comme protocole de diagnostic 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 santé (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, en secondes, entre deux tentatives consécutives de vérification de l'état de santé. Par défaut, les contrôles d'intégrité sont envoyés toutes les cinq secondes.
- 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é. Par défaut, l'équilibreur de charge attend une réponse pendant 2 secondes.
- Nb max. de nouvelles tentatives : nombre maximal de tentatives de contrôle d'intégrité effectuées par l'équilibreur de charge avant qu'une instance ne soit déclarée en mauvaise santé. 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é.
- Chemin du diagnostic d'intégrité : le chemin du diagnostic d'intégrité n'est applicable que si HTTP est sélectionné comme protocole de diagnostic 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 (
- Nom : entrez un nom pour le pool, par exemple
-
(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 aucune information n'est fournie, les requêtes de vérification de l'état ne comporteront pas de corps de requête.
- 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.
-
-
Cliquez sur Créer pour créer le pool de back-end.
Vous pouvez connecter des instances de serveur après avoir créé votre pool dorsal.
-
Pour ajouter une instance de serveur au nouveau pool, cliquez sur Associer le serveur dans la colonne Instances de serveur du tableau.
-
Pour ajouter des unités VPC à votre pool, telles que des instances de serveur virtuel et des serveurs bare metal, sélectionnez l'onglet Unités VPC. Spécifiez les informations suivantes pour chaque instance :
-
Sélectionnez un ou plusieurs sous-réseaux depuis lesquels sélectionner une instance.
-
Sélectionnez une instance. Si une instance possède plusieurs interfaces, assurez-vous de sélectionner l'adresse IP appropriée.
-
Spécifiez le port sur lequel le trafic est envoyé à l'instance.
-
Si votre pool utilise la méthode Permutation circulaire pondérée, affectez un poids à chaque instance.
L'affectation du poids
0à une instance signifie qu'aucune nouvelle connexion n'est transmise à cette instance, mais que tout le trafic existant continue à circuler tant que la connexion actuelle est active. L'utilisation d'un poids0peut aider à arrêter normalement une instance et à la retirer de la rotation de service. -
Cliquez sur Configurer le port et le poids, puis indiquez le port sur lequel le trafic est envoyé à l'instance.
-
-
Pour associer d'autres instances de serveur à votre pool de back-end, telles que des serveurs contenus dans un serveur virtuel IBM Power Systems, sélectionnez l'onglet Autre, puis cliquez sur Ajouter plus. Spécifiez les informations suivantes pour chaque instance :
-
Indiquez une adresse IP privée pour l'unité.
-
Spécifiez le port sur lequel le trafic est envoyé à l'instance.
-
Si votre pool utilise la méthode Permutation circulaire pondérée, affectez un poids à chaque instance.
L'affectation du poids
0à une instance signifie qu'aucune nouvelle connexion n'est transmise à cette instance, mais que tout le trafic existant continue à circuler tant que la connexion actuelle est active. L'utilisation d'un poids0peut aider à arrêter normalement une instance et à la retirer de la rotation de service.
-
-
Cliquez sur Joindre pour connecter l'instance de serveur à votre pool de back-end.
-
-
Dans la section des programmes d'écoute de front-end, cliquez sur Créer un programme d'écoute et indiquez les informations suivantes. Vous pouvez créer un ou plusieurs écouteurs.
- Protocole : protocole à utiliser pour la réception des demandes entrantes.
- Protocole proxy: indiquez si le programme d'écoute de front-end doit accepter le trafic du protocole proxy.
- Port : port d'écoute sur lequel les demandes sont reçues.
- Pool de back-end : pool de back-end vers lequel cet écouteur réachemine le trafic.
- Nb max. de connexions (facultatif) : nombre maximal de connexions simultanées autorisées par l'écouteur.
- Autorisation IAM: Si le protocole sélectionné pour ce listener est HTTPS, vous devez indiquer votre autorisation IAM, soit par instance, soit par votre CRN.
- Secrets Manager: Si HTTPS est le protocole sélectionné pour ce récepteur, vous devez sélectionner ou créer un gestionnaire de secrets.
- Certificat SSL : si HTTPS est le protocole sélectionné pour cet écouteur, vous devez sélectionner un certificat SSL. Assurez-vous que l'équilibreur de charge est autorisé à accéder au certificat SSL.
- Délai d'attente (s) (facultatif): Délai maximal après lequel l'équilibreur de charge ferme la connexion si aucune donnée n'a été envoyée ou reçue à l'expiration du délai d'inactivité. Les valeurs minimales et maximales du délai d'attente sont de 50 secondes et de 2 heures. Ces valeurs s'appliquent à la fois au client et au serveur. Pour augmenter le délai d'attente à plus de 2 heures, créez un dossier d'assistance en indiquant les besoins de l'entreprise pour la valeur de délai d'attente requise.
-
Cliquez sur Créer pour créer le programme d'écoute de front-end.
-
Dans la section Groupes de sécurité, sélectionnez les groupes de sécurité à associer à votre équilibreur de charge ou cliquez sur Créer pour créer un nouveau groupe de sécurité à associer à votre équilibreur de charge d'application.
Vérifiez que le groupe de sécurité autorise le trafic d'équilibrage de charge (port d'écoute, back-end et diagnostic d'intégrité). Si vous ne spécifiez pas de groupe de sécurité, le groupe de sécurité par défaut de votre VPC se connecte à la place.
-
Une fois que vous avez terminé de créer des pools et des écouteurs, cliquez sur Créer un équilibreur de charge.
-
Pour afficher les détails d'un équilibreur de charge existant, cliquez sur le nom de votre équilibreur de charge dans la page Equilibreurs de charge.
-
Vous pouvez également créer une sauvegarde pour n'importe lequel de vos pools existants. Cela permet au pool de secours de gérer le trafic en cas de défaillance d'un membre. Pour ce faire, vous devez créer une politique de sécurité intégrée :
-
Seuls les équilibreurs de charge d'application permettent d'associer plus d'un pool à un seul auditeur.
-
Assurez-vous qu'au moins un pool existe déjà dans l'équilibreur de charge.
Un auditeur est la ressource parente d'un équilibreur de charge. Vous pouvez associer des pools à un auditeur directement (en le définissant comme
default_pool) ou indirectement (en le référençant par l'intermédiaire du sitefailsafe_policy.targetd'un autre pool). Le pool référencé indirectement doit déjà être lié à l'auditeur. -
Une fois que le statut de votre équilibreur de charge passe à Actif, sélectionnez l'onglet Pools back-end.
-
Sur la page répertoriant les pools, cliquez sur « Modifier », puis indiquez les informations suivantes :
- Action: Sélectionnez forward pour configurer la politique de sécurité intégrée. Cela permet d'acheminer le trafic vers un pool de secours en cas de défaillance d'un membre et de rendre la section Target active.
- Cible: Sélectionnez un pool dans la liste des pools compatibles comme pool de sauvegarde.
-
-
Si vous souhaitez rediriger le trafic d'un auditeur HTTP vers un auditeur HTTPS, vous pouvez créer un auditeur HTTP avec des paramètres de redirection HTTPS.
Les règles d'équilibrage de charge de couche 7 remplacent les paramètres que vous définissez ici. N'oubliez pas non plus qu'un écouteur HTTPS doit déjà exister avant de pouvoir créer un nouvel écouteur HTTP avec une redirection vers HTTPS.
Pour ce faire, procédez comme suit :
- Une fois que le statut de l'équilibreur de charge est passé à Actif, cliquez sur l'onglet Ecouteurs de front-end.
- Dans la page de la liste des écouteurs, cliquez sur Créer, puis spécifiez les informations suivantes :
- Protocole: Sélectionnez HTTP comme protocole.
- Port : sélectionnez le port d'écoute sur lequel les demandes sont reçues.
- Nombre maximal de connexions (facultatif) : définissez le nombre maximal de connexions simultanées autorisées par le programme d'écoute.
- Redirection HTTPS : cliquez sur le bouton à bascule pour activer la configuration de la redirection HTTPS, puis spécifiez les paramètres de redirection HTTPS suivants :
- HTTPS listener: L'auditeur HTTPS cible vers lequel le trafic entrant de l'auditeur HTTP actuel est redirigé. Notez que vous ne voyez que la liste des écouteurs « HTTPS » dont la valeur «
accept_proxy_protocol» est identique à celle de l'écouteur « HTTP ». - URI de redirection (facultatif) : URL vers laquelle la demande est redirigée.
- Code d'état : code d'état de la réponse renvoyée par l'équilibreur de charge.
- HTTPS listener: L'auditeur HTTPS cible vers lequel le trafic entrant de l'auditeur HTTP actuel est redirigé. Notez que vous ne voyez que la liste des écouteurs « HTTPS » dont la valeur «
-
Si vous voulez rediriger, transférer ou rejeter un trafic entrant spécifique pour un écouteur de front-end HTTP ou HTTPS en fonction de certains critères, configurez des stratégies de couche 7.
- Après que le statut de l'équilibreur de charge passe à Actif, cliquez sur Ecouteurs de front-end dans la navigation et cliquez sur la valeur dans la colonne Stratégies pour l'écouteur que vous avez créé.
- Sur la page Stratégies, cliquez sur Ajouter une stratégie et spécifiez les informations ci-dessous pour créer une stratégie. Vous pouvez créer plusieurs stratégies différentes.
- Nom : entrez un nom pour l'équilibreur de charge,
my-policy, par exemple. Le nom doit être unique au sein de l'écouteur. - Action : action à entreprendre quand toutes les règles d'une stratégie correspondent. Vous pouvez rejeter une demande avec une réponse 403, rediriger la demande vers une URL et un code de réponse configurés, rediriger le trafic d'un écouteur HTTP vers un écouteur HTTPS, ou transférer la demande vers un pool de back-end spécifique. Si une demande entrante ne correspond aux règles d'aucune stratégie, la demande est transmise au pool de back-end par défaut de l'écouteur.
- Priorité : dans chaque type d'action, les stratégies sont évaluées par ordre croissant de priorité. Les stratégies de rejet du trafic sont toujours évaluées en premier, quelle que soit leur priorité. Les stratégies de redirection du trafic sont évaluées ensuite, suivies par celles de réacheminement du trafic.
- Redirection : URL vers laquelle la demande est redirigée, si l'action est définie sur Redirection. Vous devez fournir soit une adresse URL complète ( URL ), soit les paramètres d'une adresse URL. Lors
de l'utilisation d'un site URL, tout le trafic entrant est redirigé vers ce site URL. Lors de l'utilisation des paramètres URI, les valeurs de la demande de trafic entrant peuvent être conservées en utilisant les valeurs entrantes
des paramètres. Cela inclut le protocole, le port, l'hôte, le chemin et la requête. Les valeurs par défaut des paramètres URI sont égales à leurs valeurs d'origine. Pour conserver les valeurs entrantes, fournissez-les comme
{protocol},{port},{host},{path}, et{query}. Par exemple, si l'hôte de la demande entrante estibm.com, la valeur par défaut est{host}et correspond à la valeur de la demande entranteibm.com. - Code d'état : code d'état de la réponse retourné par l'équilibreur de charge, si l'action est définie sur Redirection.
- Réacheminement : pool de back-end d'instances de serveur virtuel vers lequel la demande est réacheminée, si l'action est définie sur Réacheminer vers un pool.
- Nom : entrez un nom pour l'équilibreur de charge,
- Sur la page Stratégies, vous pouvez également créer une stratégie de redirection HTTPS avec la configuration suivante :
- Nom : entrez un nom pour l'équilibreur de charge,
my-policy, par exemple. Le nom doit être unique au sein de l'écouteur. - Action : sélectionnez l'option Rediriger vers HTTPS.
- HTTPS listener: L'auditeur HTTPS cible vers lequel le trafic de l'auditeur HTTP actuel est redirigé. Notez que vous ne voyez que la liste des écouteurs « HTTPS » dont la valeur «
accept_proxy_proxy» est identique à celle de l'écouteur « HTTP ». - URI de redirection (facultatif) : URL vers laquelle la demande est redirigée.
- Code d'état : code d'état de la réponse renvoyée par l'équilibreur de charge.
- Nom : entrez un nom pour l'équilibreur de charge,
- Sur la page Stratégies, cliquez sur Ajouter une règle pour votre stratégie. Si des règles existent pour la stratégie, cliquez sur la valeur de la colonne Règles pour ajouter des règles supplémentaires.
- Dans la fenêtre Règles, cliquez sur Ajouter une règle et spécifiez les informations suivantes pour créer une règle. Si vous créez plusieurs règles pour une stratégie, cette dernière est appliquée uniquement quand toutes
ses règles correspondent.
- Condition : spécifie la condition via laquelle une règle est évaluée.
- Type : type d'informations à évaluer par la règle, soit le nom de l'hôte depuis lequel la demande a été émise, une zone d'en-tête HTTP ou un chemin dans l'URL.
- Valeur : valeur concernée par la mise en correspondance.
- Clé : nom de la zone d'en-tête HTTP à évaluer, si le type de règle est En-tête. Ainsi, pour faire correspondre un cookie dans l'en-tête HTTP, entrez Cookie pour la clé
Création d'un équilibreur de charge d'application à partir de l'interface de ligne de commande
L'exemple suivant montre comment utiliser l'interface de ligne de commande (CLI) pour créer un équilibreur de charge d' Application Load Balancer for VPC s (ALB). Dans cet exemple, il se trouve devant une instance de serveur virtuel VPC (id
0716_6acdd058-4607-4463-af08-d4999d983945) qui exécute un serveur TCP écoutant 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 équilibreur de charge d'application à partir de l'interface de ligne de commande, procédez comme suit :
-
Configurez votre environnement d'interface de ligne de commande.
-
Utilisez le terminal pour vous connecter à votre compte à l'aide de l'interface de ligne de commande. Une fois que vous avez saisi le mot de passe, le système vous invite à indiquer le compte et la région à utiliser :
ibmcloud login --sso -
Créez un équilibreur de charge :
ibmcloud is load-balancer-create alb-test public --subnet 0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c --family applicationExemple de sortie :
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 -
Créez un 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 pool2Exemple de sortie :
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 -
Créez un membre :
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 70Exemple de sortie :
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 -
Créez un programme d'écoute :
$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 30Exemple de sortie :
$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:00Pour plus d'options, voir la référence CLI VPC pour les équilibreurs de charge.
-
Créez une stratégie :
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}"Exemple de sortie :
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 -
Extrayez les détails de votre équilibreur de charge :
ibmcloud is load-balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776Exemple de sortie :
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
Création d'un équilibreur de charge d'application à l'aide de l'API
L'exemple suivant illustre l'utilisation de l'API pour créer un équilibreur de charge d'application devant deux instances de serveur virtuel VPC (192.168.100.5 et 192.168.100.6) exécutant une application Web à l'écoute
sur le port 80. L'équilibreur de charge dispose d'un écouteur de front-end, qui permet un accès sécurisé à l'application Web en utilisant HTTPS.
Cet exemple ignore les étapes prérequises de l'utilisation de l'API pour mettre à disposition un cloud privé virtuel, des sous-réseaux et des instances.
Pour créer un équilibreur de charge d'application à l'aide de 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 :
ResourceGroupId- Récupérez d'abord votre groupe de ressources avant d'indiquer la valeur de cette variable :
export ResourceGroupId=<your_resourcegroup_id>Vous pouvez également trouver l'identifiant de votre groupe de ressources en utilisant la console IBM Cloud. Dans votre navigateur, ouvrez la console IBM Cloud et connectez-vous à votre compte. Sélectionnez Gérer > Compte > Groupes de ressources.
-
Créez un équilibreur de charge avec un auditeur, un pool et des instances de serveur attachées (membres du pool) avec l'exemple de code suivant :
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" } ] }'Pour plus d'options, voir la référence API VPC pour les équilibreurs de charge.
Exemple de sortie :
{ "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" } ] }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 -
Extrayez les détails de l'équilibreur de charge.
curl -H "Authorization: Bearer $iam_token" -X GET "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$api_version&generation=2"Prévoyez du temps pour la mise à disposition. Quand l'équilibreur de charge est prêt, son statut est défini à
onlineetactive, comme illustré dans la sortie exemple suivante :{ "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" } ] }