Exercício – Testar o Gateway de Aplicação

Concluído

A etapa final é testar o gateway de aplicação e verificar se este implementa o balanceamento de carga e se não vai tentar direcionar o tráfego para um servidor Web indisponível. Também queremos garantir que o nosso encaminhamento baseado no caminho está a funcionar corretamente.

Diagram showing the resources that have been deployed.

Testar o balanceamento de carga da aplicação Web de registo de veículos

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

    echo http://$(az network public-ip show \
      --resource-group $RG \
      --name appGatewayPublicIp \
      --query dnsSettings.fqdn \
      --output tsv)
    
  2. Num browser, navegue para o site através do URL devolvido pelo comando anterior. Este é o endereço do seu gateway de aplicação. Garanta que é apresentada a home page da aplicação Web de registo de veículos. Tome nota do nome do servidor Web que está a utilizar, conforme mostrado no rodapé (webServer1 ou webServer2).

    Screenshot showing an image of the vehicle registration web app.

  3. Selecione Atualizar na barra de endereço do navegador da Web. Repare que a sessão deverá estar agora ligada a um servidor Web diferente. Nesta configuração, o Gateway de Aplicação utiliza o balanceamento de carga round robin.

  4. Selecione Registar um veículo, introduza os dados de um veículo e, em seguida, selecione Registar.

  5. Selecione Atualizar mais algumas vezes. Os pedidos devem oscilar entre os servidores.

Testar a resiliência do Gateway de Aplicação num servidor com falha

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

    az vm deallocate \
      --resource-group $RG \
      --name webServer1
    
  2. Retorne ao aplicativo no navegador da Web e selecione Atualizar várias vezes. Repare que o navegador agora apenas se liga ao webServer2.

  3. Na janela do Cloud Shell no lado direito, reinicie a instância do webServer1:

    az vm start \
      --resource-group $RG \
      --name webServer1
    
  4. Retorne ao aplicativo Web no navegador da Web e selecione Atualizar várias vezes. Deverá ver que os pedidos estão agora distribuídos pelos dois servidores Web novamente.

Verificou que a aplicação Web está em execução. O Gateway de Aplicação utiliza o balanceamento de carga para distribuir os pedidos pelos servidores. O Gateway de Aplicação deteta se um servidor falhou e não encaminhará pedidos para um servidor indisponível.

Testar o encaminhamento baseado no caminho

Agora vamos testar o encaminhamento baseado no caminho. Recorde que os URLs para a raiz do site e com /VehicleRegistration/ serão encaminhados para o vmPool que contém as nossas VMs e os pedidos para /LicenseRenewal/ serão encaminhados para o appServicePool que contém o nosso Serviço de Aplicações.

Acabou de confirmar que esse encaminhamento para a página raiz funciona, dado que foi capaz de abrir a página de registo de veículos. Vamos experimentar outras rotas para confirmar que funcionam.

  1. Agora selecione Registrar um veículo na página do gateway do aplicativo. Este procedimento deve abrir a página Registo de Veículos do site de registo de veículos. Com /VehicleRegistration/ no URL, o encaminhamento será feito para o vmPool, onde o nosso site de registo de veículos está em execução.

    Screenshot showing a vehicle-registration web app.

  2. Agora, aceda a http://<vehicleAppGateway>/LicenseRenewal/Create. Isso deve levá-lo para a página de renovação de licença em execução no Serviço de Aplicativo. Com /LicenseRenewal/ no URL, o encaminhamento será feito para o appServicePool, onde o nosso site de renovação de cartas de condução está em execução.

    Screenshot showing an image of the license-renewal web app.

Com esta configuração, podemos direcionar todos os utilizadores para os dois sites através do nosso Gateway de Aplicação, ao disponibilizar um URL raiz a recordar. Podemos adicionar sites adicionais à medida que expandimos a nossa presença na Web.

Firewall de aplicações Web

Também ativámos a WAF no nosso Gateway de Aplicação. Ao fazê-lo, adicionámos automaticamente proteção de segurança para os dois sites, o que permite fornecer uma camada sólida de proteção contra as vulnerabilidades mais comuns e ajuda a proteger a infraestrutura e os dados.