En este documento se incluyen instrucciones para configurar grupos de puntos finales de red (NEGs) por zonas. Antes de configurar NEGs zonales, consulta la descripción general de los grupos de endpoints de red.
NEGs por zonas con GCE_VM_IP
endpoints
Se pueden usar como backends de servicios de backend en balanceadores de carga de red de paso a través internos y externos. Para obtener más información, consulta el artículo Descripción general de los NEG zonales: balanceo de carga.
Para ver ejemplos completos, consulta lo siguiente:
- Configurar un balanceador de carga de red de paso a través interno con backends de NEG zonales
- Configurar un balanceador de carga de red de paso a través externo con backends de NEG zonales
NEGs por zonas con GCE_VM_IP_PORT
endpoints
Se pueden usar como backends de servicios de backend en los siguientes tipos de balanceadores de carga:
- Balanceador de carga de aplicación externo
- Balanceador de carga de aplicación interno
- Balanceador de carga de red de proxy externo
- Balanceador de carga de red de proxy interno
- Ejemplo de principio a fin: configurar un balanceador de carga de red con proxy interno regional con backends de NEG zonales.
El principal caso práctico de los GCE_VM_IP_PORT
NEG zonales es el balanceo de carga nativo de contenedores
para que puedas distribuir el tráfico entre los microservicios que se ejecutan en contenedores en tus máquinas virtuales. El balanceo de carga nativo de contenedores permite que los balanceadores de carga se dirijan directamente a los pods y que tomen decisiones sobre la distribución de la carga a nivel de pod en lugar de a nivel de máquina virtual.
Hay dos formas de configurar el balanceo de carga nativo de contenedores: usar NEGs gestionados por GKE Ingress o usar NEGs independientes.
Para obtener instrucciones, consulta:
- Balanceo de carga nativo de contenedores mediante Ingress
- Balanceo de carga nativo de contenedores mediante NEG de zona independientes
Configurar NEGs por zona
En el resto de esta página se describe cómo configurar NEGs zonales antes o después de haber creado un balanceador de carga. Ten en cuenta que algunas de estas acciones no se aplican a los NEG zonales creados y gestionados por Ingress.
Crear un grupo de puntos finales de red por zonas
Consola
Para crear un grupo de endpoints de red de zona, sigue estos pasos:
- Ve a la página Grupos de puntos finales de red de la Google Cloud consola.
Ve a la página Grupos de puntos finales de red - Haz clic en Crear grupo de endpoints de red.
- En Tipo de grupo de puntos finales de red, selecciona Tipo de punto final de red: zonal.
- Escriba el nombre del grupo de endpoints de red.
- En Tipo de punto final de red, selecciona Grupo de puntos finales de red (por zonas).
- Selecciona el Tipo de endpoint en función del tipo de balanceador de carga que utilices.
- Selecciona Red.
- Selecciona la Subred.
- Selecciona la zona.
- En el caso de los NEG zonales con
GCE_VM_IP_PORT
endpoints, introduce un puerto predeterminado. - Haz clic en Crear.
gcloud
Crear un NEG por zonas GCE_VM_IP_PORT
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 siguiente manera:
NEG_NAME
es el nombre del nuevo grupo de puntos finales de red. El nombre debe ser único en 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 llamadadefault
.SUBNET
es el nombre de la subred a la que pertenecen los endpoints de la red. Esta marca es opcional si la red es una red de VPC de modo automático. Si se omite, el NEG se encuentra en la subred creada automáticamente de la región de la zona seleccionada. Esta marca es obligatoria si la red es una VPC en modo personalizado o si necesitas especificar una subred creada manualmente.DEFAULT_PORT
es el puerto predeterminado asociado al NEG. Esta marca es opcional. Si se omite, todos los endpoints deben especificarse mediante IP:puerto. Si se incluye, la parteport
se puede omitir de la especificación del endpoint y se asumirá el puerto predeterminado.
Crear un NEG por zonas GCE_VM_IP
Para crear un grupo de endpoints de red por zonas GCE_VM_IP
, debes especificar network-endpoint-type
, como se muestra a continuación:
gcloud compute network-endpoint-groups
create
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=gce-vm-ip \ --zone=ZONE \ --network=NETWORK --subnet=SUBNET
En este comando, las marcas se definen de la siguiente manera:
NEG_NAME
es el nombre del nuevo grupo de puntos finales de red. El nombre debe ser único en 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.SUBNET
es el nombre de la subred a la que pertenecen los endpoints de la red.
Añadir endpoints a un grupo de endpoints de red
Consola
Para añadir endpoints a un grupo de endpoints de red, sigue estos pasos:
- Ve a la página Grupos de puntos finales de red de la Google Cloud consola.
Ve a la página Grupos de puntos finales de red - Haga clic en el Nombre del grupo de extremos de red al que quiera añadir extremos. Verá la página Detalles del grupo de puntos finales de red.
- En la sección Puntos finales de red de este grupo, haz clic en Añadir punto final de red. Verás la página Añadir punto final de red.
- Selecciona una instancia de VM para añadir sus direcciones IP internas como endpoints de red y haz clic en Añadir. Verás la interfaz de red, la zona, la subred y la dirección IP interna de la interfaz de la VM asignada al endpoint.
- En el caso de los NEG zonales con
GCE_VM_IP_PORT
puntos finales, sigue estos pasos:- Introduce la dirección IP o el intervalo de direcciones del nuevo endpoint de red.
- Seleccione el Tipo de puerto.
- Si seleccionas Predeterminado, el endpoint usará el puerto predeterminado de todos los endpoints del grupo de endpoints de red.
- Si seleccionas Personalizar, introduce el Número de puerto que debe usar el endpoint.
- Para añadir más endpoints, haz clic en Añadir endpoint de red y repite los pasos 5 y 6.
- Una vez que hayas añadido todos los endpoints que necesites, haz clic en Añadir.
gcloud
Para añadir endpoints a un grupo de endpoints de red, sigue estos pasos:
gcloud compute network-endpoint-groups update NEG_NAME \ --zone=ZONE \ --add-endpoint 'instance=INSTANCE_NAME,[ip=IP_ADDRESS],[port=PORT]' \ [--add-endpoint ...]
Haz los cambios siguientes:
NEG_NAME
: el nombre de la NEGZONE
: el nombre de la zona en la que se encuentra el NEG.INSTANCE_NAME
: el nombre de la VM a la que pertenece la dirección IP.IP_ADDRESS
: dirección IP opcional del endpoint de red que se va a añadir. Si omite la dirección IP,Google Cloud selecciona la dirección IP interna principal de la instancia de VM que coincida con la subred del NEG.PORT
: el puerto del endpoint de red que se va a añadir. El puerto es opcional si se especifica el puerto predeterminado en el NEG. Este campo no se admite en los NEG zonales con endpointsGCE_VM_IP
.
Para obtener más información, consulta el artículo Descripción general de los grupos de puntos finales de red zonales.
Por ejemplo, para añadir endpoints a un NEG zonal GCE_VM_IP_PORT
:
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'
Añadir un NEG zonal a un servicio de backend
Consola
Para añadir un grupo de endpoints de red a un servicio de backend, sigue estos pasos:
- Ve a la página Balanceo de carga de la Google Cloud consola.
Ir a la página Balanceo de carga - Haga clic en el nombre del balanceador de carga cuyo servicio de backend quiera editar.
- En la página Detalles del balanceador de carga, haga clic en Editar .
- En la página Editar balanceador de carga, haz clic en Configuración de backend.
- En la página Configuración de backend, haz clic en Editar .
- Haz clic en + Añadir backend.
- Selecciona un grupo de endpoints de red por zonas y haz clic en Hecho.
- Haz clic en Actualizar.
gcloud
Para añadir un NEG a un servicio de backend, sigue estos pasos:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=NETWORK_ENDPOINT_GROUP \ --network-endpoint-group-zone=ZONE
Por ejemplo, para añadir un GCE_VM_IP_PORT
NEG zonal a un servicio de backend, sigue estos pasos:
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
Quitar un NEG de un servicio backend
Consola
- Ve a la página Balanceo de carga de la Google Cloud consola.
Ir a la página Balanceo de carga - Haga clic en el nombre del balanceador de carga cuyo servicio de backend quiera editar.
- En la página Detalles del balanceador de carga, haga clic en Editar .
- En la página Editar balanceador de carga, haz clic en Configuración de backend.
- En la página Configuración de backend, haz clic en Editar del servicio de backend del que vas a quitar el NEG.
- En la sección Backend, busque el NEG que quiera quitar y haga clic en el icono de papelera correspondiente.
- Haz clic en Actualizar.
gcloud
Para quitar un NEG de un servicio backend, sigue estos pasos:
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
Quitar endpoints de un grupo de endpoints de red
Cuando se elimina un punto final de red de un NEG de balanceo de carga, se activa el drenaje de conexiones en función de los parámetros de drenaje especificados en el servicio de backend. Si varios servicios de backend hacen referencia al mismo NEG, se aplica el intervalo de drenaje máximo de todos los servicios de backend.
Consola
Para quitar endpoints de un grupo de endpoints de red, sigue estos pasos:
- Ve a la página Grupos de puntos finales de red de la Google Cloud consola.
Ve a la página Grupos de puntos finales de red - Haga clic en el Nombre del grupo de extremos de red del que quiera eliminar extremos. Verás la página Detalles del grupo de puntos finales de red.
- Selecciona los puntos finales de red que quieras eliminar y haz clic en Quitar punto final.
gcloud
Para quitar endpoints de un grupo de endpoints de red, sigue estos pasos:
gcloud compute network-endpoint-groups update NEG_NAME \ --zone=ZONE \ --remove-endpoint 'instance=INSTANCE_NAME,[ip=IP],[port=PORT]' \ [--remove-endpoint ...]
Por ejemplo, para quitar un endpoint de un GCE_VM_IP_PORT
NEG zonal:
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
Listar grupos de puntos finales de red
Consola
Para ver una lista de grupos de endpoints de red, ve a la página Grupos de endpoints de red de la Google Cloud consola.
Ve a la página Grupos de puntos finales de red
gcloud
Para enumerar los grupos de endpoints de red, sigue estos pasos:
gcloud compute network-endpoint-groups list
Describir un grupo de endpoints de red específico
Consola
Para obtener los detalles de un grupo de endpoints de red específico, sigue estos pasos:
- Ve a la página Grupos de puntos finales de red de la Google Cloud consola.
Ve a la página Grupos de puntos finales de red - Haga clic en el nombre del grupo de endpoints de red cuyos detalles quiera ver.
gcloud
Para obtener los detalles de un grupo de endpoints de red específico, sigue estos pasos:
gcloud compute network-endpoint-groups describe NEG_NAME \ --zone=ZONE
Haz los cambios siguientes:
NEG_NAME
: el nombre del grupo de puntos finales de redZONE
: nombre opcional de la zona en la que se creó el NEG.
Por ejemplo, el siguiente comando gcloud
muestra información sobre el grupo de endpoints de red my-lb-neg
.
gcloud compute network-endpoint-groups describe my-lb-neg \ --zone=asia-southeast1-a
El resultado del comando es el siguiente:
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
Eliminando grupos de endpoints de red
No se puede eliminar un grupo de endpoints de red si está asociado a un servicio de backend. Antes de eliminar un NEG, asegúrate de que esté separado del servicio de backend.
Si eliminas una VM, se quitarán inmediatamente todos los endpoints de red de la VM del NEG y se cerrarán todas las conexiones. Si elimina un NEG después de eliminar un servicio de backend, también se eliminarán todos los endpoints de ese NEG sin drenaje de conexiones.
Consola
Para quitar un grupo de endpoints de red de un servicio de backend, sigue estos pasos:
- Ve a la página Balanceo de carga de la Google Cloud consola.
Ir a la página Balanceo de carga - Haga clic en el nombre del balanceador de carga cuyo servicio de backend quiera editar.
- En la página Detalles del balanceador de carga, haga clic en Editar .
- En la página Editar balanceador de carga, haz clic en Configuración de backend.
- En la página Configuración de backend, haz clic en Editar del servicio de backend del que vas a quitar el NEG.
- En la sección Backend, busque el NEG que quiera quitar y haga clic en el icono de papelera correspondiente.
- Haz clic en Actualizar.
Para eliminar un grupo de endpoints de red, siga estos pasos:
- Ve a la página Grupos de puntos finales de red de la Google Cloud consola.
Ve a la página Grupos de puntos finales de red - Busca el grupo de endpoints de red que quieras eliminar.
- Haz clic en el icono de la papelera de esa fila.
gcloud
Para quitar un grupo de endpoints de red de un servicio de backend, sigue estos pasos:
gcloud compute backend-services remove-backend BACKEND_SERVICE \ --network-endpoint-group=NETWORK_ENDPOINT_GROUP \ --network-endpoint-group-zone=ZONE
Para eliminar un grupo de endpoints de red, siga estos pasos:
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
Listar endpoints de un grupo de endpoints de red
Consola
Para ver una lista de los endpoints de un grupo de endpoints de red, sigue estos pasos:
- Ve a la página Grupos de puntos finales de red de la Google Cloud consola.
Ve a la página Grupos de puntos finales de red - Haga clic en el Nombre del grupo de extremos de red del que quiera eliminar extremos. Verás la página Detalles del grupo de puntos finales de red, en la que se muestran los puntos finales del grupo.
- Para filtrar los endpoints, cree pares clave:valor en el campo de texto de Endpoints de red de este grupo.
gcloud
Para enumerar todos los endpoints de red de un grupo de endpoints de red, sigue estos pasos:
gcloud compute network-endpoint-groups list-network-endpoints NEG_NAME \ --zone=ZONE
Filtrado personalizado al enumerar los endpoints de un grupo de endpoints de red
Puede usar un filtro personalizado para limitar los endpoints que se muestran en un grupo de endpoints de red. El filtrado personalizado solo está habilitado para la API REST. No puedes usar filtros personalizados desde la consola Google Cloud ni con la interfaz de línea de comandos gcloud
.
Para obtener más información, consulta la documentación del método networkEndpointGroups.listNetworkEndpoints.
Comprobación del estado de los endpoints de red
Los servicios de backend con backends de NEGs zonales deben usar una comprobación de estado cuyo puerto sea:
- Un puerto fijo (numerado) (
--port
) - configurado para usar el puerto de servicio del endpoint de red
(
--use-serving-port
)
En el ejemplo siguiente se crea una comprobación del estado de HTTP que usa el puerto de servicio del endpoint 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
.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME --use-serving-port
No puedes usar una comprobación del estado antigua con un backend de NEG zonal. Para obtener más información, consulta el artículo Conceptos de comprobación del estado.