En esta página se describe cómo trabajar con subredes de solo proxy que usan los balanceadores de carga basados en Envoy. Una subred de solo proxy proporciona un grupo de direcciones IP reservadas exclusivamente para los proxies de Envoy que usan los balanceadores de carga. Google Cloud No se puede usar para ningún otro fin.
Los proxies finalizan las conexiones entrantes y, a continuación, evalúan a dónde debe ir cada solicitud en función del mapa de URLs, la afinidad de sesión del servicio backend, el modo de balanceo de carga de cada grupo de instancias backend o NEG, y otros factores.
Un cliente establece una conexión con la dirección IP y el puerto de la regla de reenvío del balanceador de carga.
Cada proxy escucha en la dirección IP y el puerto especificados por la regla de reenvío del balanceador de carga correspondiente. Uno de los proxies recibe y finaliza la conexión de red del cliente.
El proxy establece una conexión con la VM o el punto final de backend adecuados de un NEG, según lo determinado por el mapa de URLs y los servicios de backend del balanceador de carga.
A cada uno de los proxies del balanceador de carga se le asigna una dirección IP interna. Los paquetes enviados desde un proxy a una VM o un endpoint de backend tienen una dirección IP de origen de la subred solo proxy.
La subred solo de proxy no se puede usar para ningún otro fin. La dirección IP de la regla de reenvío del balanceador de carga no procede de la subred de solo proxy. Además, las direcciones IP de las VMs y los endpoints de backend no proceden de la subred solo proxy.
Balanceadores de carga admitidos
Los siguientes balanceadores de carga basados en Envoy requieren subredes de solo proxy:
Subred de solo proxy con el propósito
GLOBAL_MANAGED_PROXY
:- Balanceador de carga de aplicación interno entre regiones
- Balanceador de carga de red de proxy interno entre regiones
En una red y una región determinadas, todos los balanceadores de carga de aplicaciones internos entre regiones de esa región comparten una única subred de solo proxy con el propósito
GLOBAL_MANAGED_PROXY
. En cualquier momento, solo puede haber una subred con el propósitoGLOBAL_MANAGED_PROXY
activa en cada región de una red de VPC.
Subred de solo proxy con el propósito
REGIONAL_MANAGED_PROXY
:- Balanceador de carga de aplicación externo regional
- Balanceador de carga de aplicación interno regional
- Balanceador de carga de red de proxy externo regional
- Balanceador de carga de red de proxy interno regional
En una red y una región concretas, se comparte una única subred solo de proxy con el propósito
REGIONAL_MANAGED_PROXY
entre todos los balanceadores de carga regionales basados en Envoy. En cualquier momento, solo puede haber una subred con el propósitoREGIONAL_MANAGED_PROXY
activa en cada región de una red de VPC.
Cómo encajan las subredes de solo proxy en la arquitectura del balanceador de carga
En el siguiente diagrama se muestran los recursos de Google Cloud necesarios para un balanceador de carga de aplicación interno regional.
Como se muestra en los diagramas, un despliegue de balanceador de carga basado en Envoy requiere al menos dos subredes:
- Las VMs de backend y los endpoints de backend del balanceador de carga usan una sola subred cuyo intervalo de direcciones IP principal es
10.1.2.0/24
(en este ejemplo). Esta subred no es la subred de solo proxy. Puedes usar varias subredes para tus VMs y endpoints de backend si las subredes están en la misma región que el balanceador de carga. En el caso de los balanceadores de carga de aplicaciones internos, la dirección IP del balanceador de carga asociada a la regla de reenvío también puede estar en esta subred (pero no es necesario). - La subred de solo proxy es
10.129.0.0/23
(en este ejemplo).
Planificar el tamaño de la subred de solo proxy
Una subred de solo proxy debe proporcionar al menos 64 direcciones IP. Esto corresponde a una longitud de prefijo inferior o igual a /26
. Te recomendamos que empieces con una subred solo proxy con un prefijo /23
(512 direcciones solo proxy) y que cambies el tamaño a medida que cambien tus necesidades de tráfico.
Los proxies se asignan a nivel de VPC, no de balanceador de carga. Debes crear una subred de solo proxy en cada región de una red de VPC en la que uses balanceadores de carga basados en Envoy. Si implementas varios balanceadores de carga en la misma región y en la misma red de VPC, compartirán la misma subred de solo proxy para el balanceo de carga. Los balanceadores de carga basados en Envoy escalan automáticamente el número de proxies disponibles para gestionar el tráfico en función de tus necesidades.
El número de proxies asignados a tu balanceador de carga se calcula en función de la capacidad medida que se necesita para gestionar el tráfico en un periodo de 10 minutos. Tomamos el mayor de estos valores en dicho periodo:
Número de proxies necesarios para servir el ancho de banda del tráfico. Cada instancia de proxy puede gestionar hasta 18 MB por segundo. Monitorizamos el ancho de banda total necesario y lo dividimos por el ancho de banda que admite la instancia de proxy.
Número de proxies necesarios para gestionar las conexiones y las solicitudes. Sumamos el total de cada uno de los recursos siguientes y dividimos cada suma por el valor que puede gestionar la instancia de proxy:
- 600 o 150 conexiones nuevas (HTTP o HTTPS, respectivamente) por segundo
- 3000 conexiones activas
1400 solicitudes por segundo
Las instancias de proxy pueden gestionar 1400 solicitudes por segundo si Cloud Logging está inhabilitado. Si habilitas Logging, la cifra disminuye. Por ejemplo, si registras absolutamente todas las solicitudes, la capacidad del proxy se reduce a 700 solicitudes por segundo. Una opción es configurar Logging para que muestree un porcentaje menor de tráfico. De ese modo, cumples tus requisitos de observabilidad y mantienes el coste bajo control.
Con cada proxy de más, se te factura otra hora. Para obtener información sobre cómo se facturan las subredes de solo proxy, consulta la sección Cargo por instancia de proxy de la documentación de precios de Cloud Load Balancing.
Balanceadores de carga basados en Envoy y proxies Envoy de proxy web seguro
Cuando se configura un balanceador de carga basado en Envoy y un proxy web seguro en la misma VPC, es importante tener en cuenta lo siguiente:
Tanto el balanceador de carga basado en Envoy como el proxy web seguro usan direcciones IP de la misma subred de solo proxy.
Para cumplir los requisitos de direcciones IP de ambos servicios, considera la posibilidad de usar una subred de solo proxy más grande, como una subred
/22
. De esta forma, se asegura que haya suficiente espacio de direcciones para ambas configuraciones.Te recomendamos que monitorices la capacidad del proxy para hacer un seguimiento del consumo de direcciones IP. De esta forma, se evita que se agote la subred solo proxy, lo que puede interrumpir los servicios.
Crear una subred de solo proxy
Debes crear subredes de solo proxy para los balanceadores de carga basados en Envoy, independientemente de si tu red está en modo automático o personalizado. Crear una subred de solo proxy es prácticamente el mismo procedimiento que crear cualquier subred, pero con la adición de algunas marcas.
En el caso de una subred de solo proxy, el valor de --purpose
debe ser REGIONAL_MANAGED_PROXY
o GLOBAL_MANAGED_PROXY
, en función de tu balanceador de carga.
No puedes reutilizar una subred como subred de solo proxy. Debes crear una subred en cada región que tenga un balanceador de carga basado en Envoy.
Esto se debe en parte a que el subnets update
comando no permite
modificar el campo --purpose
de una subred.
Antes de crear reglas de reenvío para los balanceadores de carga regionales, debe crear una subred de solo proxy para que la usen los proxies de los balanceadores de carga. Si intentas configurar un balanceador de carga sin crear primero una subred solo proxy para la región, se producirá un error en el proceso de creación del balanceador de carga.
Consola
- En la Google Cloud consola, ve a la página Redes de VPC.
Ir a la página Redes de VPC - Haga clic en el nombre de la red VPC compartida a la que quiera añadir una subred de solo proxy.
- Haz clic en Añadir subred.
- Escribe un nombre.
- Selecciona una región.
- Asigna a Propósito uno de los siguientes valores:
- En el caso de los balanceadores de carga regionales, Proxy gestionado regional
- En el caso de los balanceadores de carga interregionales, proxy gestionado interregional
- Introduce un intervalo de direcciones IP.
- Haz clic en Añadir.
gcloud
El comando gcloud compute networks subnets create crea una subred de solo proxy.
gcloud compute networks subnets create SUBNET_NAME \ --purpose=SUBNET_PURPOSE \ --role=ACTIVE \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=CIDR_RANGE
Los campos se definen de la siguiente manera:
- SUBNET_NAME es el nombre de la subred de solo proxy.
- SUBNET_PURPOSE es el propósito de la subred. Asigna el valor
REGIONAL_MANAGED_PROXY
oGLOBAL_MANAGED_PROXY
, según tu balanceador de carga. - REGION es la región de la subred de solo proxy.
- VPC_NETWORK_NAME es el nombre de la red de VPC que contiene la subred.
- CIDR_RANGE es el intervalo de direcciones IP principal de la subred. Debes usar una máscara de subred que no sea superior a
26
para que haya al menos 64 direcciones IP disponibles para los proxies de la región. La longitud de máscara de subred recomendada es/23
.
Para ver un ejemplo de configuración completo, consulta Configurar la subred solo de proxy.
Debes configurar una regla de cortafuegos para que tus backends acepten conexiones de la subred de solo proxy. Para ver un ejemplo de configuración completo, incluida la configuración de reglas de firewall, consulta lo siguiente:
- Configurar un balanceador de carga de aplicación externo regional
- Configurar un balanceador de carga de aplicación interno regional
- Configurar un balanceador de carga de red de proxy interno regional
- Configurar un balanceador de carga de red de proxy externo regional
- Configurar un balanceador de carga de aplicación interno entre regiones
- Configurar un balanceador de carga de red de proxy interno entre regiones
Disponibilidad de proxy
A veces, las Google Cloud regiones no tienen suficiente capacidad de proxy para un nuevo balanceador de carga. Si esto ocurre, la Google Cloud consola proporciona un mensaje de advertencia de disponibilidad del proxy cuando creas el balanceador de carga. Para solucionar este problema, puedes hacer una de las siguientes cosas:
- Selecciona otra región para el balanceador de carga. Esta puede ser una opción práctica si tienes back-ends en otra región.
- Selecciona una red de VPC que ya tenga una subred de solo proxy asignada.
- Espera a que se resuelva el problema de capacidad.
Cambiar el tamaño o el intervalo de direcciones de una subred de solo proxy
Cuando aumente la cantidad de tráfico que gestiona tu balanceador de carga, es posible que tengas que aumentar el tamaño de tu subred de solo proxy para permitir que un mayor número de proxies de Envoy impulse tus balanceadores de carga.
No puedes ampliar el intervalo de direcciones IPv4 principal de una subred solo de proxy de la misma forma que ampliarías el intervalo de direcciones IPv4 principal de una subred normal (con el comando expand-ip-range). En su lugar, debe sustituir la subred de solo proxy por una nueva. El proceso de sustitución funciona de la siguiente manera:
Crea una subred de solo proxy en la misma región y red de VPC que la subred de solo proxy original. Cuando crees esta subred de solo proxy, asigna el valor
BACKUP
al camporole
. (Para cada finalidad de subred de solo proxy, Google Cloud permite que haya una subred de solo proxyACTIVE
y unaBACKUP
en una región y una red de VPC determinadas).Ajusta las reglas de cortafuegos de entrada aplicables a tus backends para que permitan las conexiones de los intervalos de direcciones IPv4 principales de las subredes de solo proxy originales y nuevas.
Asigna el rol
ACTIVE
a la nueva subred de solo proxy y especifica un periodo de purga para permitir que finalicen las conexiones entre tus backends y los proxies de Envoy de la subred de solo proxy original.Google Cloud se asigna automáticamente el rolBACKUP
a la subred de solo proxy original cuando se asigna el rolACTIVE
a la nueva subred de solo proxy.Monitoriza el estado de la subred original de solo proxy (consulta la pestaña gcloud para obtener más información sobre la monitorización). Cuando su estado sea
READY
, la subred ya no se usará, siempre que su rol seaBACKUP
. En este punto, puedes ajustar las reglas de cortafuegos de entrada para permitir las conexiones solo desde el intervalo de direcciones IPv4 principal de la nueva subred de solo proxy y eliminar la subred de solo proxy original.
Consola
Crea la nueva subred de solo proxy en la misma región y red VPC, especificando un intervalo de direcciones IPv4 principal que se ajuste a tus necesidades. Asigna el rol de copia de seguridad a la nueva subred de solo proxy.
- En la Google Cloud consola, ve a la página Redes de VPC.
Ir a la página Redes de VPC - Haga clic en el nombre de la red VPC compartida a la que quiera añadir una subred de solo proxy.
- Haz clic en Añadir subred.
- Escribe un nombre.
- Selecciona una región.
- Asigna a Propósito uno de los siguientes valores:
- En el caso de los balanceadores de carga regionales, Proxy gestionado regional
- En el caso de los balanceadores de carga interregionales, proxy gestionado interregional
- En Rol, selecciona Copia de seguridad.
- Introduce un intervalo de direcciones IP.
- Haz clic en Añadir.
- En la Google Cloud consola, ve a la página Redes de VPC.
Actualiza las reglas de cortafuegos de entrada que se aplican a tus VMs o endpoints de backend para que incluyan los intervalos de direcciones IPv4 principales de ambas subredes de solo proxy, la original y la nueva.
Asigna el rol activo a la nueva subred de solo proxy y especifica un tiempo de espera de purga para permitir que finalicen las conexiones entre tus backends y la subred de solo proxy original. Google Cloud asigna automáticamente el rol de copia de seguridad a la subred de solo proxy original cuando asignas el rol activo a la nueva subred de solo proxy.
- En la Google Cloud consola, ve a la página Redes de VPC.
Ir a la página Redes de VPC - Haga clic en el nombre de la red de VPC compartida que quiera modificar.
- En Subredes de solo proxy reservadas para el balanceo de carga, busca la subred de copia de seguridad que has creado en el paso anterior.
- Haz clic en Activate (Activar).
- Especifica un tiempo de espera de purga opcional.
- Haz clic en Activar la subred.
- En la Google Cloud consola, ve a la página Redes de VPC.
Una vez que haya transcurrido el tiempo de espera de purga de conexiones o cuando tengas la certeza de que las conexiones a tus VMs o endpoints de backend no proceden de proxies de la subred solo de proxy original, puedes hacer lo siguiente:
- Actualiza las reglas de cortafuegos de entrada que se aplican a tus VMs o endpoints de backend para que incluyan el intervalo de direcciones IPv4 principal de la nueva subred de solo proxy.
- Elimina la subred de solo proxy original.
gcloud
En los siguientes pasos se muestra cómo sustituir una subred de solo proxy por otra. En todos los pasos siguientes:
ORIGINAL_PROXY_ONLY_SUBNET_NAME
: el nombre de la subred de solo proxy que ya existeORIGINAL_PROXY_ONLY_SUBNET_RANGE
: el intervalo de direcciones IPv4 principal de la subred solo proxy en formato CIDR. Este es un intervalo de direcciones que elegiste anteriormente.NEW_PROXY_ONLY_SUBNET_NAME
: nombre de la nueva subred de solo proxyNEW_PROXY_ONLY_SUBNET_RANGE
: el intervalo de direcciones IPv4 principal de la nueva subred solo de proxy en formato CIDR. Elige un intervalo de direcciones IPv4 que se ajuste a tus necesidades.PROXY_ONLY_SUBNET_FIREWALL_RULE
: el nombre de una regla de cortafuegos de VPC de entrada que permite conexiones desde subredes de solo proxy.REGION
: región que contiene las subredes de solo proxy originales y nuevasVPC_NETWORK_NAME
: el nombre de la red de VPC de la red que contiene las subredes de solo proxy originales y nuevas
Crea una subred de solo proxy en la misma región y red VPC con el comando gcloud compute networks subnets create y la marca
--role=BACKUP
.gcloud compute networks subnets create NEW_PROXY_ONLY_SUBNET_NAME \ --purpose=SUBNET_PURPOSE \ --role=BACKUP \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=NEW_PROXY_ONLY_SUBNET_RANGE
Haz los cambios siguientes:
SUBNET_PURPOSE
:REGIONAL_MANAGED_PROXY
oGLOBAL_MANAGED_PROXY
, según el balanceador de carga que necesite usar la subred de solo proxy. Para obtener más información, consulta Balanceadores de carga admitidos.
Actualiza las reglas de cortafuegos de entrada que se aplican a tus VMs o endpoints de backend para que incluyan los intervalos de direcciones IPv4 principales de ambas subredes de solo proxy, la original y la nueva.
gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges=ORIGINAL_PROXY_ONLY_SUBNET_RANGE,NEW_PROXY_ONLY_SUBNET_RANGE
Asigna el rol
ACTIVE
a la nueva subred de solo proxy y especifica un tiempo de espera de purga (--drain-timeout
) para permitir que finalicen las conexiones entre tus backends y la subred de solo proxy original.Google Cloud asigna automáticamente el rolBACKUP
a la subred de solo proxy original cuando asignas el rolACTIVE
a la nueva subred de solo proxy.Para romper inmediatamente las conexiones entre tus back-ends y los proxies de Envoy en la subred de solo proxy original, asigna el valor
0s
a--drain-timeout
.gcloud compute networks subnets update NEW_PROXY_ONLY_SUBNET_NAME \ --region=REGION \ --role=ACTIVE \ --drain-timeout=CONNECTION_DRAINING_TIMEOUT
Haz los cambios siguientes:
CONNECTION_DRAINING_TIMEOUT
: el tiempo, en segundos, que se debe esperar para que finalicen las conexiones entre tus backends y los proxies de Envoy de la subred de solo proxy original.
Monitoriza el estado de la subred original solo proxy con el comando gcloud compute networks subnets describe.
gcloud compute networks subnets describe ORIGINAL_PROXY_ONLY_SUBNET_NAME \ --region=REGION
Espera a que se complete el proceso. Durante el drenaje, el estado de la subred original solo de proxy es
DRAINING
. Es posible que tengas que ejecutar el comandodescribe
varias veces antes de que el estado de la subred original solo proxy cambie aREADY
.Una vez que la subred de solo proxy original se
READY
con el rolBACKUP
, la subred deja de usarse. Actualiza las reglas de cortafuegos de entrada que se apliquen a tus VMs o endpoints de backend para que incluyan el intervalo de direcciones IPv4 principal de la nueva subred de solo proxy.gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges=NEW_PROXY_ONLY_SUBNET_RANGE
Elimina la subred de solo proxy original.
gcloud compute networks subnets delete ORIGINAL_PROXY_ONLY_SUBNET_NAME \ --region=REGION
Migrar la finalidad de una subred de solo proxy
Si has creado una subred de solo proxy con --purpose=INTERNAL_HTTPS_LOAD_BALANCER
, tendrás que migrar el propósito de la subred a REGIONAL_MANAGED_PROXY
para poder crear otros balanceadores de carga basados en Envoy en la misma región de la red VPC.
Consola
Si usas la consola de Google Cloud para crear el balanceador de carga, se te pedirá que migres el propósito de una subred solo proxy creada anteriormente de --purpose=INTERNAL_HTTPS_LOAD_BALANCER
a REGIONAL_MANAGED_PROXY
mientras creas el balanceador de carga.
gcloud
Para cambiar el propósito de una subred de solo proxy de --purpose=INTERNAL_HTTPS_LOAD_BALANCER
a REGIONAL_MANAGED_PROXY
, usa el siguiente comando:
gcloud compute networks subnets update PROXY_ONLY_SUBNET \ --purpose=REGIONAL_MANAGED_PROXY \ --region=REGION
Migrar el propósito de una subred de solo proxy de --purpose=INTERNAL_HTTPS_LOAD_BALANCER
a REGIONAL_MANAGED_PROXY
no provoca ningún tiempo de inactividad. El cambio debería aplicarse casi al instante.
Eliminar una subred de solo proxy
Al eliminar una subred de solo proxy, se libera su intervalo de direcciones IP principal para que puedas usarlo con otro fin. Google Cloud aplica las siguientes reglas cuando recibe una solicitud para eliminar una subred de solo proxy:
No se puede eliminar una subred solo proxy activa si hay al menos un balanceador de carga regional en la misma región y red de VPC.
No se puede eliminar una subred de solo proxy activa si hay una subred de solo proxy de copia de seguridad en la misma región y red de VPC.
Si intentas eliminar una subred de solo proxy activa antes de eliminar la copia de seguridad, aparecerá el siguiente mensaje de error: "Uso de recursos no válido: no se puede eliminar la subred ACTIVA porque existe una subred de COPIA DE SEGURIDAD".
En la práctica, estas reglas tienen el siguiente efecto:
Si no se ha definido ningún balanceador de carga regional en una región y una red de VPC concretas, puedes eliminar las subredes solo proxy de esa región. Si existe una subred de solo proxy de copia de seguridad, primero debes eliminarla para poder eliminar la subred de solo proxy activa.
Si tienes al menos un balanceador de carga regional definido en una región y una red VPC concretas, no puedes eliminar la subred solo proxy activa. Sin embargo, puedes ascender una subred solo proxy de copia de seguridad al rol activo, lo que automáticamente degrada la subred solo proxy que estaba activa al rol de copia de seguridad. Una vez que se hayan purgado las conexiones, puedes eliminar la subred de solo proxy de copia de seguridad (que estaba activa).
Para obtener más información, consulta el artículo sobre eliminar subredes en la documentación de redes VPC.
Limitaciones
Se aplican las siguientes restricciones a las subredes de solo proxy:
No puedes tener una subred
INTERNAL_HTTPS_LOAD_BALANCER
y una subredREGIONAL_MANAGED_PROXY
en la misma red y región, de la misma forma que no puedes tener dos proxiesREGIONAL_MANAGED_PROXY
ni dos proxiesINTERNAL_HTTPS_LOAD_BALANCER
.Solo puedes crear una subred de solo proxy activa y otra de copia de seguridad en cada región de cada red de VPC.
No puedes crear una subred de solo proxy de copia de seguridad a menos que ya hayas creado una subred de solo proxy activa en esa región y red.
Para cambiar el rol de una subred de solo proxy de copia de seguridad a activa, actualiza la subred. Cuando lo hagas, Google Cloud cambiará automáticamente la subred de solo proxy que estaba activa a la copia de seguridad. No puedes definir explícitamente el rol de una subred de solo proxy como copia de seguridad actualizándola.
Durante el periodo de purga de conexiones de una subred de solo proxy (
--drain-timeout
), no puedes cambiar el rol de una subred de solo proxy de copia de seguridad a activa.Las subredes de solo proxy no admiten registros de flujo de VPC.
Siguientes pasos
- Configurar un balanceador de carga de aplicación externo regional con backends de grupos de instancias de VM
- Configurar un balanceador de carga de aplicación externo regional en un entorno de VPC compartida
- Configurar un balanceador de carga de aplicación interno regional con backends de grupos de instancias de VM
- Configurar un balanceador de carga de aplicación interno regional o entre regiones en un entorno de VPC compartida
- Configurar un balanceador de carga de red de proxy interno regional con backends de grupos de instancias de VM
- Configurar un balanceador de carga de red de proxy externo regional con backends de grupos de instancias de VM
- Configurar un balanceador de carga de red de proxy interno multirregional con backends de grupos de instancias de VM