Partilhar via


Solucionar problemas de rede virtual

Este artigo fornece diretrizes para solucionar problemas de cenários comuns para redes virtuais no Microsoft Power Platform. Este artigo se concentra no uso do módulo Microsoft.PowerPlatform.EnterprisePolicies PowerShell para ajudá-lo a identificar e resolver problemas relacionados às configurações de rede virtual.

Usar o módulo de diagnóstico do PowerShell

O Microsoft.PowerPlatform.EnterprisePolicies módulo do PowerShell foi projetado para ajudá-lo a diagnosticar e solucionar problemas relacionados às configurações de rede virtual no Power Platform. Você pode usar a ferramenta para verificar a conectividade entre seu ambiente do Power Platform e sua rede virtual. Você também pode usá-lo para identificar quaisquer configurações incorretas que possam estar causando problemas. Este módulo de diagnóstico do PowerShell está disponível na Galeria do PowerShell e em seu repositório GitHub, PowerPlatform-EnterprisePolicies.

Instalar o módulo

Para instalar o módulo de diagnóstico do PowerShell, execute o seguinte comando do PowerShell:

Install-Module -Name Microsoft.PowerPlatform.EnterprisePolicies

Executar as funções de diagnóstico

Depois que o módulo for instalado, importe-o para sua sessão do PowerShell executando o seguinte comando:

Import-Module Microsoft.PowerPlatform.EnterprisePolicies

O módulo inclui várias funções para diagnosticar e solucionar problemas relacionados às configurações de rede virtual. Algumas das principais funções são:

Relatar problemas no módulo de diagnóstico

Se você tiver problemas ao executar o módulo de diagnóstico, relate-os por meio do repositório GitHub em que o módulo está hospedado. O repositório está disponível em: PowerPlatform-EnterprisePolicies.

Para relatar um problema, vá para a seção Problemas do repositório e abra um novo problema. Forneça informações detalhadas sobre o problema que você enfrenta, incluindo mensagens de erro ou entradas de log que possam ajudar ao investigar o problema. Não inclua informações confidenciais em seu relatório.

Solução de problemas comuns

As regiões estão configuradas incorretamente

Se tudo estiver configurado corretamente, mas você ainda tiver problemas, use a Get-EnvironmentRegion função do módulo de diagnóstico do PowerShell para verificar se as regiões do seu ambiente do Power Platform são iguais às regiões da sua rede virtual. Execute o comando a seguir:

Get-EnvironmentRegion -EnvironmentId "<EnvironmentId>"

Seu ambiente pertence a uma região específica do PowerPlatform. No entanto, uma região do PowerPlatform pode abranger duas regiões do Azure. Seu ambiente pode estar localizado em qualquer região e também pode fazer failover automaticamente entre elas. Portanto, para garantir alta disponibilidade e conectividade, configure sua rede virtual em ambas as regiões do Azure associadas à sua região do PowerPlatform. Para saber como as regiões do PowerPlatform são mapeadas para regiões do Azure que dão suporte à funcionalidade de rede virtual, consulte as regiões do Power Platform.

Nome do host não encontrado

Se você tiver problemas que afetam a resolução de nome de host, use a Test-DnsResolution função do módulo de diagnóstico do PowerShell para verificar se o nome do host foi resolvido corretamente. Execute o comando a seguir:

Test-DnsResolution -EnvironmentId "<EnvironmentId>" -HostName "<HostName>"

Esse comando testa a resolução DNS para o nome do host especificado no contexto do seu ambiente do Power Platform. A solicitação inicia de sua sub-rede delegada e tenta resolver o nome do host usando o servidor DNS configurado para sua rede virtual. Se o nome do host não for resolvido corretamente, talvez seja necessário verificar as configurações de DNS para verificar se o nome do host está configurado corretamente.

Importante

Se você observar que sua configuração de DNS está incorreta e precisar atualizar as configurações do servidor DNS para sua rede virtual, consulte Posso atualizar o endereço DNS da minha rede virtual depois que ele for delegado a "Microsoft.PowerPlatform/enterprisePolicies"?

A solicitação usa um endereço IP público em vez do endereço IP privado

Se você tiver problemas em que as solicitações para um recurso usam um endereço IP público em vez do endereço IP privado, a resolução DNS para o nome do host do recurso pode estar retornando um endereço IP público. Esse problema pode ocorrer com recursos do Azure e não do Azure.

Recurso não-Azure sem ponto de extremidade privado

Se um recurso não relacionado ao Azure não tiver um ponto de extremidade privado, mas estiver acessível da sua rede virtual, o servidor DNS deverá ser configurado para resolver o nome do host do recurso ao seu endereço IP privado. Adicione um registro DNS A ao servidor DNS que mapeia o nome do host do recurso para seu endereço IP privado:

  • Se você estiver usando um servidor DNS personalizado, adicione o registro A diretamente ao servidor.
  • Se você estiver usando um DNS fornecido pelo Azure, crie uma Zona DNS Privada do Azure e vincule-a à sua rede virtual. Em seguida, adicione o registro A à zona DNS privada.

Esse mapeamento garante que o recurso seja acessado por meio de seu endereço IP privado.

Recurso do Azure com um ponto de extremidade privado

Se um recurso do Azure tiver um ponto de extremidade privado, a resolução DNS para o nome do host do recurso deverá retornar o endereço IP privado associado ao ponto de extremidade privado. Se a resolução DNS retornar um endereço IP público, os registros poderão estar ausentes de sua configuração de DNS. Siga estas etapas:

  1. Verifique se existe uma zona DNS privada para o tipo de recurso. Por exemplo, privatelink.database.windows.net para o Banco de Dados SQL do Azure. Se a zona DNS privada não existir, crie uma.
  2. Verifique se a zona DNS privada está vinculada à sua rede virtual. Se a zona DNS privada não estiver vinculada à sua rede virtual, vincule-a.

Depois que a zona DNS privada estiver vinculada à sua rede virtual, o nome do host do recurso deverá se resolver para o endereço IP privado associado ao ponto de extremidade privado.

Testar alterações de configuração de DNS

Depois de atualizar a configuração de DNS, use a Test-DnsResolution função do módulo de diagnóstico do PowerShell para verificar se o nome do host é resolvido para o endereço IP privado correto. Execute o comando a seguir:

Test-DnsResolution -EnvironmentId "<EnvironmentId>" -HostName "<HostName>"

Não é possível se conectar ao recurso

Se você tiver problemas que afetam a conectividade com um recurso, use a Test-NetworkConnectivity função do módulo de diagnóstico do PowerShell para verificar se há conectividade. Execute o comando a seguir:

Test-NetworkConnectivity -EnvironmentId "<EnvironmentId>" -Destination "<ResourceAddress>" -Port 1433

Esse comando tenta estabelecer uma conexão TCP com o destino e a porta especificados no contexto do seu ambiente do Power Platform. A solicitação é iniciada a partir da sub-rede delegada e tenta se conectar ao destino especificado usando a configuração de rede da rede virtual. Se a conexão falhar, talvez seja necessário verificar as configurações de rede para verificar se o destino está acessível na rede virtual. Uma conexão bem-sucedida indica que a conectividade de rede existe entre o ambiente do Power Platform e o recurso especificado.

Observação

Esse comando testa apenas se uma conexão TCP pode ser estabelecida com o destino e a porta especificados. Ele não testa se o recurso está disponível ou se algum problema no nível do aplicativo pode estar impedindo o acesso ao recurso. Alguns firewalls podem permitir que conexões TCP sejam estabelecidas, mas bloqueiam o tráfego real para o recurso (por exemplo, HTTPS). Portanto, mesmo que o comando indique conectividade de rede, esse status não garante que o recurso esteja totalmente acessível.

A conectividade é bem-sucedida, mas o aplicativo ainda não está funcionando

Se os testes de conectividade forem bem-sucedidos, mas você ainda estiver enfrentando problemas em seu aplicativo, talvez seja necessário verificar as configurações e as configurações no nível do aplicativo, da seguinte maneira:

  1. Verifique se o firewall permite o acesso da sub-rede delegada ao recurso.
  2. Verifique se o certificado apresentado pelo recurso é publicamente confiável.
  3. Verifique se não existem problemas de autenticação ou autorização que impeçam o acesso ao recurso.

Talvez você não consiga diagnosticar ou resolver o problema usando o módulo de diagnóstico do PowerShell. Nesse caso, crie uma sub-rede sem delegação em sua rede virtual e implante uma VM (máquina virtual) nessa sub-rede. Em seguida, você pode usar a VM para executar mais etapas de diagnóstico e solução de problemas, como verificar o tráfego de rede, analisar logs e testar a conectividade no nível do aplicativo.