Cómo diagnosticar y resolver problemas comunes de conectividad de instancias EC2
Esta guía completa le ayuda a solucionar y resolver problemas comunes de conectividad de red de instancias de Amazon EC2. Aprenda paso a paso cómo diagnosticar problemas examinando Grupos de seguridad, NACLs, Tablas de enrutamiento, Pasarelas de Internet, Pasarelas NAT y emparejamiento de VPC. Incluye ejemplos prácticos y mejores prácticas para asegurar que sus instancias EC2 estén siempre accesibles y se comuniquen eficazmente.
Cómo diagnosticar y resolver problemas comunes de conectividad de instancias EC2
Los problemas de conectividad de EC2 generalmente se reducen a un salto bloqueado: la instancia, el grupo de seguridad, las reglas de subred, la tabla de rutas o la ruta de la puerta de enlace. Si no puedes conectarte por SSH a una instancia EC2, alcanzar un puerto de aplicación o conectarte de una instancia a otra, recorre la ruta de red en orden en lugar de cambiar reglas al azar.
Las comprobaciones a continuación te ayudan a aislar dónde se detiene el tráfico y aplicar la corrección más pequeña que restaura el acceso.
Causas comunes de problemas de conectividad de EC2
Los problemas de conectividad pueden originarse en varias capas de la pila de redes de AWS. Identificar la causa raíz a menudo implica verificar una combinación de estos elementos:
- Grupos de Seguridad: Son firewalls virtuales con estado adjuntos a interfaces de red elásticas. Controlan el tráfico entrante y saliente a nivel de instancia.
- Listas de Control de Acceso a la Red (NACL): Las NACL operan a nivel de subred y proporcionan una capa adicional de filtrado sin estado para el tráfico que entra y sale de las subredes.
- Tablas de Rutas: Determinan hacia dónde va el tráfico de la subred, como localmente dentro de la VPC, a una puerta de enlace de Internet, a una puerta de enlace NAT o a una puerta de enlace de tránsito.
- Estado de la Instancia y Configuración de Red: Problemas con la propia instancia EC2, como que esté detenida o tenga configuraciones incorrectas de interfaz de red.
- Puerta de Enlace de Internet (IGW) / Puerta de Enlace NAT: Para instancias que necesitan acceso a Internet, la configuración de IGW (para subredes públicas) o Puerta de Enlace NAT (para subredes privadas) es crítica.
- Emparejamiento de VPC / Puerta de Enlace de Tránsito: Si se conectan entre VPC, estos servicios de conectividad entre VPC deben configurarse correctamente.
Diagnóstico y resolución paso a paso
Comienza con el síntoma, luego sigue la ruta del paquete.
1. Verificar el estado de la instancia y la accesibilidad básica de la red
Antes de sumergirte en configuraciones de red complejas, asegúrate de que la instancia esté en un estado saludable y tenga configuraciones de red básicas:
- Verificaciones de estado de la instancia: En la consola de EC2, selecciona la instancia y verifica la pestaña "Verificaciones de estado". Tanto las verificaciones del sistema como de la instancia deben pasar.
- IPs públicas y privadas: Confirma que la instancia tenga la dirección que esperas. Una instancia en una subred pública aún necesita una dirección IPv4 pública o IP Elástica para acceso directo a Internet a través de IPv4.
- Oyente del sistema operativo: Si la ruta de red está abierta pero el puerto aún falla, confirma que el servicio esté escuchando en la instancia. Por ejemplo, SSH debe escuchar en TCP 22 a menos que hayas cambiado la configuración del demonio.
- Resolución DNS: Si la conexión por IP funciona pero la búsqueda de nombre de host falla, verifica la configuración de DNS de la VPC, los solucionadores personalizados y
/etc/resolv.confen Linux.
2. Examinar los Grupos de Seguridad
Los grupos de seguridad son firewalls con estado que controlan el tráfico hacia y desde tus instancias EC2. Son una fuente muy común de problemas de conectividad.
2.1. Reglas de entrada
Si no puedes conectarte a tu instancia, como SSH en Linux o RDP en Windows:
- Verifica el Grupo de Seguridad adjunto a tu instancia EC2.
- Verifica las reglas de entrada: Permite el puerto TCP requerido desde tu IP de origen o CIDR de confianza. Para acceso de administración, prefiere tu IP pública actual como
<tu_ip>/32en lugar de0.0.0.0/0. - Ejemplo: Para permitir el acceso SSH desde tu dirección IP:
Tipo: SSH Protocolo: TCP Rango de puertos: 22 Origen: <tu_ip>/32
2.2. Reglas de salida
Si tu instancia no puede alcanzar recursos externos (por ejemplo, descargar paquetes, conectarse a otros servicios de AWS):
- Verifica el Grupo de Seguridad adjunto a tu instancia EC2.
- Verifica las Reglas de Salida: Por defecto, los grupos de seguridad permiten todo el tráfico saliente. Si se han creado reglas de salida personalizadas, asegúrate de que permitan el tráfico necesario a tus puertos e IPs de destino.
- Ejemplo: Para permitir todo el tráfico saliente:
Tipo: Todo el tráfico Protocolo: Todos Rango de puertos: Todos Destino: 0.0.0.0/0
3. Investigar las Listas de Control de Acceso a la Red (NACL)
Las NACL son firewalls sin estado que operan a nivel de subred. Filtran el tráfico antes de que llegue al grupo de seguridad o a la instancia.
- Identifica la NACL asociada con la subred de tu instancia.
- Verifica las Reglas de Entrada: Las NACL se evalúan en orden por número de regla. Asegúrate de que haya una regla de entrada que permita el tráfico en el puerto requerido desde la IP de origen.
- Verifica las Reglas de Salida: De manera similar, verifica que las reglas de salida permitan el tráfico al destino.
- Naturaleza sin estado: Las NACL no recuerdan conexiones establecidas. Necesitas reglas de entrada y salida para ambos lados del flujo. Para SSH desde tu computadora portátil, la NACL de subred generalmente necesita entrada TCP 22 desde tu IP y puertos efímeros de salida a tu IP para el tráfico de retorno. Los rangos de puertos efímeros varían según el sistema operativo y el cliente, así que usa el rango apropiado para tu entorno.
- Numeración de Reglas: Los números de regla más bajos se evalúan primero. Usa reglas de denegación explícita (por ejemplo, regla
100para denegar tráfico específico) y reglas de permiso (por ejemplo, regla200para permitir tráfico más amplio) con cuidado.
4. Revisar las Tablas de Rutas
Las tablas de rutas determinan hacia dónde se dirige el tráfico de red desde tus subredes. Un enrutamiento incorrecto puede evitar que el tráfico llegue a su destino.
- Encuentra la Tabla de Rutas asociada con la subred de tu instancia.
- Verifica una Ruta Predeterminada: Para que las instancias en una subred pública accedan a Internet, debe haber una ruta
0.0.0.0/0que apunte a una Puerta de Enlace de Internet (IGW).Destino | Objetivo ----------------|-------- 10.0.0.0/16 | local 0.0.0.0/0 | igw-xxxxxxxxxxxxxxxxx - Subredes privadas y puertas de enlace NAT: Para que las instancias en una subred privada inicien conexiones salientes a Internet, la tabla de rutas para esa subred necesita una ruta
0.0.0.0/0que apunte a una puerta de enlace NAT o instancia NAT.Destino | Objetivo ----------------|-------- 10.0.0.0/16 | local 0.0.0.0/0 | nat-xxxxxxxxxxxxxxxxx - Emparejamiento de VPC, puerta de enlace de tránsito o VPN: Si tu instancia necesita comunicarse con otra VPC o red local, agrega rutas para los bloques CIDR remotos al objetivo correcto en ambos lados donde se requiera enrutamiento.
5. Solucionar problemas de conectividad de Puerta de Enlace de Internet (IGW) y Puerta de Enlace NAT
Puerta de Enlace de Internet
* Asegúrate de que la IGW esté creada y adjunta a tu VPC.
* Verifica que la tabla de rutas para tu subred pública tenga una ruta `0.0.0.0/0` que apunte a la IGW.
* Confirma que tu instancia tenga una dirección IP pública o una dirección IP Elástica asignada.
* Las reglas del grupo de seguridad y NACL deben permitir el tráfico entrante y saliente requerido. No abras puertos sensibles a todo Internet a menos que tengas una razón clara y controles compensatorios.
Puerta de Enlace NAT
* Asegúrate de que la Puerta de Enlace NAT esté creada y esté en una subred pública.
* Verifica que la Puerta de Enlace NAT tenga una dirección IP Elástica asociada.
* Confirma que la tabla de rutas para tu subred privada tenga una ruta `0.0.0.0/0` que apunte a la Puerta de Enlace NAT.
* Las reglas NACL en las subredes privadas y públicas deben permitir la conexión saliente y el tráfico de retorno. Las puertas de enlace NAT no usan grupos de seguridad.
6. Emparejamiento de VPC y Puerta de Enlace de Tránsito
Si estás experimentando problemas de conectividad entre VPC:
- Emparejamiento de VPC:
- Asegúrate de que la conexión de emparejamiento esté activa y aceptada por ambas VPC.
- Verifica que las tablas de rutas en ambas VPC tengan rutas agregadas para permitir el tráfico a los bloques CIDR de la VPC emparejada.
- Asegúrate de que los Grupos de Seguridad y NACL en ambas VPC permitan el tráfico entre los rangos de IP necesarios.
- Puerta de Enlace de Tránsito:
- Confirma que la Puerta de Enlace de Tránsito esté creada y las VPC relevantes estén adjuntas a ella.
- Verifica las tablas de rutas de la Puerta de Enlace de Tránsito para asegurarte de que enruten correctamente el tráfico entre los adjuntos de VPC.
- Verifica que las tablas de rutas dentro de cada VPC también tengan rutas que apunten a la Puerta de Enlace de Tránsito para el tráfico destinado a otras VPC.
- Los Grupos de Seguridad y NACL dentro de cada VPC deben permitir el tráfico entre VPC.
7. Uso de herramientas de accesibilidad de red de AWS
AWS proporciona herramientas para ayudar a diagnosticar problemas de red:
- Analizador de Accesibilidad de VPC: Esta herramienta analiza la accesibilidad entre recursos de origen y destino compatibles. Puede identificar fallos de ruta causados por grupos de seguridad, NACL, tablas de rutas, puertas de enlace y configuración de red relacionada.
- Registros de Flujo de VPC: Aunque no diagnostican directamente fallos de conexión, los Registros de Flujo de VPC capturan información sobre el tráfico IP que va y viene de las interfaces de red en tu VPC. Analizar estos registros puede revelar patrones de tráfico bloqueado o inesperado, ayudándote a identificar configuraciones incorrectas en Grupos de Seguridad o NACL.
8. Otros problemas potenciales
- Interfaz de Red Elástica (ENI): Asegúrate de que la ENI esté adjunta a la instancia y configurada correctamente.
- Asociación de la Tabla de Rutas de la Subred: Verifica que la subred esté correctamente asociada con su tabla de rutas prevista.
- Configuración DNS: Si usas DNS personalizado, asegúrate de que se resuelva correctamente. Para DNS de VPC predeterminado, verifica si la resolución DNS está habilitada para tu VPC.
- Servidores Proxy: Si tu instancia está configurada para usar un proxy, asegúrate de que el proxy en sí sea accesible y esté configurado correctamente.
Mejores prácticas para prevenir problemas de conectividad
- Mínimo Privilegio: Configura los Grupos de Seguridad y NACL con los permisos mínimos necesarios. Evita usar
0.0.0.0/0para puertos sensibles a menos que sea absolutamente necesario y esté protegido por otros medios. - Etiquetado: Etiqueta consistentemente tus recursos de red (VPC, subredes, grupos de seguridad, tablas de rutas) para identificar fácilmente su propósito e instancias asociadas.
- Documentación: Mantén una documentación clara de tu topología de red, esquemas de direccionamiento IP y reglas de seguridad.
- Auditorías Regulares: Revisa periódicamente tus reglas de Grupo de Seguridad y NACL para asegurarte de que sigan siendo relevantes y seguras.
- Aprovecha las Herramientas de AWS: Familiarízate con el Analizador de Accesibilidad de VPC y los Registros de Flujo de VPC para monitoreo proactivo y solución de problemas.
Conclusión
Cuando la conectividad de EC2 se rompe, rastrea la ruta en orden: salud de la instancia, oyente, grupo de seguridad, NACL, tabla de rutas, puerta de enlace y reglas del lado remoto. Cambia una capa a la vez, luego prueba de nuevo. Eso mantiene tu corrección limitada y hace que la próxima interrupción sea mucho más fácil de diagnosticar.