Compartir a través de


Solución de problemas de red virtual

En este artículo se proporcionan instrucciones para solucionar problemas de escenarios comunes para redes virtuales en Microsoft Power Platform. Se centra en usar el módulo de PowerShell Microsoft.PowerPlatform.EnterprisePolicies para ayudarle a identificar y resolver problemas relacionados con las configuraciones de red virtual.

Uso del módulo de PowerShell de diagnóstico

El Microsoft.PowerPlatform.EnterprisePolicies módulo de PowerShell le ayuda a diagnosticar y solucionar problemas relacionados con las configuraciones de red virtual en Power Platform. Puede usar la herramienta para comprobar la conectividad entre el entorno de Power Platform y la red virtual. También puede usarlo para identificar cualquier configuración incorrecta que pueda estar causando problemas. Este módulo de PowerShell de diagnóstico está disponible en la Galería de PowerShell y en su repositorio de GitHub , PowerPlatform-EnterprisePolicies.

Instalación del módulo

Para instalar el módulo de PowerShell de diagnóstico, ejecute el siguiente comando de PowerShell:

Install-Module -Name Microsoft.PowerPlatform.EnterprisePolicies

Ejecución de las funciones de diagnóstico

Después de instalar el módulo, impórtelo en la sesión de PowerShell mediante la ejecución del siguiente comando:

Import-Module Microsoft.PowerPlatform.EnterprisePolicies

El módulo incluye varias funciones para diagnosticar y solucionar problemas relacionados con las configuraciones de red virtual. Algunas de las funciones clave son:

  • Get-EnvironmentRegion: recupera la región del entorno de Power Platform especificado.
  • Get-EnvironmentUsage: proporciona información sobre el uso del entorno de Power Platform especificado.
  • Test-DnsResolution: prueba la resolución DNS para el nombre de dominio especificado.
  • Test-NetworkConnectivity: comprueba la conectividad de red entre el entorno de Power Platform y el recurso de destino.
  • Test-TLSHandshake: comprueba si se puede establecer un protocolo de enlace TLS entre el entorno de Power Platform y el recurso de destino.

Para obtener una lista completa de las funciones disponibles en el módulo de diagnóstico, consulte Módulo Microsoft.PowerPlatform.EnterprisePolicies.

Notificar problemas en el módulo de diagnóstico

Si tiene problemas al ejecutar el módulo de diagnóstico, notifiquelos a través del repositorio de GitHub donde se hospeda el módulo. El repositorio está disponible en: PowerPlatform-EnterprisePolicies.

Para notificar un problema, vaya a la sección Problemas del repositorio y abra un nuevo problema. Proporcione información detallada sobre el problema que encuentre, incluidos los mensajes de error o las entradas de registro que podrían ayudar al investigar el problema. No incluya ninguna información confidencial en el informe.

Solución de problemas comunes

Un entorno funciona, pero otro no

Si todo está configurado correctamente, pero sigue teniendo problemas, use la función Get-EnvironmentRegion del módulo de PowerShell de diagnóstico para comprobar si las regiones de los entornos de Power Platform son las mismas. Ejecute el siguiente comando:

Get-EnvironmentRegion -EnvironmentId "<EnvironmentId>"

Si los entornos están en regiones diferentes y uno funciona, pero el otro no, el problema se produce en la configuración de la red virtual para la región con errores. Para asegurarse de que la configuración completa está configurada correctamente, ejecute los comandos de diagnóstico adicionales en ambas regiones. Para especificar una región, incluya el -Region parámetro . Por ejemplo:

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

Su entorno pertenece a una geografía específica de Power Platform. Sin embargo, una región de Power Platform puede abarcar dos regiones de Azure. Tu entorno puede estar ubicado en cualquiera de las regiones y también puede realizar una conmutación por error automáticamente entre ellas. Por lo tanto, para garantizar una alta disponibilidad y conectividad, debe configurar las redes virtuales en ambas regiones de Azure asociadas a la región de Power Platform. Para obtener información sobre cómo las regiones de Power Platform se asignan a las regiones de Azure que admiten la funcionalidad de red virtual, consulte Regiones de Power Platform.

No se encontró el nombre de host

Si encuentra problemas que afectan a la resolución de nombres de host, use la función Test-DnsResolution del módulo de PowerShell de diagnóstico para comprobar si el nombre de host se ha resuelto correctamente. Ejecute el siguiente comando:

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

Este comando prueba la resolución DNS del nombre de host especificado en el contexto del entorno de Power Platform. La solicitud se inicia desde la subred delegada e intenta resolver el nombre de host mediante el servidor DNS configurado para la red virtual. Si el nombre de host no se ha resuelto correctamente, es posible que tenga que comprobar la configuración de DNS para asegurarse de que el nombre de host está configurado correctamente.

Importante

Si observa que la configuración de DNS es incorrecta y tiene que actualizar la configuración del servidor DNS de la red virtual, consulte ¿Puedo actualizar la dirección DNS de mi red virtual después de delegarla en "Microsoft.PowerPlatform/enterprisePolicies"?

La solicitud usa una dirección IP pública en lugar de la dirección IP privada

Si encuentra problemas en los que las solicitudes a un recurso usan una dirección IP pública en lugar de la dirección IP privada, la resolución DNS del nombre de host del recurso podría devolver una dirección IP pública. Este problema puede afectar tanto a los recursos de Azure como a los que no son de Azure.

Recurso no-Azure sin un punto de conexión privado

Si un recurso que no es de Azure no tiene un punto de conexión privado, pero puede acceder a él desde la red virtual, debe configurar el servidor DNS para resolver el nombre de host del recurso en su dirección IP privada. Agregue un registro DNS A al servidor DNS que asigne el nombre de host del recurso a su dirección IP privada:

  • Si usa un servidor DNS personalizado, agregue el registro A directamente al servidor.
  • Si usa un DNS proporcionado por Azure, cree una zona DNS privada de Azure y vincúlela a la red virtual. A continuación, agregue el registro A a la zona DNS privada.

Esta asignación garantiza que accedas al recurso a través de su dirección IP privada.

Recurso de Azure que tiene un punto de conexión privado

Si un recurso de Azure tiene un punto de conexión privado, la resolución DNS del nombre de host del recurso debe devolver la dirección IP privada asociada al punto de conexión privado. Si la resolución DNS devuelve una dirección IP pública en su lugar, es posible que falten registros en la configuración de DNS. Siga estos pasos:

  1. Compruebe que existe una zona DNS privada para el tipo de recurso. Por ejemplo, privatelink.database.windows.net para Azure SQL Database. Si la zona DNS privada no existe, cree una.
  2. Compruebe que la zona DNS privada esté vinculada a la red virtual. Si la zona DNS privada no está vinculada a la red virtual, vinculela.

Después de vincular la zona DNS privada a la red virtual, el nombre de host del recurso debe resolverse en la dirección IP privada asociada al punto de conexión privado.

Prueba de los cambios de configuración de DNS

Después de actualizar la configuración de DNS, use la función Test-DnsResolution del módulo de PowerShell de diagnóstico para comprobar que el nombre de host se resuelve en la dirección IP privada correcta. Ejecute el siguiente comando:

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

No se puede conectar al recurso

Si experimenta problemas que afectan a la conectividad a un recurso, use la función Test-NetworkConnectivity del módulo de PowerShell de diagnóstico para comprobar la conectividad. Ejecute el siguiente comando:

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

Este comando intenta establecer una conexión TCP con el destino y el puerto especificados en el contexto del entorno de Power Platform. La solicitud se inicia desde la subred delegada e intenta conectarse al destino especificado mediante la configuración de red de la red virtual. Si se produce un error en la conexión, es posible que tenga que comprobar la configuración de red para asegurarse de que el destino es accesible desde la red virtual. Una conexión correcta indica que existe conectividad de red entre el entorno de Power Platform y el recurso especificado.

Nota:

Este comando solo comprueba si se puede establecer una conexión TCP en el destino y el puerto especificados. No comprueba si el recurso está disponible o si algún problema de nivel de aplicación podría impedir el acceso al recurso.

No se puede establecer un intercambio TLS

Algunos firewalls pueden permitir establecer conexiones TCP, pero después bloquear el tráfico real al recurso (por ejemplo, HTTPS). Por lo tanto, incluso si la función Test-NetworkConnectivity indica la conectividad de red, ese estado no garantiza que el recurso sea totalmente accesible.

Use la función Test-TLSHandshake para diagnosticar por qué no se puede establecer un protocolo de enlace. Ejecute el siguiente comando:

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

El comando devuelve información que puede ayudarle a depurar por qué falló el apretón de manos. La salida incluye el certificado que el servidor presentó, el conjunto de cifrado, el protocolo y las descripciones de errores SSL.

Importante

Solo se admiten certificados de confianza pública. Para obtener más información, consulte ¿Admite certificados desconocidos?

La conectividad se realiza correctamente, pero la aplicación sigue sin funcionar

Si las pruebas de conectividad se realizan correctamente, pero sigue experimentando problemas en la aplicación, compruebe la configuración y las configuraciones de nivel de aplicación:

  1. Compruebe que el firewall permite el acceso desde la subred delegada al recurso.
  2. Compruebe que el certificado que presenta el recurso es de confianza pública.
  3. Asegúrese de que ningún problema de autenticación o autorización impida el acceso al recurso.

Es posible que no pueda diagnosticar o resolver el problema mediante el módulo de PowerShell de diagnóstico. En este caso, cree una subred sin delegación en la red virtual e implemente una máquina virtual (VM) en esa subred. A continuación, puede usar la máquina virtual para realizar más diagnósticos y pasos de solución de problemas, como comprobar el tráfico de red, analizar registros y probar la conectividad de nivel de aplicación.