No se puede conectar a la instancia EC2 en VPC (Amazon AWS)

46

He tomado los siguientes pasos:

  1. Creó una VPC (con una única subred pública)
  2. Se agregó una instancia EC2 a la VPC
  3. Asignado una IP elástica
  4. Asociado la IP elástica con la instancia
  5. Creó un grupo de seguridad y lo asignó a la instancia
  6. Se modificaron las reglas de seguridad para permitir el eco entrante ICMP y TCP en el puerto 22

He hecho todo esto y todavía no puedo hacer ping o ssh en la instancia. Si sigo los mismos pasos menos los bits de VPC, puedo configurar esto sin problemas. ¿Qué paso me estoy perdiendo?

Ryan Lynch
fuente
2
¿Asignó una puerta de enlace y una ruta a la subred VPC?
zorlem
Si voy a las puertas de enlace de Internet, hay una puerta de enlace asignada a la VPC. ¿Cómo verifico si se ha asignado una ruta?
Ryan Lynch el
¿Es la ruta una tabla de ruta?
Ryan Lynch
2
Sí, debe asignar una "puerta de enlace de Internet" a la tabla de enrutamiento público.
zorlem
1
Excelente, gracias hombre. Si lo pones en forma de respuesta, lo aceptaré. En su respuesta, ¿podría especificar qué colocar exactamente en la tabla de rutas? Puse 0.0.0.0/0 y el objetivo como la puerta de enlace de Internet, pero eso no parece ser lo correcto.
Ryan Lynch

Respuestas:

75

Para comunicarse fuera de la VPC, cada subred no predeterminada necesita una tabla de enrutamiento y una puerta de enlace de Internet asociada (las subredes predeterminadas obtienen una puerta de enlace externa y una tabla de enrutamiento de forma predeterminada).

Dependiendo de la forma en que haya creado una subred pública en la VPC, es posible que deba agregarlas explícitamente. Su configuración de VPC parece coincidir con el Escenario 1: una nube privada (VPC) con una única subred pública y una puerta de enlace de Internet para permitir la comunicación a través de Internet desde la documentación de AWS VPC.

Deberá agregar una puerta de enlace de Internet a su VPC y, dentro de la tabla de enrutamiento de la subred pública, asignar0.0.0.0/0 (ruta predeterminada) para ir a la puerta de enlace de Internet asignada. Hay una buena ilustración de la topología de red exacta dentro de la documentación.

Además, para obtener más información, puede consultar la documentación de VPC Internet Gateway AWS. Desafortunadamente, es un poco desordenado y un truco no obvio.

Para obtener más detalles sobre problemas de conexión, consulte también: Solución de problemas de conexión a su instancia .

zorlem
fuente
2
Además de asignar la ruta predeterminada para la puerta de enlace de Internet, también tuve que asociar la subred con la tabla de enrutamiento. Pero una vez que había hecho estas dos cosas, estaba funcionando. Gracias.
Sam Kenny
44
Gestión de VPC> Tabla de rutas> [Rutas]> Agregar, 0.0.0.0/0, desplegable para elegir su puerta de enlace a Internet
Scott R. Frost
Lanzaré esto para que Internet aprenda de mi error. Si su ruta a Internet Gateway tiene un destino 0.0.0.0/32, entonces no funcionará. La ruta debe cambiarse a 0.0.0.0/0 como se especifica en la respuesta de Zorlem.
Douglas celebrada el
4

No estoy seguro si este es exactamente este caso, pero acabo de crear una VPC con subredes públicas y privadas y noté que hay un grupo de seguridad predeterminado que tiene la dirección de origen como el mismo nombre de grupo de seguridad. Efectivo no tiene acceso. Tuve que cambiar esta fuente a Anywhere y comenzó a funcionar.

dil
fuente
Hola, también estoy probando el escenario 2. Instancia pública y privada en subred pública y privada. El punto es que no entiendo cómo la instancia privada podría acceder a Internet y actualizar el software.
The One
Gracias, suponía que era mi problema, eso significa que todas las instancias dentro de VPC tenían acceso
Santthosh
3

Me di cuenta de que (creo) que debe tener cuidado con la zona de disponibilidad en la que se crea su instancia. La subred, la interfaz de red y la instancia deben estar en la misma zona de disponibilidad; de lo contrario, no hay forma de conectarse a una IP pública. para esa instancia

Puedo estar equivocado, pero no lo creo, esto me ha costado 12 horas de trabajo para resolver.

Espero que esto ayude a alguien más.

malsmith
fuente
Eso es correcto. El escenario 1, como se menciona en la respuesta, es donde crea una /16VPC y luego crea una /24en cada AZ en la que desea trabajar
Machavity
1

Debe asignar un ENI y asignar la IP elástica a este ENI. Además, debe asignar este ENI a su VPC. La tabla de ruta también debe ser correcta, para reenviar correctamente los paquetes externos a su VPC.

Lucas Freitas
fuente
Creo que es necesario agregar un ENI cuando desea interfaces de red adicionales en sus instancias, por defecto vienen con una NIC.
zorlem
0

Dado que SSH es un protocolo con estado, debe asegurarse de tener la siguiente regla OUTBOUND en su ACL de red:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW
Khalid Anwar
fuente