Configura NEG por zonas

Configura grupos de extremos de red y agrega extremos

En este documento, se brindan instrucciones para configurar grupos de extremos de red (NEG) por zonas. Antes de configurar los NEG por zonas, lee Descripción general de los grupos de extremos de red.

Crea grupos de extremos de red zonales

Console

Para crear un grupo de extremos de red por zonas, sigue estos pasos:

  1. Ve a la página Grupos de extremos de red en Google Cloud Console.
    Ir a la página Grupos de extremos de red
  2. Haz clic en CREAR GRUPO DE EXTREMOS DE RED.
  3. En Tipo de grupo de extremos de red, selecciona Network endpoint type: Zonal.
  4. Ingresa el Nombre del grupo de extremos de red.
  5. Selecciona la ubicación de la red de VPC.
  6. Selecciona la red de VPC.
  7. Selecciona la subred.
  8. Selecciona la zona.
  9. Selecciona el tipo de extremo de red.
  10. Ingresa el puerto predeterminado del extremo de red.
  11. Haz clic en Crear.

gcloud

Para crear grupos de extremos de red por zonas, usa el siguiente comando gcloud compute network-endpoint-groups create:

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, Google Cloud usa una red llamada default.
  • [SUBNET] es el nombre de la subred a la que pertenecen los extremos de la red. Esta marca es opcional si la red es de modo automático. Si se omite, el NEG reside en la subred creada de forma automática de la región de la zona seleccionada. 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 con el NEG. Esta marca es opcional. Si se omite, todos los extremos deben especificarse mediante IP:port. Si se incluye, la parte port se puede omitir de la especificación del extremo y se usa el puerto predeterminado.

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. Ve a la página Grupos de extremos de red en Google Cloud Console.
    Ir a la página 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 Network endpoint group detail.
  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.
  7. Si seleccionas Predeterminado, el extremo usará el puerto predeterminado para todos los extremos del grupo de extremos de red.
  8. Si seleccionas Personalizado, deberás ingresar el número de puerto para el extremo que se usará.
  • Para agregar más extremos, haz clic en Agregar extremo de red y repite los pasos 5 y 6.
  • 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.
    • [ZONE] es el nombre de la zona en la que reside el NEG.
    • [INSTANCE_NAME] es el nombre de la 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 NEG por zonas 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 en Google Cloud 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 Detalles del balanceador de cargas, haz clic en Editar .
    4. En la página Editar balanceador de cargas, haz clic en Configuración de backend.
    5. En la página Configuración de backend, haz clic en Editar .
    6. Haz clic en +Agregar backend.
    7. Selecciona un Grupo de extremos de la red por zonas 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 NEG de un servicio de backend

    Console

    1. Ve a la página Balanceo de cargas en Google Cloud 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 Detalles del balanceador de cargas, haz clic en Editar .
    4. En la página Editar balanceador de cargas, haz clic en Configuración de backend.
    5. En la página Configuración de backend, haz clic en Editar en el 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. Ve a la página Grupos de extremos de red en Google Cloud Console.
      Ir a la página 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 Network endpoint group detail.
    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 grupos de extremos de red, ve a la página Grupos de extremos de red en Google Cloud Console.
    Ir a la página 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

    Sigue estos pasos para obtener los detalles de un grupo de extremos de red específico:

    1. Ve a la página Grupos de extremos de red en Google Cloud Console.
      Ir a la página 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. [ZONE], que es opcional, es el nombre de la zona en la que se creó el NEG.

    Por ejemplo, con el siguiente comando de gcloud puedes enumerar 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/v1/projects/[PROJECT_ID]/global/networks/default
          zone: https://www.googleapis.com/compute/v1/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

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

    1. Ve a la página Balanceo de cargas en Google Cloud 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 Detalles del balanceador de cargas, haz clic en Editar .
    4. En la página Editar balanceador de cargas, haz clic en Configuración de backend.
    5. En la página Configuración de backend, haz clic en Editar en el 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. Ve a la página Grupos de extremos de red en Google Cloud Console.
      Ir a la página 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. Ve a la página Grupos de extremos de red en Google Cloud Console.
      Ir a la página 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 Network endpoint group detail, en la que se muestran los extremos para el grupo de extremos.
    3. Para filtrar los extremos, crea pares clave-valor en el campo de texto en Extremos de red en este grupo.

    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]
    

    Usa filtros personalizados cuando enumeres extremos en un grupo de extremos de red

    El filtrado personalizado es una función Beta.

    Puedes usar un filtro personalizado para limitar qué extremos de un grupo de extremos de red se enumeran. Los filtros personalizados solo están habilitados para la API de REST. No puedes usar filtros personalizados desde Cloud Console ni mediante la interfaz de línea de comandos de gcloud.

    Para obtener más información, consulta la documentación del método networkEndpointGroups.listNetworkEndpoints.

    Verifica el estado de los extremos de red

    Los servicios de backend con backends de NEG por zonas 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
    • Una especificación configurada para usar el puerto de entrega del extremo de red: --use-serving-port

    Con el ejemplo que aparece a continuación, 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 puedes usar una verificación de estado heredada con un backend de NEG por zonas. Para obtener más información, consulta Conceptos de verificación de estado.

    Ejemplo de NEG por zonas de balanceo de cargas

    En el siguiente ejemplo, se crea un NEG por zonas 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/v1/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 \
          --global-health-checks
      
    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 TCP --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