Exercício – Testar o Gateway de Aplicativo

Concluído

A etapa final é testar o gateway de aplicativo e verificar se ele implementa o balanceamento de carga e se não tentará rotear o tráfego para um servidor Web que não está disponível. Também queremos garantir que nosso roteamento baseado em caminho esteja funcionando corretamente.

Diagrama mostra os recursos que foram implantados.

Testar o balanceamento de carga para o aplicativo Web de registro de veículos

  1. No Cloud Shell, execute o seguinte comando para gerar a URL raiz de seu Gateway de Aplicativo:

    echo http://$(az network public-ip show \
      --resource-group $RG \
      --name appGatewayPublicIp \
      --query dnsSettings.fqdn \
      --output tsv)
    
  2. Usando um navegador da Web, navegue até o site na URL retornada pelo comando anterior. Esse é o endereço de seu gateway de aplicativo. Verifique se a home page do aplicativo Web de registro de veículos aparece. Observe o nome do servidor Web que você está usando, conforme mostrado no rodapé (webServer1 ou webServer2).

    Captura de tela mostrando uma imagem do aplicativo Web de registro do veículo.

  3. Selecione Atualizar na barra de endereços do navegador da Web. Observe que agora sua sessão deverá estar conectada a um servidor Web diferente. Com essa configuração, o Gateway de Aplicativo usa o balanceamento de carga com round robin.

  4. Escolha Registrar um Veículo, insira os detalhes do veículo e selecione Registrar.

  5. Selecione Atualizar mais algumas vezes. As solicitações devem oscilar entre os servidores.

Testar a resiliência de Gateway de Aplicativo para um servidor com falha

  1. No Cloud Shell, execute o seguinte comando para interromper e desalocar a máquina virtual para webServer1:

    az vm deallocate \
      --resource-group $RG \
      --name webServer1
    
  2. Volte ao aplicativo no navegador da Web e escolha Atualizar várias vezes. Observe que o navegador da Web agora só se conecta ao webServer2.

  3. Na janela do Cloud Shell à direita, reinicie a instância do webServer1:

    az vm start \
      --resource-group $RG \
      --name webServer1
    
  4. Volte ao aplicativo Web no navegador da Web e escolha Atualizar várias vezes. Você deverá ver que agora as solicitações são distribuídas entre os dois servidores da Web novamente.

Você verificou que o aplicativo Web está em execução. O Gateway de Aplicativo usa o balanceamento de carga para distribuir solicitações entre servidores. O Gateway de Aplicativo detecta se um servidor falhou e não faz o roteamento de solicitações para um servidor que não está disponível.

Testar o roteamento baseado em caminho

Agora, vamos testar o roteamento baseado em caminho. Lembre-se de que as URLs para a raiz do site e com /VehicleRegistration/ serão roteadas para o vmPool que contém nossas VMs e as solicitações para /LicenseRenewal/ serão roteadas para o appServicePool que contém o Serviço de Aplicativo.

Você acabou de confirmar que o roteamento para a página raiz funciona, uma vez que conseguiu abrir a página de registro de veículos. Vamos tentar outras rotas para confirmar que elas funcionam.

  1. Agora, selecione Registrar um Veículo na página do gateway de aplicativo. Isso deve abrir a página de Registro de veículo do site de registro de veículos. Com /VehicleRegistration/ na URL, isso roteia para o vmPool em que nosso site de registro de veículos está em execução.

    Captura de tela mostrando um aplicativo Web de registro de veículos.

  2. Agora visite http://<vehicleAppGateway>/LicenseRenewal/Create. Isso levará você para a página de renovação de carteira de motorista em execução no Serviço de Aplicativo. Com /LicenseRenewal/ na URL, isso roteia para o appServicePool em que nosso site de renovação de licença está em execução.

    Captura de tela mostrando uma imagem do aplicativo Web de renovação de licença.

Com essa configuração, podemos direcionar todos os usuários para os dois sites por meio do Gateway de Aplicativo, dando a eles uma URL raiz para se lembrarem. Podemos adicionar mais sites à medida que expandirmos nossa presença na Web.

Firewall do aplicativo Web

Também habilitamos o WAF em nosso Gateway de Aplicativo. Fazendo isso, adicionamos automaticamente a proteção de segurança aos dois sites. Isso fornece uma camada sólida de proteção contra vulnerabilidades comuns e ajuda a proteger nossos dados e infraestrutura.