Solución de problemas de conectividad de aplicaciones en una máquina virtual en Azure
Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows
Hay varios motivos que le pueden impedir iniciar o conectar con una aplicación que se ejecuta en una máquina virtual de Azure. Entre ellos se incluyen situaciones como que la aplicación no se esté ejecutando o no esté a la escucha en los puertos esperados, que el puerto de escucha esté bloqueado o que las reglas de redes no estén pasando el tráfico correctamente a la aplicación. En este artículo se describe un enfoque metódico para buscar y corregir el problema.
Si tiene problemas para conectarse a la máquina virtual con RDP o SSH, consulte en primer lugar uno de los siguientes artículos:
- Solución de problemas de conexiones del Escritorio remoto a una máquina virtual de Azure con Windows
- Solución de problemas de conexiones de Secure Shell (SSH) en una máquina virtual de Azure basada en Linux.
Si necesita más ayuda en cualquier momento con este artículo, puede ponerse en contacto con los expertos de Azure en los foros de MSDN Azure y de desbordamiento de pila. Como alternativa, también puede registrar un incidente de soporte técnico de Azure. Vaya al sitio de Soporte técnico de Azure y seleccione Obtener soporte.
Pasos de inicio rápido para solucionar problemas
Si tiene problemas para conectarse a una aplicación, intente los siguientes pasos de solución de problemas generales. Después de cada paso, vuelva a intentar conectarse a la aplicación:
- Reiniciar la máquina virtual
- Vuelva a crear las reglas de punto de conexión, firewall o grupo de seguridad de red (NSG)
- Conectarse desde otra ubicación, como una red virtual de Azure diferente
- Reimplementación de la máquina virtual
- Volver a crear la máquina virtual
Para obtener más información, consulte Solución de problemas con la conectividad del punto de conexión (RDP, SSH, HTTP u otros errores).
Visión detallada de la solución de problemas
Hay cuatro áreas principales para solucionar el acceso de una aplicación que se ejecuta en una máquina virtual de Azure.
- La aplicación que se ejecuta en la máquina virtual de Azure.
- ¿La aplicación se ejecuta correctamente?
- La máquina virtual de Azure.
- ¿La VM se ejecuta correctamente y responde a las solicitudes?
- Puntos de conexión de red de Azure.
- Puntos de conexión de servicios en la nube para máquinas virtuales en el modelo de implementación clásica.
- Grupos de seguridad de red y reglas NAT de entrada para las máquinas virtuales en el modelo de implementación de Resource Manager.
- ¿El tráfico fluye entre los usuarios y la máquina virtual o la aplicación en los puertos esperados?
- El dispositivo perimetral de Internet.
- ¿Hay instauradas reglas de firewall que impidan que el tráfico fluya correctamente?
Para los equipos cliente que tienen acceso a la aplicación a través de una conexión ExpressRoute o de VPN de sitio a sitio, las áreas principales que pueden causar problemas son la aplicación y la máquina virtual de Azure.
Para determinar el origen del problema y su corrección, siga estos pasos.
Paso 1: Acceso a la aplicación desde la máquina virtual de destino
Intente obtener acceso a la aplicación con el programa cliente adecuado desde la VM en la que se ejecuta. Use el nombre de host local, la dirección IP local o la dirección de bucle invertido (127.0.0.1).
Por ejemplo, si la aplicación es un servidor web, abra un explorador en la VM e intente obtener acceso a una página web hospedada en ella.
Si puede tener acceso a la aplicación, vaya al paso 2.
Si no se puede acceder a la aplicación, compruebe la siguiente configuración:
- La aplicación se ejecuta en la máquina virtual de destino.
- La aplicación está escuchando en los puertos TCP y UDP esperados.
En máquinas virtuales basadas en Windows y Linux, use el comando netstat -a para mostrar los puertos de escucha activos. Examine la salida para los puertos esperados en el que debe escuchar su aplicación. Reinicie la aplicación o configúrela para que use los puertos esperados según sea necesario e intente de nuevo el acceso a la aplicación de forma local.
Paso 2: Acceso a la aplicación desde otra máquina virtual de la misma red virtual
Intente obtener acceso a la aplicación desde otra VM (que esté en la misma red virtual) con el nombre de host de la VM o con su dirección IP de proveedor, privada o pública asignada por Azure. Para las máquinas virtuales creadas con el modelo de implementación clásica, no use la dirección IP pública del servicio en la nube.
Por ejemplo, si la aplicación es un servidor web, intente obtener acceso a una página web desde un explorador en una VM diferente de la misma red virtual.
Si puede tener acceso a la aplicación, vaya al paso 3.
Si no se puede acceder a la aplicación, compruebe la siguiente configuración:
- El firewall del host de la VM de destino permite el tráfico de la solicitud entrante y el tráfico de la respuesta saliente.
- El software de detección de intrusiones o de supervisión de red que se ejecuta en la VM de destino permite el tráfico.
- Los puntos de conexión de Cloud Services o los grupos de seguridad de red permiten el tráfico:
- Un componente independiente que se ejecuta en la VM en la ruta de acceso entre la VM de prueba y su VM (como un equilibrador de carga o un firewall) permite el tráfico.
En una máquina virtual basada en Windows, use el Firewall de Windows con seguridad avanzada para determinar si las reglas de firewall excluyen el tráfico entrante y saliente de la aplicación.
Paso 3: Acceso a la aplicación desde fuera de la red virtual
Intente acceder a la aplicación desde una máquina de fuera de la red virtual, como la máquina virtual en la que se está ejecutando la aplicación. Use una red diferente como equipo cliente de origen.
Por ejemplo, si la aplicación es un servidor web, intente tener acceso a la página web desde un explorador de un equipo que no esté en la red virtual.
Si no se puede acceder a la aplicación, compruebe la siguiente configuración:
Para las máquinas virtuales creadas con el modelo de implementación clásica:
- Compruebe que la configuración del punto de conexión de la máquina virtual permita el tráfico entrante, sobre todo el protocolo (TCP o UDP) y los números de puerto público y privado.
- Compruebe que las listas de control de acceso (ACL) en el punto de conexión no impidan el tráfico entrante desde Internet.
- Para más información, consulte Configuración de puntos de conexión en una máquina virtual.
Para las máquinas virtuales creadas con el modelo de implementación de Resource Manager:
- Compruebe que la configuración de la regla NAT de entrada de la máquina virtual permita el tráfico entrante, sobre todo el protocolo (TCP o UDP) y los números de puerto público y privado.
- Compruebe que los grupos de seguridad de red permitan la solicitud entrante y el tráfico de respuesta saliente.
- Para más información, consulte ¿Qué es un grupo de seguridad de red?
Si la máquina virtual o el extremo es un miembro de un conjunto con equilibrio de carga:
- Compruebe que el protocolo de sondeo (TCP o UDP) y el número de puerto son correctos.
- Si el protocolo de sondeo y el puerto son diferentes del protocolo y el puerto del conjunto de carga equilibrada:
- Compruebe que la aplicación está escuchando el protocolo de sondeo (TCP o UDP) y el número de puerto (use netstat –a en la máquina virtual de destino).
- Compruebe que el firewall del host de la máquina virtual de destino permite la solicitud de sondeo entrante y el tráfico de respuesta de sondeo saliente.
Si puede tener acceso a la aplicación, asegúrese de que el dispositivo perimetral de Internet permita:
- El tráfico de solicitud saliente de aplicaciones desde el equipo cliente hasta la máquina virtual de Azure.
- El tráfico de respuesta de aplicación entrante desde la máquina virtual de Azure.
Paso 4 Si no puede acceder a la aplicación, use la comprobación de IP para comprobar la configuración.
Para más información, consulte Información general sobre la supervisión de red de Azure.
Recursos adicionales
Solución de problemas de conexiones del Escritorio remoto a una máquina virtual de Azure con Windows
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.