Configura grupos de extremos de red en el balanceo de cargas

Configura grupos de extremos de red y agrega extremos

Este documento contiene instrucciones para configurar grupos de extremos de red (NEG) y extremos de red mediante la herramienta de línea de comandos de gcloud. Previo a la configuración de NEG, consulta esta página sobre grupos de extremos de red en conceptos de balanceo de cargas.

Crea grupos de extremos de red

Console


Sigue estos pasos para crear grupos de extremos de red:

  1. Dirígete a la página de grupos de extremos de red en Google Cloud Platform Console.
    Ir a la página de grupos de extremos de red
  2. Haz clic en CREAR GRUPO DE EXTREMOS DE RED.
  3. Ingresa el nombre del grupo de extremos de red.
  4. Selecciona la ubicación de la red de VPC.
  5. Selecciona la red de VPC.
  6. Selecciona la subred.
  7. Selecciona la zona.
  8. Selecciona el tipo de extremo de red.
  9. Ingresa el puerto predeterminado del extremo de red.
  10. Haz clic en Crear.

gcloud


Para crear grupos de extremo de red, usa el comando siguiente de gcloud:

gcloud compute network-endpoint-groups create [NEG_NAME] \
    --zone=[ZONE] \
    --network=[NETWORK] \
    [--subnet=[SUBNET]
    [--default-port=[DEFAULT_PORT]

En este comando, las marcas se definen de la manera siguiente:

  • [NEG_NAME] es el nombre del grupo de extremos de red nuevo. El nombre debe ser único dentro de la zona.
  • [ZONE] es el nombre de la zona en la que se crea el NEG.
  • [NETWORK] es el nombre de la red en la que se crea el NEG. Si se omite, GCP usa una red denominada default.
  • [SUBRED] es el nombre de la subred a la que pertenecen todos los extremos de red. Esta marca es opcional si la red es una red en modo automático. Si se omite, el NEG se crea en la subred creada de forma automática de la región que contiene la zona que seleccionaste. La marca es obligatoria si la red es una red de modo personalizado o si necesitas especificar una subred creada de forma manual.
  • [DEFAULT_PORT] es el puerto predeterminado asociado al NEG. Esta marca es opcional. Si se omite, todos los extremos deben especificarse mediante IP:port. Si se incluye, se puede omitir la parte “port” de la especificación del extremo y el puerto predeterminado supuesto.

Por ejemplo:

gcloud compute network-endpoint-groups create my-lb-neg \
    --network=my-network \
    --subnet=my-subnet \
    --default-port=80  \
    --zone=asia-southeast1-a

Agrega extremos a un grupo de extremos de red

Console


Sigue estos pasos para agregar extremos a un grupo de extremos de red:

  1. Dirígete a la página de grupos de extremos de red en Google Cloud Platform Console.
    Ir a la página de grupos de extremos de red
  2. Haz clic en el nombre del grupo de extremos de red al que quieres agregar extremos. Verás la página de detalles del grupo de extremos de red.
  3. En la sección Extremos de red de este grupo, haz clic en Agregar extremo de red. Verás la página Agregar extremo de red.
  4. Selecciona una instancia de VM para agregar sus direcciones IP internas como extremos de red y haz clic en Agregar. Verás la interfaz de red, la zona y la subred de la VM.
  5. Ingresa la dirección IP o el rango del extremo de red nuevo.
  6. Selecciona el tipo de puerto.
    1. Si seleccionas Predeterminado, el extremo usará el puerto predeterminado para todos los extremos del grupo de extremos de red.
    2. Si seleccionas Personalizado, deberás ingresar el número de puerto para el extremo que se usará.
  7. Para agregar más extremos, haz clic en Agregar extremo de red y repite los pasos 5 y 6.
  8. Una vez que hayas agregado todos los extremos que necesitas, haz clic en Agregar.

gcloud


Sigue estos pasos para agregar extremos a un grupo de extremos de red:

gcloud compute network-endpoint-groups update [NEG_NAME] \
    [--zone=[ZONE]] \
    --add-endpoint 'instance=[INSTANCE_NAME],[ip=[IP_ADDRESS]],[port=[PORT]]' \
    [--add-endpoint ...]

El comando anterior contiene la información siguiente:

  • [NEG_NAME] es el nombre del NEG.
  • [ZONA] es el nombre de la zona en la que se creó el NEG.
  • [INSTANCE_NAME] es el nombre de la instancia de VM a la que pertenece la dirección IP.
  • [IP_ADDRESS] es la dirección IP para el extremo de red que se agrega.
  • [PORT] es el puerto del extremo de red que se agrega. El puerto es opcional si se especifica un puerto predeterminado en el NEG.

Por ejemplo:

gcloud compute network-endpoint-groups update my-lb-neg \
    --zone=asia-southeast1-a
    --add-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \

Agrega un grupo de extremos de red a un servicio de backend

Console


Sigue estos pasos para agregar un grupo de extremos de red a un servicio de backend:

  1. Ve a la página Balanceo de cargas de Google Cloud Platform Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en el nombre del balanceador de cargas cuyo servicio de backend quieres editar.
  3. En la página de detalles del balanceador de cargas, haz clic en el lápiz de EDITAR.
  4. En la página de edición del balanceador de cargas, haz clic en Configuración del backend.
  5. En la página de configuración del backend, haz clic en el lápiz de editar.
  6. Haz clic en +Agregar backend.
  7. Selecciona un grupo de extremos de red y haz clic en Listo.
  8. Haz clic en Actualizar.

gcloud


Usa este comando para agregar un NEG a un servicio de backend:

gcloud compute backend-services add-backend [BACKEND_SERVICE] \
    [--network-endpoint-group=[NETWORK_ENDPOINT_GROUP]] \
    [--network-endpoint-group-zone=[ZONE]]

Por ejemplo:

gcloud compute backend-services add-backend my-lb \
   --network-endpoint-group my-lb-neg \
   --network-endpoint-group-zone=asia-southeast1-a \
   --global \
   --balancing-mode=RATE \
   --max-rate-per-endpoint=5

Quita un grupo de extremos de red de un servicio de backend

Console


  1. Ve a la página Balanceo de cargas de Google Cloud Platform Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en el nombre del balanceador de cargas cuyo servicio de backend quieres editar.
  3. En la página de detalles del balanceador de cargas, haz clic en el lápiz de EDITAR.
  4. En la página de edición del balanceador de cargas, haz clic en Configuración del backend.
  5. En la página de configuración del backend, haz clic en el lápiz de editar del servicio de backend del que quitarás el NEG.
  6. En la sección *Backend, busca el NEG que quieres quitar y haz clic en el ícono de la papelera para ese NEG.
  7. Haz clic en Actualizar.

gcloud


Usa el comando siguiente para borrar un NEG de un servicio de backend:

gcloud compute backend-services remove-backend [BACKEND_SERVICE] \
    --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
    --network-endpoint-group-zone=NETWORK_ENDPOINT_GROUP_ZONE

Por ejemplo:

gcloud compute backend-services remove-backend my-lb \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=asia-southeast1-a

Quita extremos de un grupo de extremos de red

Cuando se quita un extremo de red de un NEG de balanceo de cargas, se activa el desvío de conexión en función de los parámetros de desvío especificados en el servicio de backend. Si varios servicios de backend hacen referencia al mismo NEG, se aplica el intervalo de desvío máximo en todos los servicios de backend.

Console


Sigue estos pasos para quitar extremos de un grupo de extremos de red:

  1. Dirígete a la página de grupos de extremos de red en Google Cloud Platform Console.
    Ir a la página de grupos de extremos de red
  2. Haz clic en el Nombre del grupo de extremos de red del que quieres quitar extremos. Verás la página de detalles del grupo de extremos de red.
  3. Selecciona los extremos de red que quieres quitar y haz clic en Quitar extremo.

gcloud


Sigue estos pasos para quitar extremos de un grupo de extremos de red:

gcloud compute network-endpoint-groups update NEG_NAME \
[--zone=ZONE] \
--remove-endpoint 'instance=INSTANCE_NAME,[ip=IP],[port=PORT]' \
--remove-endpoint ...

Por ejemplo:

gcloud compute network-endpoint-groups update my-lb-neg \
     --remove-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \
     --zone=asia-southeast1-a

Crea una lista de grupos de extremos de red

Console


Para ver una lista de los grupos de extremos de red, dirígete a la página de grupos de extremos de red en Google Cloud Platform Console.
Ir a la página de grupos de extremos de red

gcloud


Usa este comando para crear una lista de los grupos de extremos de red:

gcloud compute network-endpoint-groups list

Describe un grupo de extremos de red específico

Console


Ejecuta este comando para obtener los detalles de un grupo de extremos de red específico:

  1. Dirígete a la página de grupos de extremos de red en Google Cloud Platform Console.
    Ir a la página de grupos de extremos de red
  2. Haz clic en el nombre del grupo de extremos de red cuyos detalles quieres ver.

gcloud


Ejecuta este comando para obtener los detalles de un grupo de extremos de red específico:

gcloud compute network-endpoint-groups describe [NEG_NAME] \
    [--zone=ZONE]

Arriba, [NEG_NAME] es el nombre del grupo de extremos de red. [ZONA], que es opcional, es el nombre de la zona en la que se creó el NEG.

Por ejemplo, con el comando siguiente de gcloud, se brinda información sobre el grupo de extremos de red my-lb-neg.

gcloud compute network-endpoint-groups describe my-lb-neg \
    --zone=asia-southeast1-a

Este es el resultado del comando:

    creationTimestamp: '2018-04-09T14:51:34.381-07:00'
    id: '5260475207627726473'
    kind: compute#networkEndpointGroup
    loadBalancer:
      defaultPort: 80
      network: https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/global/networks/default
      zone: https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/asia-southeast1-a

Quita grupos de extremos de red

Si un grupo de extremos de red está conectado a un servicio de backend, no se puede quitar. Antes de borrar un NEG, debes asegurarte de que esté separado del servicio de backend.

Quitar una VM de inmediato hace que todos los extremos de red en la VM se quiten del NEG y, por lo tanto, se cierren todas las conexiones. Si borras un NEG después de borrar un servicio de backend, también se quitan todos los extremos de ese NEG sin que se desvíe la conexión.

Console


Ejecuta este comando quitar un grupo de extremos de red de un servicio de backend:

  1. Ve a la página Balanceo de cargas de Google Cloud Platform Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en el nombre del balanceador de cargas cuyo servicio de backend quieres editar.
  3. En la página de detalles del balanceador de cargas, haz clic en el lápiz de EDITAR.
  4. En la página de edición del balanceador de cargas, haz clic en Configuración del backend.
  5. En la página de configuración del backend, haz clic en el lápiz de editar del servicio de backend del que quitarás el NEG.
  6. En la sección *Backend, busca el NEG que quieres quitar y haz clic en el ícono de la papelera para ese NEG.
  7. Haz clic en Actualizar.

Ejecuta este comando para borrar un grupo de extremos de red:

  1. Dirígete a la página de grupos de extremos de red en Google Cloud Platform Console.
    Ir a la página de grupos de extremos de red
  2. Busca el grupo de extremos de red que quieres borrar.
  3. Haz clic en el ícono de la papelera en esa fila.

gcloud


Ejecuta este comando quitar un grupo de extremos de red de un servicio de backend:

gcloud compute backend-services remove-backend [BACKEND_SERVICE] \
    [--network-endpoint-group=[NETWORK_ENDPOINT_GROUP]] \
    [--network-endpoint-group-zone=[ZONE]]

Ejecuta este comando para borrar un grupo de extremos de red:

gcloud compute network-endpoint-groups delete [NEG_NAME] \
    --zone=[ZONE]

Por ejemplo:

gcloud compute backend-services remove-backend my-neg-backend \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=southeast1-a
gcloud compute network-endpoint-groups delete my-lb-neg \
    --zone=asia-southeast1-a

Muestra extremos en un grupo de extremos de red

Console


Sigue estos pasos para ver una lista de extremos en un grupo de extremos de red:

  1. Dirígete a la página de grupos de extremos de red en Google Cloud Platform Console.
    Ir a la página de grupos de extremos de red
  2. Haz clic en el Nombre del grupo de extremos de red del que quieres quitar extremos. Verás la página de detalles del grupo de extremos de red, en la que se muestran los extremos para el grupo de extremos.

gcloud


Usa este comando para enumerar todos los extremos de red en un grupo de extremos de red:

gcloud compute network-endpoint-groups list-network-endpoints NEG_NAME \
    [--zone=ZONE]

Comprueba el estado de los extremos de red

Los servicios de backend con grupos de extremos de red deben usar una verificación de estado cuya especificación de puerto sea una de las que se mencionan a continuación:

  • un puerto fijo (numerado) (--port)
  • configurada para usar el puerto de entrega del extremo de red (--use-serving-port)

En el ejemplo siguiente, se crea una verificación de estado que usa el puerto de entrega del extremo de red con la marca --use-serving-port. Ten en cuenta que la marca --use-serving-port se implementa con gcloud compute health-checks create, pero no con gcloud compute health-checks update.

No se puede usar una verificación de estado heredada con un backend que sea un grupo de extremos de red. Para obtener más información, consulta esta página sobre conceptos de verificación de estado.

Ejemplo de un grupo de extremos de red de balanceo de cargas

En el ejemplo siguiente, se crea un grupo de extremos de red de balanceo de cargas, se adjuntan tres extremos de red al NEG y se enumeran los extremos. Se supone que ya tiene tres VM con servicios que se ejecutan en los puertos.

  1. Crea una subred, un alias de direcciones IP y dos VM.

    gcloud compute networks subnets create subnet-a \
        --network network-a \
        --range 10.128.0.0/16 \
        --secondary-range container-range=192.168.0.0/16
    
    gcloud compute instances create vm1 --zone asia-southeast1-a \
        --network-interface \
        "subnet=subnet-a,aliases=r1:192.168.0.0/24;secondaryrange1:192.168.1.0/24"
    
    gcloud compute instances create vm2 --zone asia-southeast1-a \
        --network-interface \
        "subnet=subnet-a,aliases=r1:192.168.2.0/24"
    
  2. Crea el NEG. Ten en cuenta que puedes tener varios NEG en la misma zona.

    gcloud compute network-endpoint-groups create neg1 \
         --zone=asia-southeast1-a \
         --network=network-a --subnet=subnet-a \
         --default-port=80
    
        Created [https://www.googleapis.com/compute/beta/projects/project/zones/asia-southeast1-a/networkEndpointGroups/my-lb-neg].
        NAME       LOCATION       TYPE            ENDPOINT_TYPE   DEFAULT_PORT ENDPOINTS
        neg1  asia-southeast1-a  LOAD_BALANCING  80           0
    
  3. Agrega extremos al NEG.

    gcloud compute network-endpoint-groups update neg1 \
       --zone=asia-southeast1-a
       --add-endpoint ‘instance=vm1,ip=192.168.0.1’ \
       --add-endpoint ‘instance=vm1,ip=192.168.0.1,port=8080’ \
       --add-endpoint ‘instance=vm1,ip=192.168.1.2,port=8088’ \
       --add-endpoint ‘instance=vm1,ip=192.168.1.2,port=8080’ \
       --add-endpoint ‘instance=vm2,ip=192.168.2.1,port=8088’ \
       --add-endpoint ‘instance=vm2,ip=192.168.2.2,port=8080’
    
  4. Crea una verificación de estado.

    gcloud compute health-checks create http healthcheck1 --use-serving-port
    
  5. Crea el servicio de backend.

    gcloud compute backend-services create backendservice1 --global --health-checks healthcheck1
    
  6. Agrega un backend al servicio de backend

    gcloud compute backend-services add-backend backendService1 --global \
       --network-endpoint-group=neg1 \
       --network-endpoint-group-zone=asia-southeast1-a \
       --balancing-mode=RATE --max-rate-per-endpoint=5
    
  7. Crea un mapa de URL.

    gcloud compute url-maps create urlmap1 --default-service backendservice1
    
  8. Crea el proxy de destino.

    gcloud compute target-http-proxies create httpproxy1 --url-map urlmap1
    
  9. Crea la regla de reenvío.

    gcloud compute forwarding-rules create forwardingrule1 \
        --ip-protocol http --ports=80 --global --target-http-proxy httpproxy1
    
  10. Crea las reglas de firewall.

    gcloud compute firewall-rules create allow-load-balancer \
        --network network-a \
        --source-ranges 130.211.0.0/22,35.191.0.0/16 \
        --target-tags lb \
        --allow tcp