Exercício – Testar o Gateway de Aplicativo
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.
Testar o balanceamento de carga para o aplicativo Web de registro de veículos
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)
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).
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.
Escolha Registrar um Veículo, insira os detalhes do veículo e selecione Registrar.
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
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
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.
Na janela do Cloud Shell à direita, reinicie a instância do webServer1:
az vm start \ --resource-group $RG \ --name webServer1
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.
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.
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.
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.