Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Gateway de Aplicativo do Azure é um balanceador de carga de tráfego da Web que você pode usar para gerenciar o tráfego para seus aplicativos Web. Ele fornece recursos avançados, como dimensionamento automático, redundância de zona, endereços IP virtuais estáticos (VIP) e integração de firewall de aplicativos da Web (WAF) para fornecer serviços de entrega de aplicativos altamente disponíveis e seguros.
Quando você usa o Azure, a confiabilidade é uma responsabilidade compartilhada. A Microsoft fornece uma variedade de recursos para oferecer suporte à resiliência e à recuperação. Você é responsável por entender como esses recursos funcionam em todos os serviços que você usa e selecionar os recursos necessários para atender aos seus objetivos de negócios e metas de tempo de atividade.
Este artigo descreve como tornar o Application Gateway v2 resiliente a uma variedade de possíveis interrupções e problemas, incluindo falhas transitórias, interrupções da zona de disponibilidade e interrupções de região. Ele também destaca algumas informações importantes sobre o contrato de nível de serviço (SLA) do Application Gateway v2.
Importante
A confiabilidade de sua solução geral depende da configuração dos servidores back-end para os quais o Application Gateway roteia o tráfego. Dependendo da sua solução, estas podem ser máquinas virtuais (VMs) do Azure, conjuntos de dimensionamento de máquinas virtuais do Azure, Serviços de Aplicações do Azure ou pontos de extremidade externos.
Seus servidores back-end não estão no escopo deste artigo, mas suas configurações de disponibilidade afetam diretamente a resiliência do seu aplicativo. Reveja os guias de fiabilidade para todos os serviços do Azure na sua solução para compreender como cada serviço suporta os seus requisitos de fiabilidade. Ao garantir que seus servidores back-end também estejam configurados para alta disponibilidade e redundância de zona, você pode obter confiabilidade de ponta a ponta para seu aplicativo.
Recomendações de implantação de produção
Para saber como implantar o Gateway de Aplicativo para dar suporte aos requisitos de confiabilidade da sua solução e como a confiabilidade afeta outros aspetos da sua arquitetura, consulte Práticas recomendadas de arquitetura para o Gateway de Aplicativo no Azure Well-Architected Framework.
Visão geral da arquitetura de confiabilidade
O Application Gateway é um serviço gerenciado. É importante entender alguns elementos-chave da arquitetura de serviço para que você possa tomar decisões de confiabilidade informadas.
Porta de entrada: Ao implantar o Gateway de Aplicativo, você implanta um gateway, que é o recurso do Azure com o qual você trabalha.
Instâncias: Uma instância é uma unidade única do gateway. Um gateway tem várias instâncias. Cada instância tem seu próprio endereço IP privado, lida com o tráfego e encaminha solicitações.
Importante
Para alta disponibilidade, cada gateway é sempre criado com um mínimo de duas instâncias. No entanto, o portal do Azure pode indicar que seu gateway tem uma única instância, mesmo que na verdade tenha duas.
A plataforma gerencia automaticamente a criação de instâncias, o monitoramento de integridade e a substituição de instâncias não íntegras. Ele também gerencia a remoção graciosa de instâncias durante eventos de expansão. Este processo é conhecido como drenagem de conexão.
O diagrama a seguir mostra um gateway com duas instâncias:
Para distribuir instâncias em várias zonas de disponibilidade e, assim, aumentar a redundância e a disponibilidade durante falhas no datacenter, você pode habilitar a redundância de zona.
Dimensionamento: Um aspeto importante da confiabilidade de um gateway é como ele é dimensionado para atender à demanda de tráfego. Se um gateway não for dimensionado adequadamente, o tráfego não poderá fluir e seu aplicativo poderá sofrer tempo de inatividade. Você pode configurar o Application Gateway para usar um dos seguintes modos de dimensionamento.
Dimensionamento automático: Ajusta automaticamente o número de instâncias dentro de um intervalo especificado. O dimensionamento automático dimensiona o número de instâncias com base na demanda de tráfego atual.
Dimensionamento manual: Requer que você especifique um número exato de instâncias. Você é responsável por selecionar uma contagem de instâncias que atenda à sua demanda de tráfego.
Uma unidade de capacidade representa uma quantidade de capacidade que o gateway pode processar. Uma unidade de capacidade é uma medida sintética que incorpora o tráfego, o número de conexões e os recursos de computação. Cada instância pode lidar com pelo menos 10 unidades de capacidade. Para obter mais informações, consulte Dimensionar o Application Gateway v2 e o WAF v2.
Sondas de saúde: O Application Gateway usa testes de integridade para monitorar continuamente seus servidores back-end, como servidores de aplicativos individuais. O tráfego pode ser redirecionado automaticamente para servidores back-end íntegros quando servidores não íntegros são detetados.
Resiliência a falhas transitórias
Falhas transitórias são falhas curtas e intermitentes em componentes. Eles ocorrem com frequência em um ambiente distribuído, como a nuvem, e são uma parte normal das operações. As falhas transitórias corrigem-se após um curto período de tempo. É importante que seus aplicativos possam lidar com falhas transitórias, geralmente tentando novamente as solicitações afetadas.
Todos os aplicativos hospedados na nuvem devem seguir as diretrizes de tratamento de falhas transitórias do Azure quando se comunicam com quaisquer APIs, bancos de dados e outros componentes hospedados na nuvem. Para obter mais informações, consulte Recomendações para o tratamento de falhas transitórias.
Ao usar o Application Gateway, considere as seguintes práticas recomendadas:
Implemente a lógica de repetição. Os clientes devem implementar mecanismos de repetição apropriados para falhas de conexão transitórias.
Configure sondas de integridade com tolerância. Configure suas sondas de integridade para permitir um período de carência para falhas transitórias. As sondas de integridade podem ser configuradas com um limite não íntegro, que especifica o número de tentativas de conexão com falha consecutivas que devem acionar o servidor de back-end a ser marcado como não íntegro. O valor padrão de três garante que falhas transitórias em seus servidores de back-end não acionem o Application Gateway para marcar desnecessariamente o servidor como não íntegro.
Resiliência a falhas na zona de disponibilidade
As zonas de disponibilidade são grupos fisicamente separados de centros de dados dentro de uma região Azure. Quando uma zona falha, os serviços podem ser transferidos para uma das zonas restantes.
O Application Gateway fornece dois tipos de suporte à zona de disponibilidade quando você implanta um gateway de Standard_v2 ou WAF_v2 em uma região com suporte.
Zona redundante: O Azure distribui automaticamente as instâncias em duas ou mais zonas de disponibilidade.
Quando se implanta um novo gateway, ele tem redundância de zona por padrão.
O diagrama a seguir mostra um gateway com redundância de zona com três instâncias distribuídas em três zonas de disponibilidade:
Zonal: O Azure implanta todas as instâncias do Gateway de Aplicativo em uma única zona que você seleciona dentro da região do Azure escolhida.
O diagrama a seguir mostra um gateway zonal com três instâncias que são implantadas na mesma zona de disponibilidade:
Importante
A fixação a uma única zona de disponibilidade só é recomendada quando a latência entre zonas é demasiado elevada para as suas necessidades e quando verifica que a latência não cumpre os seus requisitos. Por si só, um gateway zonal não fornece resiliência a uma interrupção da zona de disponibilidade. Para melhorar a resiliência de uma implantação zonal do Application Gateway, você precisa implantar explicitamente gateways separados em várias zonas de disponibilidade e configurar o roteamento e failover de tráfego.
Requerimentos
Suporte da região: O Application Gateway dá suporte a zonas de disponibilidade para as camadas Standard_v2 e WAF_v2 em todas as regiões do Azure que dão suporte a zonas de disponibilidade.
SKU: Deve usar o SKU Standard_v2 ou WAF_v2 para permitir o suporte a zonas de disponibilidade.
Contagem de instâncias: Seu gateway deve ter pelo menos duas instâncias.
Observação
Todos os gateways têm um mínimo de duas instâncias para alta disponibilidade. Mesmo que o portal do Azure indique que seu gateway tem uma única instância, internamente ele sempre é criado com um mínimo de duas instâncias.
Considerações
Os gateways com redundância de zona estão espalhados por duas ou mais zonas de disponibilidade na região. Por exemplo, em uma região que tenha três zonas de disponibilidade, uma implantação do Application Gateway v2 com redundância de zona tem instâncias em pelo menos duas dessas zonas. Dependendo da capacidade regional e das decisões da plataforma, as instâncias podem estar espalhadas por duas ou três zonas.
Custo
O suporte da zona de disponibilidade para o Application Gateway v2 não incorre em encargos adicionais além do preço da unidade de capacidade padrão. Para obter detalhes de preços, consulte Compreender os preços do Application Gateway e WAF e preços do Application Gateway.
Configurar o suporte à zona de disponibilidade
Esta seção explica como configurar o suporte à zona de disponibilidade para seus gateways.
Crie um novo gateway com suporte à zona de disponibilidade. A abordagem que você usa para configurar zonas de disponibilidade depende se você deseja criar um gateway zonal ou com redundância de zona.
Zona redundante: Novos gateways são criados como redundantes de zona por padrão. As instâncias estão espalhadas por várias zonas de disponibilidade e podem usar duas ou mais zonas na região.
Para implantar um novo gateway, consulte Guia de início rápido: tráfego da Web direto usando o Gateway de Aplicativo - portal do Azure.
Ao usar a CLI do Azure, o Azure PowerShell, o Bicep, os modelos do Azure Resource Manager (modelos ARM) ou o Terraform, você pode, opcionalmente, especificar as zonas de disponibilidade nas quais implantar seu gateway. Você pode implantar um gateway com redundância de zona especificando duas ou mais zonas. No entanto, recomendamos que você omita a lista de zonas para que seu gateway possa usar todas as zonas de disponibilidade, a menos que você tenha um motivo específico para não usar uma zona específica.
Zonal: Você pode implantar um gateway zonal usando as seguintes ferramentas.
CLI do Azure: Você deve selecionar zonas explicitamente usando o
--zonesparâmetro noaz network application-gateway createcomando. Para fixar o gateway em uma única zona, especifique o número da zona lógica.Azure PowerShell: Use o
-Zoneparâmetro noNew-AzApplicationGatewaycomando. Para fixar o gateway em uma única zona, especifique o número da zona lógica.Modelos de bíceps e ARM: Configure a
zonespropriedade na definição de recurso. Para fixar o gateway em uma única zona, especifique o número da zona lógica.
Observação
Quando você seleciona quais zonas de disponibilidade usar, na verdade está selecionando a zona de disponibilidade lógica. Se você implantar outros componentes de carga de trabalho em uma assinatura diferente do Azure, eles poderão usar um número de zona de disponibilidade lógica diferente para acessar a mesma zona de disponibilidade física. Para obter mais informações, consulte Zonas de disponibilidade física e lógica.
Altere a configuração da zona de disponibilidade de uma instância existente do Application Gateway v2. Todos os gateways são redundantes de zona, a menos que você os configure para serem zonais.
Se você precisar mudar de um gateway com redundância de zona para uma configuração zonal, precisará implantar um novo gateway.
Desative o suporte à zona de disponibilidade. O suporte à zona de disponibilidade não pode ser desativado. Todos os gateways em regiões que oferecem suporte a zonas de disponibilidade devem ser redundantes de zona ou zonais.
Planejamento e gerenciamento de capacidade
Ao planejar falhas de zona para um gateway de aplicativo com redundância de zona ou vários gateways zonais implantados em várias zonas, considere que as instâncias em zonas sobreviventes podem ter maior carga à medida que o tráfego é redistribuído. As conexões podem sofrer breves interrupções que podem durar alguns segundos.
Para gerenciar a capacidade de forma eficaz, execute as seguintes ações:
Use o dimensionamento automático. Configure o dimensionamento automático com contagens máximas de instâncias apropriadas para lidar com possíveis redistribuições de tráfego durante interrupções de zona.
Se você usar o dimensionamento manual para se preparar para falhas na zona de disponibilidade, considere provisionar demais o número de instâncias em seu gateway. O provisionamento excessivo permite que a solução tolere algum grau de perda de capacidade, enquanto continua a funcionar sem desempenho degradado. Para obter mais informações, consulte Gerenciar a capacidade com provisionamento excessivo.
Responda a mudanças nos padrões de tráfego. Monitore as métricas de capacidade e ajuste os parâmetros de dimensionamento com base em seus padrões de tráfego e requisitos de desempenho.
Comportamento quando todas as zonas estão íntegras
A seção a seguir descreve o que esperar quando o Application Gateway v2 é configurado com suporte à zona de disponibilidade e todas as zonas de disponibilidade estão operacionais.
Roteamento de tráfego entre zonas: O Application Gateway distribui automaticamente as solicitações de entrada entre instâncias em todas as zonas usadas pelo gateway. Esta configuração ativa-ativa garante um desempenho ideal e uma distribuição de carga em condições normais de operação.
Gerenciamento de instâncias: A plataforma gerencia automaticamente o posicionamento da instância nas zonas usadas pelo gateway. Ele substitui instâncias com falha e mantém a contagem de instâncias configuradas. O monitoramento de integridade garante que apenas instâncias íntegras recebam tráfego.
Comportamento durante uma falha de zona
A seção a seguir descreve o que esperar quando o Application Gateway v2 é configurado com suporte à zona de disponibilidade e uma ou mais zonas de disponibilidade não estão disponíveis.
Deteção e resposta: A responsabilidade pela deteção e resposta depende da configuração da zona de disponibilidade usada pelo gateway.
Zona redundante: A Microsoft gerencia a deteção de falhas de zona e inicia automaticamente o failover. Não é precisa qualquer ação da parte do cliente.
Zonal: Você precisa detetar a perda de uma zona de disponibilidade e iniciar um failover para um gateway secundário criado em outra zona de disponibilidade.
-
- Notificação: a Microsoft não o notifica automaticamente quando uma zona está inativa. No entanto, pode utilizar o Azure Resource Health para monitorizar a integridade de um recurso individual, e pode configurar alertas de integridade de recursos para notificá-lo de problemas. Também pode usar o Azure Service Health para compreender o estado geral do serviço, incluindo quaisquer falhas de zona, e pode configurar alertas de Service Health para o notificar de problemas.
Solicitações ativas: Durante uma interrupção de zona, as solicitações que estão sendo processadas por instâncias nessa zona são encerradas. Os clientes devem repetir as solicitações seguindo as orientações sobre como lidar com falhas transitórias.
Perda de dados esperada: Não se espera que as falhas de zona causem perda de dados porque o Application Gateway é um serviço sem monitoração de estado.
Tempo de inatividade esperado: O tempo de inatividade que você pode esperar depende da configuração da zona de disponibilidade que seu gateway usa.
Zona redundante: Durante interrupções de zona, as conexões podem sofrer breves interrupções que normalmente duram alguns segundos à medida que o tráfego é redistribuído.
Zonal: Quando uma zona não está disponível, seu gateway fica indisponível até que a zona de disponibilidade se recupere.
Gerenciamento de instâncias: O comportamento de gerenciamento de instâncias depende da configuração da zona de disponibilidade usada pelo gateway.
Zona redundante: A plataforma tenta manter a capacidade do seu gateway criando instâncias temporárias em outras zonas de disponibilidade.
Internamente, o Application Gateway usa conjuntos de dimensionamento de máquina virtual, que executam o balanceamento de zona de melhor esforço. Devido a esse comportamento, as operações de dimensionamento podem não ocorrer quando a capacidade não pode ser dividida uniformemente entre zonas (+/- 1 instância).
Zonal: Você é responsável por criar instâncias em zonas saudáveis, se necessário.
Reencaminhamento do tráfego: O comportamento de redirecionamento de tráfego depende da configuração da zona de disponibilidade usada pelo gateway.
Zona redundante: O Application Gateway redistribui imediatamente o tráfego para as instâncias em zonas íntegras, incluindo todas as instâncias criadas temporariamente.
Zonal: Quando uma zona não está disponível, seu gateway não está disponível. Se você tiver um gateway secundário em outra zona de disponibilidade, será responsável por redirecionar o tráfego para esse gateway secundário.
Recuperação de zona
O comportamento de recuperação de zona depende da configuração da zona de disponibilidade usada pelo gateway:
Zona redundante: Quando a zona de disponibilidade afetada se recupera, o Application Gateway executa automaticamente as seguintes ações:
Restaura instâncias na zona recuperada
Remove todas as instâncias temporárias que foram criadas em outras zonas durante a interrupção
Retorna à distribuição normal de tráfego em todas as zonas disponíveis
Zonal: Você é responsável por redirecionar o tráfego para o gateway na zona de disponibilidade original após a recuperação da zona de disponibilidade.
Teste de falhas de zona
As opções para testar falhas de zona dependem da configuração da zona de disponibilidade usada pelo gateway.
Zona redundante: A plataforma Application Gateway gerencia totalmente o roteamento, failover e failback de tráfego para gateways com redundância de zona. Como a Microsoft gerencia esse recurso, você não precisa iniciar ou validar processos de falha da zona de disponibilidade. A plataforma lida com todos os cenários de falha de zona de forma transparente.
Zonal: Você pode simular alguns aspetos da falha de uma zona de disponibilidade interrompendo explicitamente um gateway. Ao parar o gateway, você pode testar como outros sistemas e balanceadores de carga lidam com uma interrupção no gateway. Para obter mais informações, consulte Como parar e iniciar o Application Gateway.
Resiliência a falhas em toda a região
O Application Gateway v2 é um serviço de região única. Se a região ficar indisponível, seu gateway também ficará indisponível.
Soluções personalizadas de várias regiões para resiliência
Para obter resiliência de várias regiões usando o Application Gateway v2, você precisa implantar gateways separados em cada região desejada e implementar o gerenciamento de tráfego entre regiões. Você é responsável pela implantação e configuração de cada um dos gateways, bem como pelo roteamento e failover de tráfego. Considere os seguintes pontos:
Configure regras e políticas consistentes do Application Gateway entre regiões. Você pode definir infraestrutura como código (IaC) usando ferramentas como Bicep ou Terraform para simplificar suas implantações e configurações entre regiões.
Implante uma solução de balanceamento de carga global que possa enviar tráfego entre seus gateways regionais. Os serviços de balanceamento de carga global no Azure são o Azure Traffic Manager e o Azure Front Door. Cada serviço encaminha o tráfego com base em verificações de integridade, proximidade geográfica ou métricas de desempenho. O Azure Front Door também fornece uma variedade de outros recursos, incluindo proteção contra ataques DDoS (negação de serviço distribuída), recursos WAF e regras avançadas e recursos de roteamento.
Além do gateway, considere replicar aplicativos e dados de back-end entre regiões. Consulte os guias de confiabilidade de cada serviço do Azure para entender as abordagens de implantação de várias regiões.
Para obter um exemplo de abordagem, consulte Usar o Application Gateway com o Gerenciador de Tráfego.
Backup e restauração
O Application Gateway v2 é um serviço sem monitoração de estado que não requer operações tradicionais de backup e restauração. Todos os dados de configuração são armazenados no Gerenciador de Recursos e podem ser reimplantados usando abordagens IaC, como arquivos Bicep ou modelos ARM.
Para gerenciamento de configuração e recuperação de desastres, você deve executar as seguintes ações:
Defina a configuração da implantação do Application Gateway usando arquivos Bicep ou modelos ARM ou exporte a configuração de um gateway existente.
Armazene certificados TLS (Transport Layer Security) no Cofre de Chaves do Azure para gerenciamento e replicação seguros.
Configurações, regras e políticas personalizadas de controle de documentos e versões.
Implemente pipelines de implantação automatizados para provisionamento de gateway consistente.
Para a maioria das soluções, você não deve confiar exclusivamente em backups. Em vez disso, use os outros recursos descritos neste guia para dar suporte aos seus requisitos de resiliência. No entanto, os backups protegem contra alguns riscos que outras abordagens não oferecem. Para obter mais informações, consulte O que são redundância, replicação e backup?.
Resiliência à manutenção de serviços
O Application Gateway v2 executa atualizações regulares de serviços e outras tarefas de manutenção. Para manter a capacidade esperada durante uma atualização, a plataforma adiciona automaticamente instâncias extras do gateway durante o processo de atualização. No entanto, você precisa garantir que a sub-rede do gateway tenha espaço livre de endereço IP suficiente para as instâncias temporárias a serem criadas. Para obter mais informações, consulte Como o Application Gateway lida com a manutenção de rotina?.
Contrato de nível de serviço
O contrato de nível de serviço (SLA) para serviços do Azure descreve a disponibilidade esperada de cada serviço e as condições que sua solução deve atender para atingir essa expectativa de disponibilidade. Para obter mais informações, consulte Acordos de Nível de Serviço (SLAs) para serviços online.
Para que um gateway seja elegível para o SLA de disponibilidade do Application Gateway, ele deve atender aos seguintes critérios:
- Ele deve ser configurado corretamente para executar o balanceamento de carga HTTP.
- Ele deve ser redundante de zona ou deve ser configurado para usar o dimensionamento automático.