Aislamiento para Cloud Service Mesh
En esta página, se muestra cómo configurar tu malla de servicios con un mejor aislamiento de solicitudes para tu servicio de backend mediante la creación de una configuración de aislamiento.
Esta función proporciona compatibilidad de aislamiento adicional para los backends de tus servicios para evitar el desbordamiento interregional.
De forma predeterminada, Cloud Service Mesh usa el algoritmo de cascada por región para decidir a dónde se debe enrutar el tráfico de usuarios. Con este algoritmo, Cloud Service Mesh enruta el tráfico a la región más cercana hasta que los backends se ejecutan en su límite de capacidad configurado. Después de eso, el tráfico comenzará a desbordarse hacia una región que esté más lejos.
Con esta función, según tu región de frontend y la configuración de aislamiento, el tráfico se limita a la región más cercana o local, y no se desbordará si la región más cercana se queda sin capacidad. Esto te ayuda a evitar posibles fallas en cascada y a limitar las posibles interrupciones en la misma región. De lo contrario, aún administrarás la configuración de tu servicio a nivel global.

El uso de esta función depende de tus casos de uso reales, y debes explorar detenidamente las siguientes consideraciones antes de usarla:
- Si tus backends en una región están sobrecargados, es posible que Cloud Service Mesh aún les envíe tráfico adicional, incluso si los backends de otras regiones pueden controlar el tráfico. Esto significa que es más probable que cada región individual se sobrecargue debido al tráfico adicional, y debes planificar en consecuencia.
- Tu tráfico aún se enruta con un plano de control global. Esto significa que aún existe la posibilidad de fallas coordinadas a nivel global en varias regiones.
- Esta función se configura con el recurso serviceLbPolicy. Se siguen aplicando todas las restricciones.
- Con el modo de aislamiento STRICT, las solicitudes fallan si no hay backends de entrega en la misma región.
Existen dos situaciones después de aplicar esta función:
Aislamiento más cercano
El aislamiento regional más cercano es cuando un frontend con backends ubicados en el mismo lugar se aísla solo en esa región. Si no hay un backend disponible en la ubicación local, se conectará a la región de backend mientras se optimiza la latencia de la red.

Aislamiento estricto
El aislamiento regional estricto es cuando las ubicaciones de frontend solo pueden llegar a los backends dentro de la región local. Los frontends sin backends de entrega en la región local descartarán todo su tráfico.

Cómo habilitar el aislamiento
gcloud
Sigue estos pasos para crear una configuración de aislamiento con Google Cloud CLI.
Ejecuta el siguiente comando para crear un
serviceLbPolicy:gcloud network-services service-lb-policies create my-isolation-policy \ --isolation-config-granularity=REGION \ --isolation-config-mode=ISOLATION_MODE \ --location=globalReemplaza ISOLATION_MODE por una de las siguientes opciones:
- NEAREST: El tráfico se envía a la región más cercana.
- ESTRICTO: El tráfico falla si no hay backends de entrega disponibles en la misma región que el frontend.
Si no se proporciona de forma explícita, NEAREST es el valor predeterminado. Ten en cuenta que solo puedes especificar este campo si también se establece la marca
--isolation-granularity.Como alternativa, si tienes una política existente, actualízala con el siguiente comando:
gcloud network-services service-lb-policies update POLICY_NAME \ --isolation-config-granularity=REGION \ --isolation-config-mode=ISOLATION_MODE \ --location=globalReemplaza POLICY_NAME por el nombre de tu política existente.
Una vez que se crea o actualiza un recurso
serviceLbPolicy, adjúntalo a tu recursobackendService:gcloud compute backend-services update BACKEND_SERVICE_NAME \ ‐‐service-lb-policy POLICY_URLReemplaza BACKEND_SERVICE_NAME por el nombre de tu servicio de backend.
Cómo inhabilitar el aislamiento
Para inhabilitar esta función, tienes dos opciones:
- Establece
isolationConfigscomo no especificado. - Quita
ServiceLbPolicydel servicio si es la única función que habilitaste con esta política.
Establece isolationConfigs como no especificado
Ejecuta el siguiente comando para establecer isolationConfigs como no especificado:
gcloud network-services service-lb-policies update my-isolation-policy \
--isolation-config-granularity=unspecified \
--isolation-config-mode=unspecified \
--location=global
Quita ServiceLbPolicy del servicio
Ejecuta el siguiente comando para quitar ServiceLbPolicy:
gcloud network-services service-lb-policies delete my-isolation-policy --location=global
Asistencia, diagnóstico y solución de problemas
En esta sección, se describen los posibles problemas después de activar esta función.
Backends sobrecargados
Esta función proporciona compatibilidad de aislamiento y, por lo tanto, el tráfico no se cambiará a una región remota si la región local está llena. Por lo tanto, algunos de tus backends podrían sobrecargarse si esta función está activada. Si este no es el comportamiento que buscas, considera desactivar esta función. También puedes considerar habilitar el escalamiento automático para controlar mejor las sobrecargas de backend.
Se cambió el tráfico
Esta función evita el desbordamiento de tráfico basado en la capacidad. Por lo tanto, si tus backends estaban sobrecargados antes de activar esta función, es posible que el tráfico ya se haya cambiado a una región remota. En ese caso, activar esta función podría hacer que este tráfico vuelva a cambiar.
No se cambió el tráfico
Esta función evita el desbordamiento de tráfico basado en la capacidad. Por lo tanto, si tus backends no estaban sobrecargados antes de activar esta función, es probable que la región más cercana pueda controlar todo el tráfico. En ese caso, activar esta función podría no causar cambios de tráfico a corto plazo.
Se cambió el tráfico después de que se agregaron o quitaron backends de una región
Cuando esta función está activada, es posible que se cambie el tráfico si se agregan backends nuevos a una región. Esto es lo esperado, ya que Cloud Service Mesh intentará enrutar el tráfico a estos backends para optimizar la latencia general de la red. Del mismo modo, cuando se quiten los últimos backends, Cloud Service Mesh comenzará a enviar tráfico a una región remota. Este también es un comportamiento esperado.
Fallaron las solicitudes
Si el modo de aislamiento STRICT está habilitado y no hay backends que entreguen en la misma región que el frontend, se espera que falle el tráfico. Si no es el comportamiento deseado, asegúrate de tener backends en cada una de las regiones a las que esperas que se envíe el tráfico.