As melhores práticas para configurar verificações de saúde no AWS Global Acelerator se concentram em garantir o monitoramento preciso, seguro e eficiente da saúde do endpoint para manter alta disponibilidade e roteamento ideal de tráfego. Abaixo estão as diretrizes detalhadas com base na documentação da AWS e nas melhores práticas relacionadas:
Melhores práticas importantes para configurar verificações de saúde no acelerador global
1. Use protocolos e portas de verificação de saúde adequados
- Escolha o protocolo de verificação de saúde (TCP, HTTP ou HTTPS) que melhor reflete a natureza do seu aplicativo e a capacidade do endpoint de responder. As verificações de saúde do TCP verificam a conectividade no nível da rede enviando pacotes SYN, enquanto as verificações HTTP/HTTPS simulam solicitações reais HTTP para obter pontos de extremidade do aplicativo [6] [9].
- Configure a porta de verificação de saúde para combinar com a porta do ouvinte no seu acelerador para obter consistência. Se você usar uma porta diferente para verificações de saúde, verifique se as regras do grupo de firewall e segurança restringem o acesso apenas aos intervalos de IP usados pelas verificações da Rota 53 para evitar a exposição publicamente da porta [1] [4].
- Para instâncias do EC2 ou terminais de IP elásticos com ouvintes UDP, o Global Accelerator executa verificações de saúde do TCP na porta do ouvinte; portanto, verifique se um servidor TCP está em execução nessa porta; Caso contrário, os terminais serão marcados prejudiciais [1].
2. Garanta a segurança e o acesso para verificações de saúde
- Permita o tráfego de entrada dos endereços IP associados aos verificadores de saúde da Amazon Route 53 em suas configurações de firewall e roteador. Isso é fundamental para que as verificações de saúde tenham sucesso, especialmente para a instância do EC2 ou dos pontos de extremidade elástica de IP [1] [4].
- Ao usar uma porta de verificação de saúde não padrão, restrinja o acesso a essa porta apenas às faixas IP da verificação de saúde da Rota 53 para evitar riscos de segurança [1].
- Revise e atualize regularmente as regras do grupo de segurança para acomodar quaisquer alterações nas faixas de endereço IP usadas pelas verificações da Rota 53.
3. Configurar parâmetros de tempo de verificação de saúde, pensativo
- Defina o intervalo de verificação de saúde (o tempo entre os cheques) com base na tolerância do seu aplicativo para o tempo de inatividade e na criticidade do terminal. Intervalos mais curtos detectam falhas mais rapidamente, mas aumentam a carga e o custo, enquanto intervalos mais longos reduzem a carga, mas atrasam a detecção de falhas [5].
- Configure a contagem de limiares (número de sucessos ou falhas consecutivas antes de alterar o estado de saúde do ponto final) para equilibrar a sensibilidade e a estabilidade. Um padrão comum é 3, que fornece uma boa troca entre falsos positivos e velocidade de detecção [1] [9].
- Use valores de tempo limite padrão, a menos que você tenha motivos específicos para ajustá -los. Por exemplo, o tempo limite da verificação de saúde do TCP é corrigido em 3 segundos no acelerador global [6].
4. Alinhar verificações de saúde com tipos de endpoint
- Para o balanceador de carga de rede (NLB) ou os pontos de extremidade do balanceador de carga de aplicação (ALB), configure verificações de saúde no próprio balanceador de carga, e não no acelerador global, pois o acelerador global usa o estado de saúde do balanceador de carga para determinar a saúde do endpoint [1].
- Para instâncias do EC2 ou endereços IP elásticos, configure verificações de saúde diretamente no acelerador global, especificando portas e protocolos apropriados que refletem a disponibilidade real de serviço [1].
5. Use caminhos de verificação de saúde significativos para http/https
- Ao usar verificações de saúde HTTP ou HTTPS, especifique um caminho de URI que represente com precisão a saúde do seu aplicativo (por exemplo, um terminal de verificação de saúde dedicado em vez da página inicial). Isso garante que a verificação de saúde reflita a prontidão no nível do aplicativo, não apenas a disponibilidade de rede [6].
- Mantenha o caminho URI conciso e válido, começando com uma barra para frente e contendo caracteres permitidos [6].
6. Monitore métricas e logs de verificação de saúde
- Revise regularmente os resultados da verificação de saúde e métricas do CloudWatch para identificar padrões ou falhas recorrentes. Isso ajuda na solução de problemas proativos e no planejamento de capacidade [5].
- Configure os alarmes do CloudWatch para notificar sua equipe imediatamente quando os terminais se tornarem prejudiciais ou se recuperam, permitindo uma resposta rápida aos incidentes [5].
7. Implementar estratégias de failover e recuperação
- Aproveite a capacidade do acelerador global de rotear o tráfego apenas para pontos de extremidade saudáveis para failover instantâneo.
- Teste o failover e os cenários de fracasso para garantir transições de tráfego suaves durante interrupções e recuperação do ponto final [5] [8].
8. Mantenha as verificações de saúde atualizadas
- Revise e atualize periodicamente as configurações de verificação de saúde à medida que seu aplicativo evolui, incluindo alterações nas portas, protocolos ou caminhos de verificação de saúde.
- Remova as verificações de saúde para pontos de extremidade que não estão mais em uso para evitar monitoramento desnecessário e potencial exposição à segurança [5].
Seguindo essas práticas recomendadas, você garante que as verificações globais de saúde do acelerador forneçam informações precisas, seguras e oportunas sobre a saúde do endpoint, permitindo roteamento de tráfego confiável e alta disponibilidade para seus aplicativos.
Citações:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-health-check-options.html
[2] https://aws.amazon.com/blogs/networking-and-content-delivery/best-practices-for-deplantment-with-aws-global-accellerator/
[3] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[4] https://repost.aws/knowledge-center/global-accelerator-unhealthy-endpoints
[5] https://docs.aws.amazon.com/route53/latest/develderguide/best-practices-healthchecks.html
[6] https://www.alibabacloud.com/help/en/ga/user-guide/enable-and-manage-health-checks
[7] https://support.huaweicloud.com/intl/en-us/usermanual-ga/ga_03_5002.html
[8] https://tutorialsdojo.com/aws-global-accelerator/
[9] https://boto3.amazonaws.com/v1/documentation/api/1.16.27/reference/services/globalaccelerator.html