Creación de un equilibrador de carga de aplicación

Puede crear un IBM Cloud® Application Load Balancer for VPC (ALB) para distribuir el tráfico de entrada entre varias instancias. Puede utilizar el ALB con instancias de servidor virtual, instancias de servidor bare metal y otros dispositivos que tengan direcciones IP accesibles al equilibrador de carga, como instancias de Power Systems™ Virtual Server conectadas a través de IBM Cloud Direct Link.

Creación de un equilibrador de carga de aplicaciones en la consola

Para crear un ALB:

  1. Desde tu navegador, abre la consola de IBM Cloud e inicia sesión en tu cuenta.

  2. Seleccione el ícono Menú del menú de Navegación, luego haga clic en el ícono Infraestructura VPC > Red > Balanceadores de carga.

  3. En la página «Equilibradores de carga para VPC», haz clic en « Crear ».

  4. En el tipo de equilibrador de carga, selecciona el mosaico « Equilibrador de carga de aplicaciones (ALB) ».

  5. En la sección «Ubicación», modifica el siguiente campo si es necesario.

    • Región: indica la región en la que desea crear el equilibrador de carga.
  6. En la sección Detalles, complete la información siguiente:

    • Nombre: especifique un nombre para el equilibrador de carga, como por ejemplo my-load-balancer.

    • Grupo de recursos: seleccione un grupo de recursos para el equilibrador de carga.

    • Etiquetas: (Opcional) Añade etiquetas para organizarte mejor y encontrar tus recursos. Puede añadir más etiquetas posteriormente. Para obtener más información, consulte Cómo trabajar con etiquetas.

    • Etiquetas de gestión de acceso: (Opcional) Añada etiquetas de gestión de acceso a los recursos para ayudar a organizar las relaciones de control de acceso. El único formato admitido para las etiquetas de gestión de accesos es key:value. Para obtener más información, consulte Control del acceso a los recursos mediante etiquetas.

    • Nube privada virtual: seleccione la VPC.

    • Subredes: seleccione las subredes en las que desea crear el equilibrador de carga. Para maximizar la disponibilidad de la aplicación, seleccione subredes de diferentes zonas.

      No puede asignar más de 15 subredes por ALB.

    • Tipo: seleccione el tipo de equilibrador de carga.

      • Un equilibrador de carga público tiene una dirección IP pública, lo que significa que puede redirigir las solicitudes de los clientes a través de Internet.
      • Un equilibrador de carga privado tiene una dirección IP privada, lo que significa que solo pueden acceder a él los clientes internos que se encuentren dentro de la misma región y VPC.
    • Tipo de DNS: Selecciona « Público » o « Privado ». Las zonas DNS privadas solo se pueden resolver en IBM Cloud, y únicamente desde redes autorizadas explícitamente en una cuenta o con acceso entre cuentas.

      Sólo para el tipo Privado, haga clic en Enlazar para introducir la instancia DNS y la información de la zona y, a continuación, haga clic en Enlazar.

  7. En la sección «Grupos de back-end», haz clic en «Crear» e introduce la siguiente información para crear un grupo de back-end. Puede crear una o varias agrupaciones.

    • Nombre: especifique un nombre para la agrupación, como por ejemplo my-pool.
    • Protocolo del grupo: Selecciona el protocolo para tus instancias de este grupo. El protocolo del pool debe ser compatible con su protocolo de escucha. Para los oyentes de HTTP o HTTPS, utilice HTTP como protocolo de grupo. Para los oyentes de TCP, utilice TCP como protocolo de grupo.
    • Retención de sesiones: seleccione si todas las solicitudes durante una sesión de usuario se envían a la misma instancia.
    • Protocolo proxy: Selecciona «Desactivado» (valor predeterminado), «Versión 1» o «Versión 2» (versiones del encabezado del protocolo proxy). El protocolo proxy añade un encabezado de protocolo proxy a los paquetes TCP, HTTP y HTTPS que se envían al grupo de servidores back-end. Esta configuración permite a los servidores back-end obtener la dirección IP y el puerto del cliente que el equilibrador de carga establece en el encabezado del protocolo proxy.
    • Método: seleccione cómo desea que el equilibrador de carga distribuya el tráfico entre las instancias de la agrupación:
      • Menos conexiones: las solicitudes se reenvían a la instancia que en ese momento tiene el menor número de conexiones.
      • Round robin: las solicitudes se envían a cada instancia en turnos. Todas las instancias reciben aproximadamente un mismo número de conexiones de cliente.
      • Round robin ponderado: las solicitudes se envían a cada instancia en proporción a su ponderación asignada. Por ejemplo, supongamos que tiene las instancias A, B y C, y sus ponderaciones se establecen en 60, 60 y 30. Las instancias A y B reciben el mismo igual de conexiones y la instancia C recibe la mitad de conexiones.
    • Comprobación de estado: configure cómo el equilibrador de carga comprueba el estado de las instancias.
      • Vía de acceso de comprobación de estado: la vía de acceso de comprobación de estado solo es aplicable si se selecciona HTTP como protocolo de comprobación de estado. La vía de acceso de comprobación de estado especifica el URL que utiliza el equilibrador de carga para enviar las solicitudes de comprobación de estado HTTP a las instancias de la agrupación. De forma predeterminada, las comprobaciones de estado se envían a la vía de acceso raíz (/).
      • Protocolo de estado: el protocolo que utiliza el equilibrador de carga para enviar mensajes de comprobación de estado a las instancias de la agrupación.
      • Puerto de estado (opcional): el puerto al que se envían las solicitudes de comprobación de estado. De forma predeterminada, las comprobaciones de estado se envían en el mismo puerto en el que se envía el tráfico a la instancia.
      • Intervalo (seg.): Intervalo en segundos entre dos intentos consecutivos de comprobación del estado. De forma predeterminada, se envían comprobaciones de estado cada 5 segundos.
      • Tiempo de espera (segundos): tiempo máximo que el sistema espera una respuesta a una solicitud de comprobación de estado. De forma predeterminada, el equilibrador de carga espera 2 segundos para obtener una respuesta.
      • Número máximo de reintentos: el número máximo de intentos de comprobación de estado que realiza el equilibrador de carga antes de que se declare que una instancia no está en buen estado. De forma predeterminada, se deja de considerar que una instancia está en buen estado después de dos comprobaciones de estado fallidas.
  8. (Opcional) Selecciona «Configuración de la solicitud» para personalizar los valores de la solicitud de comprobación de estado. Si no se especifican valores, se utilizan los ajustes predeterminados.

    • Método de solicitud: Elige una de las siguientes opciones: GET o POST. Puedes personalizar los encabezados de la solicitud para ambos métodos. Si lo deseas, puedes personalizar el cuerpo de la solicitud al utilizar el método POST .
    • Cuerpo de la solicitud: Incluye el cuerpo de la solicitud « HTTP » que se utilizará para las comprobaciones de estado. Si no se especifica lo contrario, las solicitudes de comprobación de estado no tendrán cuerpo de solicitud.
    • Encabezado de host: Incluye el encabezado de host para garantizar que la solicitud utilice el protocolo HTTP/1.1. De lo contrario, el sistema utilizará por defecto HTTP/1.0.
    • Añadir otros encabezados de solicitud: Añade uno o varios encabezados de solicitud adicionales.
    • Nombre del encabezado: Para el método de solicitud « GET », elige uno de los siguientes: « content-type », « accept », « authorization », « cookie », « origin », « referrer » o « user-agent ». Para el método de solicitud « POST », elige una de las siguientes opciones: « content-type », « content-length », « application-json » o « accept-encoding ».
    • Valor: Introduce el valor que corresponde al nombre de encabezado especificado.

    En el caso de los equilibradores de carga de red de ruta privada (PPNLB), existe un problema conocido por el que los campos de solicitud y respuesta del monitor de estado no se devuelven en la respuesta de la API GET.

  9. (Opcional) Selecciona «Configuración de respuesta» para personalizar los valores de respuesta de la comprobación de estado. Si no se especifican valores, se utilizan los ajustes predeterminados.

    • Cuerpo de la respuesta: Introduce el texto del cuerpo de la respuesta.

    • Código de respuesta: Puedes especificar varios valores separados por comas dentro del intervalo de 100 a 599. Para especificar un intervalo, utiliza XX. Por ejemplo, « 2XX » para el rango 200-299.

      HTTP envía datos en texto sin cifrar, que pueden ser interceptados, por lo que se considera inseguro. Se recomienda utilizar https en lugar de http como protocolo. Para obtener más información, consulta « ¿Por qué HTTP no es seguro? ».

      Aunque el equilibrador de carga deja de enviar conexiones a las instancias que no están en buen estado, el equilibrador de carga sigue supervisando el estado de estas instancias y reanuda su uso si se detecta que vuelven a estar en buen estado (es decir, si pasan correctamente dos intentos de comprobación de estado consecutivos).

      Si las instancias de la agrupación no están en buen estado y cree que la aplicación se está ejecutando correctamente, vuelva a comprobar los valores de protocolo de estado y de vía de acceso de estado. Compruebe también los grupos de seguridad conectados a las instancias para asegurarse de que las reglas permiten el tráfico entre el equilibrador de carga y las instancias.

  10. Pulse Crear para crear la agrupación de fondo.

    Puede conectar instancias de servidor tras crear la agrupación de fondo.

  11. Para añadir una instancia de servidor a la nueva agrupación, pulse Conectar servidor en la columna Instancias de servidor de la tabla.

    • Para añadir dispositivos VPC a la agrupación como, por ejemplo, instancias de servidor virtual y servidores nativos, seleccione la pestaña Dispositivos VPC. Especifique la información siguiente para cada instancia:

      • Seleccione una o varias subredes desde las que seleccionar una instancia.

      • Seleccione una instancia de . Si una instancia tiene varias interfaces, asegúrese de seleccionar la dirección IP correcta.

      • Especifique el puerto en el que se envía el tráfico a la instancia.

      • Si la agrupación utiliza el método Round robin ponderado, asigne una ponderación a cada instancia.

        La asignación de una ponderación de 0 a una instancia significa que no se reenvían nuevas conexiones a esa instancia, pero todo el tráfico existente continúa fluyendo mientras la conexión actual esté activa. La utilización de una ponderación de 0 puede ayudar a desactivar una instancia correctamente y eliminarla de la rotación de servicio.

      • Pulse Configurar puerto y ponderación y, a continuación, especifique el puerto en el que se envía el tráfico a la instancia.

    • Para conectar otras instancias de servidor a la agrupación de fondo como, por ejemplo, los servidores contenidos en un IBM Power Systems Virtual Server, seleccione la pestaña Otros y, a continuación, pulse Añadir más. Especifique la información siguiente para cada instancia:

      • Especifique una dirección IP privada para el dispositivo.

      • Especifique el puerto en el que se envía el tráfico a la instancia.

      • Si la agrupación utiliza el método Round robin ponderado, asigne una ponderación a cada instancia.

        La asignación de una ponderación de 0 a una instancia significa que no se reenvían nuevas conexiones a esa instancia, pero todo el tráfico existente continúa fluyendo mientras la conexión actual esté activa. La utilización de una ponderación de 0 puede ayudar a desactivar una instancia correctamente y eliminarla de la rotación de servicio.

    • Pulse Conectar para conectar la instancia de servidor a la agrupación de fondo.

  12. En la sección Escuchas frontales, pulse Crear escucha y especifique la siguiente información para crear un escucha. Puede crear uno o varios escuchas.

    • Protocolo: el protocolo que se debe utilizar para recibir las solicitudes entrantes.
    • Protocolo de proxy: Seleccione si desea permitir que el escucha frontal acepte el tráfico de protocolo de proxy.
    • Puerto: el puerto de escucha en el que se reciben las solicitudes.
    • Agrupación de fondo: la agrupación de fondo predeterminada a la que este escucha reenvía el tráfico.
    • Número máximo de conexiones (opcional): número máximo de conexiones simultáneas que permite el escucha.
    • Autorización IAM: Si HTTPS es el protocolo seleccionado para este oyente, debe designar su autorización IAM, ya sea por instancia o por su CRN.
    • Secrets Manager: Si HTTPS es el protocolo seleccionado para este oyente, debe seleccionar o crear un administrador de secretos.
    • Certificado SSL: si el protocolo seleccionado para este escucha es HTTPS, debe seleccionar un certificado SSL. Asegúrese de que el equilibrador de carga tiene autorización para acceder al certificado SSL.
    • Tiempo de espera (seg) (opcional): el tiempo de espera máximo después del cual el equilibrador de carga cierra la conexión si no se han enviado o recibido datos en el momento en que transcurre el periodo de tiempo de espera desocupado. Los valores mínimo y máximo del tiempo de espera son 50 segundos y 2 horas. Estos valores son tanto para el cliente como para el servidor. Para aumentar el límite de tiempo de espera a más de 2 horas, cree un caso de soporte proporcionando el requisito de negocio para el valor de tiempo de espera requerido.
  13. Pulse Crear para crear el escucha frontal.

  14. En la sección Grupos de seguridad, seleccione los grupos de seguridad que desee conectar a su equilibrador de carga o pulse Crear para crear un nuevo grupo de seguridad para conectarlo a su ALB.

    Asegúrese de que el grupo de seguridad permita el tráfico del equilibrador de carga (puertos de escucha, de fondo y de comprobación de estado). Si no especifica un grupo de seguridad, se adjunta el grupo de seguridad predeterminado de su VPC.

  15. Cuando termine de crear agrupaciones y escuchas, pulse Crear equilibrador de carga.

  16. Para ver los detalles de un equilibrador de carga existente, pulse el nombre del equilibrador de carga en la página Equilibradores de carga.

  17. Opcionalmente, puede crear una copia de seguridad para cualquiera de sus grupos existentes. Esto permite al grupo de reserva gestionar el tráfico si falla un miembro. Para ello, debe crear una política a prueba de fallos:

    • Sólo los balanceadores de carga de aplicaciones permiten asociar más de un pool a un único listener.

    • Asegúrese de que existe al menos un grupo en el equilibrador de carga.

      Un listener es el recurso padre en un balanceador de carga. Puede asociar pools con un listener directamente (estableciéndolo como default_pool) o indirectamente (haciendo referencia a él a través del failsafe_policy.target de otro pool). El pool referenciado indirectamente ya debe estar vinculado al listener.

    • Después de que el estado de su balanceador de carga cambie a Activo, seleccione la pestaña Back-end pools (Grupos de servidores back-end).

    • En la página de la lista de grupos, haz clic en «Editar» y, a continuación, introduce la siguiente información:

      • Acción: Seleccione reenviar para configurar la política a prueba de fallos. Esto reenvía el tráfico a un grupo de reserva cuando fallan los miembros y hace que la sección de destino esté activa.
      • Objetivo: Seleccione un pool de la lista de pools compatibles como pool de copia de seguridad.
  18. Si desea redirigir el tráfico de un escucha HTTP a un escucha HTTPS, puede crear un escucha HTTP con valores de redirección HTTPS.

    Las políticas de equilibrio de carga de capa 7 sobrescriben los valores que define aquí. Además, ten en cuenta que debe existir ya un listener HTTPS antes de crear un nuevo listener HTTP con redirección a HTTPS.

    Para ello:

    • Una vez que el estado del equilibrador de carga haya cambiado a Activo, pulse la pestaña Escuchas frontales.
    • En la página de lista del escucha, pulse Crear y, a continuación, especifique la información siguiente:
      • Protocolo: Seleccione HTTP como protocolo.
      • Puerto: elija el puerto de escucha en el que se reciben las solicitudes.
      • Máximo de conexiones (opcional): defina el número máximo de conexiones simultáneas que permite el escucha.
      • Redirección de HTTPS: pulse el botón de conmutador para habilitar la configuración de la redirección HTTPS y, a continuación, especifique los siguientes valores de redirección HTTPS:
        • HTTPS listener: El listener HTTPS de destino al que se redirige el tráfico entrante del listener HTTP actual. Ten en cuenta que solo se muestra una lista de los oyentes de « HTTPS » cuyo valor « accept_proxy_protocol » sea el mismo que el del oyente « HTTP ».
        • URI de redirección (opcional): URL al que se redirige la solicitud.
        • Código de estado: código de estado de la respuesta devuelta por el equilibrador de carga.
  19. Si desea redirigir, reenviar o rechazar el tráfico entrante en particular para un escucha frontal HTTP o HTTPS basado en determinados criterios, configure las políticas de la capa 7.

    • Cuando el estado del equilibrador de carga cambie a Activo, pulse Escuchas frontales en el área de navegación y pulse el valor en la columna Políticas para el escucha que ha creado.
    • En la página Políticas, pulse Añadir política y especifique la información siguiente para crear una política. Puede crear varias políticas.
      • Nombre: especifique un nombre para la política, como por ejemplo my-policy. El nombre debe ser exclusivo dentro del escucha.
      • Acción: la acción que se debe realizar cuando se cumplen todas las reglas para la política. Puede rechazar una solicitud con una respuesta 403, redirigir la solicitud a un URL configurado y un código de respuesta, redirigir el tráfico de un escucha HTTP a un escucha HTTPS o reenviar la solicitud a una agrupación de fondo específica. Si una solicitud de entrada no coincide con las reglas de las políticas, la solicitud se reenvía a la agrupación de fondo predeterminada del escucha.
      • Prioridad: dentro de cada tipo de acción, las políticas se evalúan en orden ascendente de prioridad. Las políticas para rechazar el tráfico siempre se evalúan en primer lugar, independientemente de su prioridad. Después se evalúan las políticas para redirigir el tráfico, seguidas de las políticas para reenviar el tráfico.
      • Redirigir: el URL al que se redirige la solicitud, si la acción se ha definido en Redirigir. Debe proporcionar un URI completo ( URL ) o los parámetros de un URI. Cuando se utiliza un URL, todo el tráfico entrante se redirige a este URL. Cuando se utilizan parámetros URI, los valores de la solicitud de tráfico entrante se pueden conservar utilizando los valores entrantes de los parámetros. Esto incluye el protocolo, el puerto, el host, la ruta y la consulta. Los valores por defecto de los parámetros URI son iguales a sus valores originales de entrada. Para conservar los valores entrantes, proporciónelos como {protocol},{port},{host},{path}, y {query}. Por ejemplo, si el host de la solicitud entrante es ibm.com, entonces el valor por defecto es {host} igual al valor entrante ibm.com.
      • Código de estado: el código de estado de la respuesta que devuelve el equilibrador de carga, si la acción se ha establecido en Redirigir.
      • Reenviar: la agrupación de fondo de instancias de servidor virtual a las que se reenvía la solicitud, si la acción se ha establecido en Reenviar a agrupación.
    • En la página Políticas, también puede crear una política de redirección HTTPS con la configuración siguiente:
      • Nombre: especifique un nombre para la política, como por ejemplo my-policy. El nombre debe ser exclusivo dentro del escucha.
      • Acción: seleccione la opción Redirigir a HTTPS.
      • HTTPS listener: El listener HTTPS de destino al que se redirige el tráfico del listener HTTP actual. Ten en cuenta que solo se muestra una lista de los oyentes de « HTTPS » cuyo valor « accept_proxy_proxy » sea el mismo que el del oyente « HTTP ».
      • URI de redirección (opcional): URL al que se redirige la solicitud.
      • Código de estado: código de estado de la respuesta devuelta por el equilibrador de carga.
    • En la página Políticas, pulse Añadir regla para la política. Si existen reglas para la política, pulse el valor de la columna Reglas para añadir más reglas.
    • En la ventana Reglas, pulse Añadir regla y especifique la información siguiente para crear una regla. Si crea varias reglas para una política, esta solo se aplica cuando se cumplen todas sus reglas.
      • Condición: especifica la condición con la que se evalúa una regla.
      • Tipo: el tipo de información que debe evaluar la regla: el nombre del host desde el que se ha originado la solicitud, un campo de cabecera HTTP o una vía de acceso en el URL.
      • Valor: el valor que se va a comparar.
      • Clave: el nombre del campo de cabecera HTTP que se va a evaluar, si el tipo de regla es Cabecera. Por ejemplo, para comparar una cookie en la cabecera HTTP, escriba Cookie para la clave.

Creación de un equilibrador de carga de aplicaciones desde la CLI

El siguiente ejemplo muestra cómo utilizar la interfaz de línea de comandos (CLI) para crear un equilibrio de carga de aplicación ( Application Load Balancer for VPC, ALB). En este ejemplo, está delante de una instancia de servidor virtual de VPC (id 0716_6acdd058-4607-4463-af08-d4999d983945) ejecutando un servidor TCP que escucha en el puerto 9090. El equilibrador de carga tiene un escucha frontal, que permite el acceso seguro al servidor TCP.

Para crear un equilibrador de carga de aplicaciones desde la CLI, sigue estos pasos:

  1. Configure el entorno de la CLI.

  2. Utilice el terminal para iniciar sesión en la cuenta utilizando la CLI. Después de especificar la contraseña, el sistema solicita qué cuenta y región desea utilizar:

    ibmcloud login --sso
    
  3. Cree un equilibrador de carga:

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

    Salida de ejemplo:

    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. Cree una agrupación:

    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
    

    Salida de ejemplo:

    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. Cree un miembro:

    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
    

    Salida de ejemplo:

    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. Cree un escucha:

    $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
    

    Salida de ejemplo:

    $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
    

    Para obtener más opciones, consulte VPC CLI reference for load balancers.

  7. Cree una política:

    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}"
    

    Salida de ejemplo:

    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. Obtenga los detalles sobre el equilibrador de carga:

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

    Salida de ejemplo:

    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
    

Creación de un equilibrador de carga de aplicaciones mediante la API

El ejemplo siguiente muestra el uso de la API para crear un equilibrador de carga de aplicaciones delante de dos instancias de servidor virtual VPC (192.168.100.5 y 192.168.100.6) que ejecutan una aplicación web que escucha en el puerto 80. El equilibrador de carga tiene un escucha frontal, que permite el acceso seguro a la aplicación web mediante HTTPS.

El ejemplo omite los pasos de requisito previo para utilizar la API para suministrar una VPC, subredes e instancias.

Para crear un equilibrador de carga de aplicaciones mediante la API, sigue estos pasos:

  1. Configure el entorno de la API.

  2. Almacene los valores siguientes en variables que se utilizarán en el mandato de la API:

    • ResourceGroupId: en primer lugar, obtenga el grupo de recursos y luego rellene la variable:
    export ResourceGroupId=<your_resourcegroup_id>
    

    También puede encontrar el ID de su grupo de recursos utilizando la consola IBM Cloud. Desde tu navegador, abre la consola de IBM Cloud e inicia sesión en tu cuenta. Seleccione Gestionar > Cuenta > Grupos de recursos.

  3. Cree un equilibrador de carga con un listener, un pool e instancias de servidor adjuntas (miembros del pool) con el siguiente código de ejemplo:

    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"
              }
          ]
          }'
    

    Para obtener más opciones, consulte Referencia de la API de VPC para balanceadores de carga.

    Salida de ejemplo:

    {
        "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"
            }
        ]
    }
    

    Guarde el ID del equilibrador de carga que se va a utilizar en los pasos siguientes. Por ejemplo, guárdelo en la variable lbid.

    lbid=0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727
    
  4. Obtenga los detalles sobre el equilibrador de carga

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

    Deje pasar un tiempo para que se complete el suministro. Cuando el equilibrador de carga está listo, se establece en el estado online y active, tal como se muestra en la siguiente salida de ejemplo:

    {
      "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"
        }
      ]
    }