Quando os services em uma região falham, o Global Traffic Manager (GTM) detecta a falha por meio de verificações de integridade e redireciona automaticamente o tráfego DNS para uma região saudável. Isso mantém seu service online sem intervenção manual. Este tutorial mostra como combinar o GTM com o Classic Load Balancer (CLB), uma oferta do Server Load Balancer (SLB), em duas regiões para criar uma arquitetura ativo-passivo entre regiões.
Como funciona
O GTM opera na camada DNS. Ele monitora a integridade das suas instâncias do CLB em cada região e responde às consultas DNS com o endereço IP de um endpoint saudável. Ao detectar uma falha regional, o GTM deixa de retornar o endereço IP dessa região e direciona todo o tráfego para a outra região.
O GTM gerencia endereços IP da Alibaba Cloud e de outros provedores de services, o que possibilita implantações em nuvem híbrida.
Neste tutorial, instâncias do Elastic Compute Service (ECS) executam atrás de instâncias do CLB em duas regiões: China (Hangzhou) e China (Beijing). O GTM é configurado para rotear o tráfego para ambas as regiões em condições normais e executar failover para a região sobrevivente quando uma delas ficar indisponível.
Para obter mais informações sobre o GTM, consulte What is Global Traffic Manager?.
Pré-requisitos
Antes de começar, verifique se você tem:
Instâncias do CLB voltadas para a Internet criadas em cada região. Consulte Create and manage a CLB instance.
Um grupo vServer criado para cada instância do CLB, com instâncias do ECS adicionadas e aplicativos implantados. Consulte Create and manage a vServer group.
Um listener criado para cada instância do CLB. Todos os listeners devem usar a mesma porta. Consulte Add a TCP listener, Add a UDP listener, Add an HTTP listener e Add an HTTPS listener.
O endereço IP público de cada instância do CLB acessível.
Um nome de domínio registrado com um número de provedor de conteúdo de Internet (ICP). Consulte Register a domain name on Alibaba Cloud e ICP filing process.
Etapa 1: Adquirir uma instância do GTM
Faça login no console DNS da Alibaba Cloud.
No painel de navegação à esquerda, clique em Global Traffic Manager.
Clique em Purchase Instance.
Na página de compra, configure os parâmetros e conclua o pagamento. Este tutorial usa as configurações padrão.
Etapa 2: Configurar o GTM
Configurar a instância do GTM
Na página Global Traffic Manager, clique no ID da instância do GTM ou clique em Configuration na coluna Actions.
Se esta for a primeira vez que você configura o GTM, selecione Advanced Settings na caixa de diálogo Select Configuration Method.
-
Na aba Basic Settings, clique em Modify. No painel Modify Basic Settings, configure os seguintes parâmetros e clique em OK.
Configuração
Valor
CNAME (Internet)
Selecione Custom Access Domain Name. Insira o prefixo e o sufixo do seu nome de domínio. Após salvar as configurações, um registro CNAME é gerado automaticamente para mapear seu domínio à instância do GTM.
Global TTL Period
Defina a duração durante a qual os resolvedores DNS armazenam em cache o endereço IP.
Alert Group
Escolha um grupo de contatos para receber notificações quando um endpoint ficar não saudável. O grupo de alertas do CloudMonitor aparece na lista por padrão. Consulte Create an alert contact or alert contact group.
Configurar pools de endereços
Coloque cada instância do CLB em um pool de endereços separado. Este tutorial usa dois pools de endereços, um para cada instância do CLB.
Não adicione ambas as instâncias do CLB ao mesmo pool de endereços. O GTM exige que cada endereço IP público do CLB esteja em um pool diferente para rotear o tráfego de forma independente.
Na aba Address Pools, clique em Create Address Pool.
No painel Create Address Pool, defina o parâmetro Address na lista Addresses como o endereço IP público de uma das suas instâncias do CLB. Configure outros parâmetros ou use os valores padrão e clique em OK.
Repita as etapas anteriores para criar um segundo pool de endereços com o endereço IP público da outra instância do CLB.
Configurar verificações de integridade
Configure uma verificação de integridade para cada pool de endereços para que o GTM possa detectar falhas regionais.
Na aba Address Pools, localize um pool de endereços e clique no ícone
para expandir sua configuração.Clique em Add ao lado de Health Check. No painel Modify Health Check Settings, defina o protocolo e a porta da verificação de integridade para corresponder ao protocolo e à porta de backend do seu listener do CLB. Configure os parâmetros restantes ou use os valores padrão e clique em OK.
Repita as etapas anteriores para configurar uma verificação de integridade para o outro pool de endereços.
Configurar uma política de acesso
Na aba Basic Settings, vá até a seção Access Policy Type e clique em Settings no cartão Geographical Location-based Access Policy.
Na página Geographical Location-based Access Policy, clique em Create Access Policy.
-
No painel Create Access Policy, configure os seguintes parâmetros e clique em OK.
Configuração
Valor
DNS Request Source
Selecione Global para rotear o tráfego de diferentes regiões ou provedores de services de Internet (ISPs) para os pools de endereços.
Primary Address Pool Set
Selecione os pools de endereços em todas as regiões.
Etapa 3: Verificar o resultado
Verifique tanto a operação normal quanto o comportamento de failover.
Testar a operação normal:
Abra um navegador e acesse seu service usando o CNAME gerado na Etapa 2.
Confirme se o service carrega corretamente.
Testar o failover:
Desative os services de backend em uma das regiões para simular uma falha.
Aguarde alguns segundos para que a verificação de integridade detecte a falha e atualize a página.
Confirme se o service ainda está acessível — o tráfego foi redirecionado para a outra região.
Para visualizar logs detalhados de failover, acesse a aba Alert Logs da sua instância do GTM.
Dimensionar QPS com múltiplas instâncias do CLB
Quando seu negócio exige mais de aproximadamente 50.000 QPS — o limite superior de uma única instância do CLB — implante várias instâncias do CLB atrás do GTM para dimensionar o QPS linearmente. Ao distribuir o tráfego resolvido por DNS entre várias instâncias do CLB, a capacidade total pode atingir 100.000 QPS ou mais.
Escolher uma estratégia de balanceamento de carga
O GTM oferece suporte a duas estratégias de balanceamento de carga para endereços dentro de um pool de endereços:
|
Estratégia |
Comportamento |
|
Round-robin |
Todos os endereços disponíveis são retornados em rotação. O resolvedor DNS local seleciona qual endereço usar para cada conexão. |
|
Weighted |
Um único endereço é retornado por consulta DNS, escolhido de acordo com a proporção de peso configurada. |
Para implantações com múltiplos CLBs, recomenda-se a estratégia Weighted. Ela permite atribuir pesos proporcionais à capacidade de cada instância do CLB, oferecendo uma distribuição de tráfego precisa e previsível entre as instâncias.
O GTM 3.0 fornece um modelo predefinido Multi-active load projetado para este caso de uso. Esse modelo configura:
Inter-pool (nível de domínio de acesso): Estratégia round-robin entre pools de endereços.
Intra-pool (nível de pool de endereços): Estratégia ponderada dentro de cada pool, com cada endereço assumindo um peso padrão de 1.
Para usar esse modelo predefinido, selecione Multi-active load ao criar um novo domínio de acesso no console do GTM.
TTL do DNS e atraso na troca de IP
O TTL do DNS para sua instância do GTM tem como padrão 10 minutos. Os resolvedores DNS do lado do cliente armazenam em cache o endereço IP resolvido durante a vigência do TTL. Quando o GTM altera o endereço resolvido — por exemplo, ao redistribuir a carga ou remover um endpoint não saudável — os clientes cujo cache ainda não expirou continuam enviando solicitações para o endereço IP previamente armazenado em cache até que o TTL expire.
Para reduzir o atraso na troca, diminua o valor de Global TTL Period nas configurações básicas da sua instância do GTM. Observe que um TTL mais curto aumenta a frequência de consultas DNS.
Quando um único cliente envia um alto volume de solicitações, o balanceamento de carga baseado em DNS pode não distribuir o tráfego uniformemente, pois o cliente reutiliza o mesmo endereço IP em cache durante toda a duração do TTL. Esse é um comportamento esperado. Entre vários clientes independentes, o tráfego converge para as proporções de peso configuradas conforme o esperado.
Próximos passos
O Application Load Balancer (ALB) e o Network Load Balancer (NLB) também oferecem suporte a arquiteturas entre regiões. Escolha o tipo de balanceador de carga adequado aos seus requisitos de protocolo e tráfego: