Cuando los servicios de una región fallan, Global Traffic Manager (GTM) detecta el error mediante comprobaciones de estado y redirige automáticamente el tráfico DNS a una región en buen estado. De esta forma, su servicio se mantiene en línea sin intervención manual. Este tutorial le muestra cómo combinar GTM con Classic Load Balancer (CLB), una oferta de Server Load Balancer (SLB), en dos regiones para construir una arquitectura activo-pasivo entre regiones.
Cómo funciona
GTM opera en la capa DNS. Supervisa el estado de sus instancias CLB en cada región y responde a las consultas DNS con la dirección IP de un endpoint en buen estado. Cuando se detecta un fallo regional, GTM deja de devolver la dirección IP de esa región y dirige todo el tráfico a la otra.
GTM puede gestionar direcciones IP de Alibaba Cloud y de otros proveedores de servicios, lo que permite despliegues de nube híbrida.
En este tutorial, las instancias de Elastic Compute Service (ECS) se ejecutan detrás de instancias CLB en dos regiones: China (Hangzhou) y China (Beijing). GTM se configura para enrutar el tráfico a ambas regiones en condiciones normales y conmutar por error a la región disponible cuando una deja de funcionar.
Para obtener más información sobre GTM, consulte What is Global Traffic Manager?.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Instancias CLB orientadas a Internet creadas en cada región. Consulte Create and manage a CLB instance.
Un grupo vServer creado para cada instancia CLB, con las instancias ECS agregadas y las aplicaciones desplegadas. Consulte Create and manage a vServer group.
Un listener creado para cada instancia CLB. Todos los listeners deben usar el mismo puerto. Consulte Add a TCP listener, Add a UDP listener, Add an HTTP listener y Add an HTTPS listener.
Acceso a la dirección IP pública de cada instancia CLB.
Un nombre de dominio registrado con un número de proveedor de contenido de Internet (ICP). Consulte Register a domain name on Alibaba Cloud y ICP filing process.
Paso 1: Comprar una instancia GTM
Inicie sesión en la consola de Alibaba Cloud DNS.
En el panel de navegación izquierdo, haga clic en Global Traffic Manager.
Haga clic en Purchase Instance.
En la página de compra, configure los parámetros y complete el pago. En este tutorial se usa la configuración predeterminada.
Paso 2: Configurar GTM
Configurar la instancia GTM
En la página Global Traffic Manager, haga clic en el ID de la instancia GTM o en Configuration dentro de la columna Actions.
Si es la primera vez que configura GTM, seleccione Advanced Settings en el cuadro de diálogo Select Configuration Method.
-
En la pestaña Basic Settings, haga clic en Modify. En el panel Modify Basic Settings, configure a continuación los parámetros indicados y haga clic en OK.
Setting
Value
CNAME (Internet)
Seleccione Custom Access Domain Name. Introduzca el prefijo y el sufijo de su nombre de dominio. Al guardar la configuración, se genera automáticamente un registro CNAME que asigna su dominio a la instancia GTM.
Global TTL Period
Establezca el tiempo durante el cual los resolvedores DNS almacenan en caché la dirección IP.
Alert Group
Seleccione un grupo de contactos para recibir notificaciones cuando un endpoint presente problemas de estado. El grupo de alertas de Cloud Monitor aparece de forma predeterminada en la lista. Consulte Create an alert contact or alert contact group.
Configurar los pools de direcciones
Cada instancia CLB debe ubicarse en un pool de direcciones distinto. Este tutorial utiliza dos pools de direcciones, uno para cada instancia CLB.
No agregue ambas instancias CLB al mismo pool de direcciones. GTM requiere que cada dirección IP pública de CLB esté en un pool diferente para enrutar el tráfico de forma independiente.
En la pestaña Address Pools, haga clic en Create Address Pool.
En el panel Create Address Pool, establezca el parámetro Address de la lista Addresses con la dirección IP pública de una de sus instancias CLB. Configure los demás parámetros o mantenga los valores predeterminados y haga clic en OK.
Repita los pasos anteriores para crear un segundo pool de direcciones con la dirección IP pública de la otra instancia CLB.
Configurar las comprobaciones de estado
Configure una comprobación de estado para cada pool de direcciones. Así, GTM podrá detectar fallos regionales.
En la pestaña Address Pools, busque un pool de direcciones y haga clic en el icono
para expandir su configuración.Haga clic en Add junto a Health Check. En el panel Modify Health Check Settings, configure el protocolo y el puerto de la comprobación de estado para que coincidan con el protocolo y el puerto del backend de su listener CLB. Ajuste los parámetros restantes o conserve los valores predeterminados y haga clic en OK.
Repita los pasos anteriores para configurar una comprobación de estado en el otro pool de direcciones.
Configurar una política de acceso
En la pestaña Basic Settings, vaya a la sección Access Policy Type y haga clic en Settings dentro de la tarjeta Geographical Location-based Access Policy.
En la página Geographical Location-based Access Policy, haga clic en Create Access Policy.
-
En el panel Create Access Policy, configure a continuación los parámetros indicados y haga clic en OK.
Setting
Value
DNS Request Source
Seleccione Global para enrutar el tráfico de distintas regiones o proveedores de servicios de Internet (ISP) hacia los pools de direcciones.
Primary Address Pool Set
Seleccione los pools de direcciones de todas las regiones.
Paso 3: Comprobar el resultado
Compruebe tanto el funcionamiento normal como el comportamiento de conmutación por error.
Prueba de funcionamiento normal:
Abra un navegador y acceda a su servicio mediante el CNAME generado en el paso 2.
Confirme que el servicio se carga correctamente.
Prueba de conmutación por error:
Deshabilite los servicios del backend en una de las regiones para simular un fallo.
Espere unos segundos para que la comprobación de estado detecte el fallo y actualice la página.
Confirme que el servicio sigue accesible; el tráfico se ha redirigido a la otra región.
Para consultar los registros detallados de la conmutación por error, vaya a la pestaña Alert Logs de su instancia GTM.
Escalamiento de QPS con varias instancias CLB
Cuando su negocio requiere más de 50,000 QPS aproximadamente (el límite máximo de una sola instancia CLB), puede desplegar varias instancias CLB detrás de GTM para escalar los QPS de forma lineal. Al distribuir el tráfico resuelto por DNS entre varias instancias CLB, la capacidad total puede alcanzar 100,000 QPS o más.
Elección de una estrategia de balanceo de carga
GTM admite dos estrategias de balanceo de carga para las direcciones dentro de un pool de direcciones:
|
Estrategia |
Comportamiento |
|
Round-robin |
Se devuelven todas las direcciones disponibles de forma rotativa. El resolvedor DNS local selecciona qué dirección usar para cada conexión. |
|
Weighted |
Se devuelve una única dirección por consulta DNS, elegida según la proporción de peso configurada. |
Para despliegues con múltiples instancias CLB, se recomienda la estrategia Weighted. Esta opción le permite asignar pesos proporcionales a la capacidad de cada instancia CLB, lo que garantiza una distribución de tráfico precisa y predecible entre las instancias.
GTM 3.0 proporciona la plantilla predefinida Multi-active load, diseñada para este caso de uso. Dicha plantilla configura lo siguiente:
Inter-pool (nivel de dominio de acceso): estrategia round-robin entre los pools de direcciones.
Intra-pool (nivel de pool de direcciones): estrategia ponderada dentro de cada pool, donde cada dirección tiene un peso predeterminado de 1.
Para usar esta plantilla, seleccione Multi-active load al crear un nuevo dominio de acceso en la consola de GTM.
TTL de DNS y retraso en el cambio de IP
El TTL de DNS de su instancia GTM es de 10 minutos de forma predeterminada. Los resolvedores DNS del cliente almacenan en caché la dirección IP resuelta durante ese periodo. Cuando GTM cambia la dirección resuelta (por ejemplo, al redistribuir la carga o eliminar un endpoint con problemas de estado), los clientes cuya caché aún no ha expirado siguen enviando solicitudes a la dirección IP almacenada previamente hasta que finaliza su TTL.
Para reducir el retraso en el cambio, disminuya el valor de Global TTL Period en la configuración básica de su instancia GTM. Tenga en cuenta que un TTL más corto aumenta la frecuencia de las consultas DNS.
Cuando un solo cliente envía un volumen alto de solicitudes, el balanceo de carga basado en DNS podría no distribuir el tráfico de manera uniforme. Esto ocurre porque el cliente reutiliza la misma dirección IP en caché durante todo el TTL. Este comportamiento es normal. Con varios clientes independientes, el tráfico converge a las proporciones de peso configuradas tal como se espera.
Pasos siguientes
Application Load Balancer (ALB) y Network Load Balancer (NLB) también admiten arquitecturas entre regiones. Elija el tipo de load balancer que mejor se ajuste a sus requisitos de protocolo y tráfico: