REL02-BP01 Usar conectividade de rede altamente disponível em endpoints públicos de workloads
Construir conectividade de rede altamente disponível nos endpoints públicos das workloads pode ajudar a reduzir o tempo de inatividade devido à perda de conectividade e melhorar a disponibilidade e o SLA da workload. Para que isso seja possível, use DNS altamente disponível, redes de entrega de conteúdo (CDNs), API gateways, balanceamento de carga ou proxies reversos.
Resultado desejado: é fundamental planejar, criar e operacionalizar a conectividade de rede altamente disponível para seus endpoints públicos. Se a workload se tornar inacessível devido a uma perda de conectividade, mesmo se ela estiver em execução e indisponível, os clientes verão o sistema como inativo. Ao combinar a conectividade de rede altamente disponível e resiliente para os endpoints públicos da workload, junto com uma arquitetura resiliente para a própria workload, é possível fornecer o melhor nível possível de serviço e disponibilidade possível aos clientes.
AWS Global Accelerator, Amazon CloudFront, Amazon API Gateway, URLs de funções do AWS Lambda, APIs da AWS AppSync e Elastic Load Balancing (ELB): todos fornecem endpoints públicos altamente disponíveis. O Amazon Route 53 fornece um serviço de DNS altamente disponível para resolução de nomes de domínio para verificar se seus endereços de endpoints públicos podem ser resolvidos.
Também é possível avaliar os appliances de software do AWS Marketplace com relação ao proxy e ao balanceamento de carga.
Práticas comuns que devem ser evitadas:
-
Projetar uma workload altamente disponível sem planejar a alta disponibilidade do DNS e da conectividade de rede.
-
Usar endereços de internet públicos em instâncias ou contêineres individuais e gerenciar a conectividade com eles por meio de DNS.
-
Usar endereços IP em vez de nomes de domínio para localizar serviços.
-
Não testar cenários em que a conectividade com os endpoints públicos é perdida.
-
Não analisar as necessidades de throughput de rede e os padrões de distribuição.
-
Não testar nem se planejar para cenários em que a conectividade de rede da internet com os endpoints públicos da workload possam ser interrompidos.
-
Fornecer conteúdo (como páginas da web, ativos estáticos ou arquivos de mídia) para uma grande área geográfica e não usar uma rede de entrega de conteúdo.
-
Não se planejar para ataques de negação distribuída de serviços (DDoS). Ataques de DDoS representam um risco de obstruir o tráfego legítimo e reduzir a disponibilidade para os usuários.
Benefícios de implementar esta prática recomendada: projetar para uma conectividade de rede altamente disponível e resiliente garante que sua workload permaneça acessível e disponível para seus usuários.
Nível de risco exposto se esta prática recomendada não for estabelecida: Alto
Orientação para implementação
No centro da criação de conectividade de rede altamente disponível com os endpoints públicos está o roteamento do tráfego. Para verificar se o tráfego consegue acessar os endpoints, o DNS deve poder resolver os nomes de domínio para os endereços IP correspondentes. Use um Sistema de Nomes de Domínio (DNS)
Para verificar se sua workload está altamente disponível, use o Elastic Load Balancing (ELB). O Amazon Route 53 pode ser usado para direcionar o tráfego para o ELB, que distribui o tráfego para as instâncias computacionais de destino. Também é possível usar o Amazon API Gateway com o AWS Lambda para obter uma solução sem servidor. Os clientes também podem executar workloads em várias Regiões da AWS. Com o padrão ativo/ativo de vários sites
O Amazon CloudFront fornece uma API simples para distribuir o conteúdo com baixa latência e altas taxas de transferência de dados atendendo a solicitações usando uma rede de locais de borda ao redor do mundo. As redes de entrega de conteúdo (CDNs) atendem os clientes fornecendo conteúdo localizado ou armazenado em cache em um local próximo ao usuário. Isso também melhora a disponibilidade da aplicação à medida que a carga do conteúdo é transferida dos seus servidores para os locais da borda
Para workloads com usuários distribuídos geograficamente, o AWS Global Accelerator ajuda a melhorar a disponibilidade e a performance das aplicações. O AWS Global Accelerator fornece endereços IP estáticos anycast que servem como um ponto de entrada fixo para a aplicação hospedada em uma ou mais Regiões da AWS. Isso permite que o tráfego entre na rede global da AWS o mais próximo possível dos usuários, melhorando a acessibilidade e a disponibilidade da workload. O AWS Global Accelerator também monitora a integridade dos endpoints da aplicação usando as verificações de integridade de TCP, HTTP e HTTPS. Qualquer mudança na integridade ou na configuração dos endpoints aciona o redirecionamento do tráfego de usuários para endpoints íntegros que oferecem a melhor performance e disponibilidade aos usuários. Além disso, o AWS Global Accelerator tem um design de isolamento de falhas que usa dois endereços IPv4 estáticos que são fornecidos por zonas de rede independentes, aumentando a disponibilidade das aplicações.
Para ajudar a proteger os clientes contra ataques de DDoS, a AWS oferece o AWS Shield Standard. O Shield Standard é ativado automaticamente e protege contra ataques comuns de infraestrutura (camadas 3 e 4), como inundações SYN/UDP e ataques de reflexão, para oferecer suporte à alta disponibilidade de aplicações na AWS. Para obter mais proteções contra ataques maiores e mais sofisticados (como inundações de UDP), ataques de exaustão de estado (como inundações de TCP SYN) e para ajudar a proteger as aplicações executadas nos serviços Amazon Elastic Compute Cloud (Amazon EC2), Elastic Load Balancing (ELB), Amazon CloudFront, AWS Global Accelerator e Route 53, considere usar o AWS Shield Advanced. Para proteção contra ataques de camada de aplicação como inundações de HTTP POST e GET, use o AWS WAF. O AWS WAF pode usar condições de scripts entre sites, endereços IP, cabeçalhos HTTP, corpo HTTP, strings de URI e injeção de SQL para determinar se uma solicitação deve ser bloqueada ou permitida.
Etapas de implementação
-
Configure o DNS altamente disponível: o Amazon Route 53 é um serviço Web de Sistema de Nomes de Domínio (DNS)
altamente disponível e escalável. O Route 53 conecta solicitações de usuários a aplicações da Internet executadas na AWS ou on-premises. Para obter mais informações, consulte Como configurar o Amazon Route 53 como seu serviço de DNS. -
Configure verificações de integridade: ao usar o Route 53, verifique se somente os destinos íntegros podem ser resolvidos. Comece criando verificações de integridade do Amazon Route 53 e configurando o failover de DNS. É importante levar em consideração os seguintes aspectos ao configurar verificações de integridade:
-
Conectar o serviço de DNS aos endpoints.
-
Ao usar o Elastic Load Balancing como destino para seu tráfego, crie um registro de alias usando o Amazon Route 53 que aponta para o endpoint regional do seu balanceador de carga. Durante a criação do registro de alias, defina a opção "Avaliar integridade do destino" como "Sim".
-
Para workloads sem servidor ou APIs privadas quando o API Gateway é usado, use o Route 53 para direcionar o tráfego para o API Gateway.
-
-
Decida sobre uma rede de entrega de conteúdo.
-
Para entregar conteúdo usando pontos de presença mais próximos do usuário, comece entendendo como o CloudFront entrega conteúdo.
-
Aprenda os conceitos básicos de uma distribuição simples do CloudFront. O CloudFront então sabe de onde você quer que o conteúdo seja entregue e os detalhes sobre como rastrear e gerenciar a entrega de conteúdo. É importante entender e considerar os aspectos a seguir ao configurar uma distribuição do CloudFront:
-
-
Configure a proteção da camada da aplicação: o AWS WAF ajuda você a se proteger contra explorações e bots comuns da web que podem afetar a disponibilidade, comprometer a segurança ou consumir recursos em excesso. Para obter uma compreensão mais profunda, analise como o AWS WAF funciona e, quando você estiver pronto para implementar proteções contra inundações de HTTP POST E GET na camada de aplicação, consulte Conceitos básicos do AWS WAF. Você também pode usar o AWS WAF com o CloudFront, consulte a documentação sobre como o AWS WAF funciona com os recursos do Amazon CloudFront.
-
Configure proteção adicional contra DDoS: por padrão, todos os clientes da AWS recebem proteção contra ataques de DDoS da camada de transporte e rede comuns e que ocorrem com mais frequência que visam seu site ou sua aplicação com o AWS Shield Standard sem custo adicional. Para proteção adicional de aplicações voltadas para a Internet executados no Amazon EC2, Elastic Load Balancing, Amazon CloudFront, AWS Global Accelerator e Amazon Route 53, você pode considerar o AWS Shield Advanced e revisar exemplos de arquiteturas resilientes a DDoS. Para proteger sua workload e seus endpoints públicos contra ataques de DDoS, consulte Conceitos básicos do AWS Shield Advanced.
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
-
AWS re:Invent 2022: Aprimorar a performance e a disponibilidade com o AWS Global Accelerator
-
AWS re:Invent 2020: Gerenciamento de tráfego global com o Amazon Route 53
-
AWS re:Invent 2022: Operar aplicações Multi-AZ altamente disponíveis
-
AWS re:Invent 2022: Mergulho profundo na infraestrutura de rede da AWS
Exemplos relacionados: