Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece diretrizes para solucionar problemas de cenários comuns para redes virtuais no Microsoft Power Platform. Ele se concentra em usar o 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 módulo do Microsoft.PowerPlatform.EnterprisePolicies PowerShell ajuda você 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 de instalar o módulo, 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:
- Get-EnvironmentRegion: recupera a região do ambiente do Power Platform especificado.
- Get-EnvironmentUsage: fornece informações sobre o uso do ambiente do Power Platform especificado.
- Test-DnsResolution: testa a resolução DNS para o nome de domínio especificado.
- Test-NetworkConnectivity: testa a conectividade de rede entre o ambiente do Power Platform e o recurso de destino.
- Test-TLSHandshake: testa se um handshake TLS pode ser estabelecido entre o ambiente do Power Platform e o recurso de destino.
Para obter uma lista completa das funções disponíveis no módulo de diagnóstico, consulte o Módulo Microsoft.PowerPlatform.EnterprisePolicies.
Relatar problemas no módulo de diagnóstico
Se você encontrar 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 encontrado, 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
Um ambiente funciona, mas outro não
Se tudo estiver configurado corretamente, mas você ainda encontrar problemas, use a função Get-EnvironmentRegion do módulo de diagnóstico do PowerShell para verificar se as regiões de seus ambientes do Power Platform são as mesmas. Execute o comando a seguir:
Get-EnvironmentRegion -EnvironmentId "<EnvironmentId>"
Se os ambientes estiverem em regiões diferentes e um funcionar, mas o outro não funcionar, o problema estará na configuração da rede virtual para a região com falha. Para garantir que a configuração completa esteja configurada corretamente, execute quaisquer comandos de diagnóstico adicionais em ambas as regiões. Para especificar uma região, inclua o -Region parâmetro. Por exemplo:
Test-DnsResolution -EnvironmentId "<EnvironmentId>" -HostName "<HostName>" -Region "<AzureRegion>"
Seu ambiente pertence a uma geografia específica do Power Platform. No entanto, uma região do Power Platform 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, você precisa configurar suas redes virtuais em ambas as regiões do Azure associadas à sua região do Power Platform. Para saber como as regiões do Power Platform 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ê encontrar problemas que afetam a resolução de nome de host, use a função Test-DnsResolution 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 da 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ê encontrar problemas nos quais as solicitações a 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 poderá estar retornando um endereço IP público. Esse problema pode afetar recursos do Azure e não do Azure.
Recurso não-Azure sem ponto de extremidade privado
Se um recurso não-Azure não tiver um ponto de extremidade privado, mas você puder acessá-lo de sua rede virtual, será necessário configurar o servidor DNS para resolver o nome de host do recurso para o 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 você acesse o recurso por meio de seu endereço IP privado.
Recurso do Azure que possui 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, em vez disso, um endereço IP público, é possível que sua configuração de DNS esteja faltando registros. Siga estas etapas:
- Verifique se existe uma zona DNS privada para o tipo de recurso. Por exemplo,
privatelink.database.windows.netpara o Banco de Dados SQL do Azure. Se a zona DNS privada não existir, crie uma. - 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 de vincular a zona DNS privada à sua rede virtual, o nome do host do recurso deverá ser resolvido 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 função Test-DnsResolution 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 função Test-NetworkConnectivity do módulo de diagnóstico do PowerShell para verificar a 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.
Não é possível estabelecer um TLS handshake
Alguns firewalls podem permitir que conexões TCP sejam estabelecidas, mas, em seguida, bloquear o tráfego real para o recurso (por exemplo, HTTPS). Portanto, mesmo que a função Test-NetworkConnectivity indique conectividade de rede, esse status não garante que o recurso esteja totalmente acessível.
Use a função Test-TLSHandshake para diagnosticar por que um handshake não pode ser estabelecido. Execute o comando a seguir:
Test-TLSHandshake -EnvironmentId "<EnvironmentId>" -Destination "<ResourceAddress>" -Port 1433
O comando retorna informações que podem ajudá-lo a depurar por que o handshake falhou. A saída inclui o certificado que o servidor apresentou, o conjunto de criptografias, o protocolo e quaisquer descrições de erro SSL.
Importante
Há suporte apenas para certificados publicamente confiáveis. Para obter mais informações, consulte Você dá suporte a certificados desconhecidos?
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, verifique as configurações e as configurações no nível do aplicativo:
- Verifique se o firewall permite o acesso da sub-rede delegada ao recurso.
- Verifique se o certificado que o recurso apresenta é publicamente confiável.
- Verifique se nenhum problema de autenticação ou autorização impede 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.