Exercício – resolver problemas de uma rede com ferramentas de diagnóstico e monitorização do Observador de Rede

Concluído

O Observador de Rede do Azure ajuda a diagnosticar erros de configuração que impedem as máquinas virtuais (VMs) de comunicar.

Suponhamos que tem duas VMs que não conseguem comunicar. Quer diagnosticar o problema e resolvê-lo o mais rápido possível. Deve utilizar o Observador de Rede para o fazer.

Aqui, irá resolver problemas de conectividade entre duas VMs em sub-redes diferentes.

Importante

Precisa da sua própria subscrição do Azure para executar este exercício e poderá incorrer em custos. Se ainda não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Configurar uma rede virtual e VMs

Comecemos por criar a infraestrutura. Também criaremos propositadamente um erro de configuração:

  1. No navegador, abra uma sessão do Azure Cloud Shell .

  2. Abra o diretório no qual você deseja criar recursos.

  3. Selecione Bash no canto superior esquerdo da barra de menus do Cloud Shell .

  4. Liste as regiões suportadas para sua assinatura.

    az account list-locations
    
  5. Crie um grupo de recursos e atribua-o ao nome da variável RG executando o código a seguir, substituindo <resource group name> por um nome para seu grupo de recursos e <name> pelo nome de uma região da saída anterior.

    az group create --name <resource group name> --location <name>
    RG=<resource group name>
    
  6. Crie uma rede virtual chamada MyVNet1 com uma sub-rede chamada FrontendSubnet executando este comando.

    az network vnet create \
        --resource-group $RG \
        --name MyVNet1 \
        --address-prefixes 10.10.0.0/16 \
        --subnet-name FrontendSubnet \
        --subnet-prefixes 10.10.1.0/24
    
  7. Crie outra sub-rede chamada BackendSubnet executando este comando.

    az network vnet subnet create \
    --address-prefixes 10.10.2.0/24 \
    --name BackendSubnet \
    --resource-group $RG \
    --vnet-name MyVNet1
    
  8. Implante uma VM no FrontendSubnet executando este comando, substituindo <password> por uma senha complexa de sua escolha.

    az vm create \
        --resource-group $RG \
        --name FrontendVM \
        --vnet-name MyVNet1 \
        --subnet FrontendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    

    Nota

    Se você receber um erro "partofthepassword: evento não encontrado", crie uma nova senha usando caracteres permitidos.

  9. Instale o IIS no FrontendVM executando o código a seguir.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name FrontendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  10. Implante uma máquina virtual em BackendSubnet executando este comando, substituindo <password> por uma senha complexa de sua escolha.

    az vm create \
        --resource-group $RG \
        --name BackendVM \
        --vnet-name MyVNet1 \
        --subnet BackendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    
  11. Instale o IIS no BackendVM executando este comando.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name BackendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  12. Crie um grupo de segurança de rede (NSG) MyNsg inserindo o seguinte comando.

    az network nsg create \
        --name MyNsg \
        --resource-group $RG
    
  13. Crie um erro de configuração que impeça a comunicação entre as VMs.

    az network nsg rule create \
        --resource-group $RG \
        --name MyNSGRule \
        --nsg-name MyNsg \
        --priority 4096 \
        --source-address-prefixes '*' \
        --source-port-ranges '*' \
        --destination-address-prefixes '*' \
        --destination-port-ranges 80 443 3389 \
        --access Deny \
        --protocol TCP \
        --direction Inbound \
        --description "Deny from specific IP address ranges on 80, 443 and 3389."
    
  14. Execute o seguinte comando para associar um grupo de segurança de rede a uma sub-rede.

    az network vnet subnet update \
        --resource-group $RG \
        --name BackendSubnet \
        --vnet-name MyVNet1 \
        --network-security-group MyNsg
    

Ativar o Observador de Rede para a sua região

Agora, vamos usar a CLI do Azure para configurar o Observador de Rede na mesma região da infraestrutura.

  1. Habilite o Inspetor de Rede executando este comando, substituindo <location> pela região do Azure que você usou quando criou seu grupo de recursos no início desta sessão.
az network watcher configure \
    --enabled true \
    --resource-group $RG \
    --locations <location>

Utilizar o Observador de Rede para mostrar a topologia

Agora, você pode usar o Inspetor de Rede no portal do Azure para solucionar problemas de conectividade entre duas VMs em sub-redes diferentes. Seu colega relatou um problema de conectividade via HTTP/HTTPS entre as duas VMs. Primeiro, investigue a topologia de rede.

  1. Inicie sessão no portal do Azure.

  2. Na pesquisa global, insira Network Watcher e selecione esse serviço. O painel Visão geral do Inspetor de Rede é exibido, listando o observador de rede ativo.

  3. No menu Inspetor de Rede, em Monitoramento, selecione Topologia. O Observador da Rede | O painel Topologia é exibido.

  4. Nos campos pendentes, selecione a sua Subscrição e Grupo de Recursos para este exercício. A topologia de rede para MyVNet1 exibe as interfaces VM frontend e backend. Esta é a rede virtual que você criou no início deste exercício.

    Captura de tela mostrando a topologia de rede do exercício.

Usar o Monitor de Conexão para executar testes do back-end para o frontend

A topologia parece estar correta. Para obter mais informações, vamos configurar alguns testes no Monitor de Ligação. Comece criando um teste da VM de back-end para a VM de front-end.

  1. No menu Inspetor de Rede, em Monitoramento, selecione Monitor de conexão. O Observador da Rede | O painel Visão geral do monitor de conexão é exibido.

  2. Na barra de comandos, selecione Criar. A página Criar Monitor de Conexão é exibida.

  3. Na guia Noções básicas, insira os seguintes valores para cada configuração.

    Definição Value
    Nome do Monitor de Ligação Back-to-front-HTTP-test
    Subscrição Selecione a sua subscrição na lista pendente
    País/Região Selecione a região do Azure na qual você implantou seus recursos
    Configuração da área de trabalho Usar espaço de trabalho criado pelo monitor de conexão (padrão) está marcado
  4. Selecione Avançar : Grupos de teste. O painel Adicionar detalhes do grupo de teste é exibido.

  5. Para Nome do grupo de teste, digite Back-to-front-HTTP-test-group.

  6. Na caixa Fontes, selecione Adicionar fontes. O painel Adicionar códigos-fonte é exibido.

  7. Na guia Pontos de extremidade do Azure, selecione Sub-rede, verifique se sua assinatura está selecionada e selecione BackendSubnet na lista.

    Captura de ecrã que mostra a ativação da sub-rede de back-end do Observador de Rede.

  8. Selecione Adicionar pontos de extremidade. Na caixa Fontes com o BackendSubnet identificado como sua fonte. Selecione este ponto de extremidade, selecione Editar e renomeie-o para BackendSubnet e, em seguida, selecione Salvar.

    Captura de tela que mostra a edição do nome do ponto de extremidade.

  9. Na caixa Configurações de teste, selecione Adicionar configuração de teste. O painel de configuração Adicionar teste é exibido.

  10. Na guia Nova configuração, insira os seguintes valores para cada configuração.

    Definição Value
    Nome da configuração de teste Back-to-front-HTTP-test-configuration
    Protocolo HTTP
    Porta de destino 80
    Frequência de Teste A cada 30 segundos
    Manter os valores padrão para as configurações restantes
  11. Selecione Adicionar configuração de teste para adicionar essa configuração de teste ao seu grupo de teste. Adicionar detalhes do grupo de teste reaparece com sua configuração de teste identificada.

  12. Na caixa Destinos, selecione Adicionar destinos. O painel Adicionar Destinos é exibido.

  13. Na guia Pontos de extremidade do Azure, selecione Sub-rede, verifique se sua assinatura está selecionada e selecione FrontendSubnet na lista.

  14. Selecione Adicionar pontos de extremidade. O Adicionar detalhes do grupo de teste reaparece com o FrontendSubnet identificado como seu destino.

  15. Na parte inferior do painel, selecione Adicionar grupo de teste. O painel Criar Monitor de Conexão é exibido.

  16. Na guia Grupos de teste, observe que seu grupo de teste está listado com origem como back-end e destino como frontend.

  17. Selecione Rever + criar e Criar.

Se o teste não aparecer no painel Monitor de Conexão, selecione o botão Atualizar. Os resultados do teste Back-to-front-HTTP-test devem mostrar que, como o NSG está associado à sub-rede de back-end, o tráfego flui sem problemas da VM de back-end para a VM de front-end.

Usar o Monitor de Conexão para executar testes do frontend ao back-end

Execute o mesmo teste na direção oposta. Vamos configurar outro teste no Monitor de Conexão. Comece criando um teste da VM frontend para a VM backend.

  1. No painel Monitor de Conexão, selecione Criar.

  2. Na guia Noções básicas, insira os seguintes valores para cada configuração.

    Definição Value
    Nome do Monitor de Ligação Front-to-back-HTTP-test
    Subscrição Selecione a sua subscrição na lista pendente
    País/Região Selecione a região do Azure na qual você implantou seus recursos
  3. Selecione Avançar : Grupos de teste. O painel Adicionar detalhes do grupo de teste é exibido.

  4. Em Nome do grupo de teste, digite Front-to-back-HTTP-test-group e selecione Adicionar fontes na caixa Fontes. O painel Adicionar códigos-fonte é exibido.

  5. Na guia Pontos de extremidade do Azure, selecione Sub-rede, verifique se sua assinatura está selecionada e selecione FrontSubnet na lista.

  6. Selecione Adicionar pontos de extremidade. Na caixa Fontes com o BackendSubnet identificado como sua fonte. Selecione este ponto de extremidade, selecione Editar e renomeie-o para FrontendSubnet e, em seguida, selecione Salvar.

  7. Na caixa Configurações de teste, selecione Adicionar configuração de teste. O painel de configuração Adicionar teste é exibido.

  8. Na guia Nova configuração, insira os seguintes valores para cada configuração.

    Definição Value
    Nome da configuração de teste Front-to-back-HTTP-test-configuration
    Protocolo HTTP
    Porta de destino 80
    Frequência de Teste A cada 30 segundos
    Aceitar os valores padrão para as configurações restantes
  9. Selecione Adicionar configuração de teste. Adicionar detalhes do grupo de teste reaparece com sua configuração de teste identificada.

  10. Na caixa Destinos, selecione Adicionar destinos. O painel Adicionar Destinos é exibido.

  11. Na guia Pontos de extremidade do Azure, selecione Sub-rede, verifique se sua assinatura está selecionada e selecione BackendSubnet na lista.

  12. Selecione Adicionar pontos de extremidade. O painel Adicionar detalhes do grupo de teste reaparece com o BackendSubnet identificado como seu destino.

  13. Na parte inferior do painel, selecione Adicionar grupo de teste. O painel Criar Monitor de Conexão reaparece.

  14. Na guia Grupos de teste, observe que seu Front-to-back-HTTP-test-group agora está listado.

  15. Selecione Rever + criar e Criar.

Se o teste não aparecer no painel Monitor de Conexão, selecione o botão Atualizar. Os resultados do teste HTTP-to-back-back devem mostrar que, como o NSG está associado à sub-rede de back-end, nenhum tráfego flui da VM de front-end para a VM de back-end.

Utilizar a verificação do fluxo de IP para testar a ligação

Vamos utilizar a ferramenta Verificação do fluxo de IP para obter mais informações.

  1. Selecione Inspetor de Rede e, no menu de recursos em Ferramentas de diagnóstico de rede, selecione Verificar fluxo de IP.

  2. Configure o teste inserindo os seguintes valores para cada configuração e selecione Verificar.

    Definição Value
    Subscrição Selecione a sua subscrição
    Grupo de recursos selecione o seu grupo de recursos
    Máquina virtual BackendVM
    Interface de Rede BackendVMVMNic
    Protocolo TCP
    Direção Interna
    Endereço IP local 10.10.2.4
    Porta local 3389
    Endereço IP remoto 10.10.1.4
    Porta remota 3389

    Captura de tela mostrando um teste de fluxo IP.

  3. O Resultado mostra Acesso negado devido ao NSG e às regras de segurança.

Neste exercício, utilizou com êxito ferramentas do Observador de Rede para detetar o problema de conectividade entre as duas sub-redes. A comunicação é permitida num sentido, mas bloqueada noutro, devido às regras de NSG.