Skip to content

Instantly share code, notes, and snippets.

@gusdelact
Last active November 8, 2025 02:42
Show Gist options
  • Select an option

  • Save gusdelact/81698e4fe1ed0fa8e57ab28ae78c9c04 to your computer and use it in GitHub Desktop.

Select an option

Save gusdelact/81698e4fe1ed0fa8e57ab28ae78c9c04 to your computer and use it in GitHub Desktop.

🧭 Práctica: Verificación de conectividad entre VPCs usando CloudShell en entorno privado


🎯 Objetivo

Comprobar que la VPC del alumno (por ejemplo, 10.x.0.0/16) tiene conectividad IP privada hacia una VPC remota (10.15.0.0/16), a través del Transit Gateway compartido por la cuenta Networking.


⚙️ 1️⃣ Requisitos previos

Antes de iniciar la prueba:

  • Tu Transit Gateway Attachment ya debe estar en estado ✅ available.

  • Tus tablas de ruteo privadas deben tener la ruta:

    Destination: 10.0.0.0/8
    Target: Transit Gateway
    
  • La VPC remota (10.15.0.0/16) ya tiene una instancia activa y el profesor te proporcionará su IP privada (por ejemplo: 10.15.1.25).


☁️ 2️⃣ Entendiendo el entorno de prueba

Por defecto, AWS CloudShell corre fuera de tu VPC (en una red administrada por AWS). Por eso, no puede acceder directamente a tu VPC privada.

Para simular un entorno dentro de tu red, usaremos un CloudShell personalizado dentro de tu VPC (lo que AWS llama VPC Environment).


🧩 3️⃣ Crear un entorno de CloudShell vinculado a tu VPC privada

🔹 Opción A — Desde la consola AWS

  1. Abre AWS CloudShell desde la consola.

  2. En la esquina superior derecha, selecciona:

    Actions → Change environment
    
  3. Elige:

    • Environment type: VPC environment
    • VPC: tu VPC (10.x.0.0/16)
    • Subnet: una de las subredes privadas donde configuraste la ruta al TGW (por ejemplo, Private-1a o Private-TGW-1a)
    • Security group: usa uno que permita tráfico ICMP (ping) y salida (outbound) a 10.0.0.0/8.
  4. Haz clic en Create environment (esto tarda unos 2–3 minutos la primera vez).



🧠 4️⃣ Dentro del CloudShell (ya dentro de tu VPC)

Confirma la IP privada asignada a la sesión:

ip addr show

Verás algo similar:

inet 10.x.10.45/24

Esto indica que estás dentro de la red privada de tu VPC.


🔗 5️⃣ Probar la conectividad

Ejecuta un ping hacia la IP que te dé el profesor (ubicada en la VPC 10.15.0.0/16):

ping 10.15.1.25 -c 5

🔹 Interpretación de resultados:

Resultado Significado
✅ Responde con tiempos (64 bytes from 10.15.1.25) Conectividad entre VPCs OK — el TGW y ruteo están correctos
Destination Host Unreachable Problema de rutas (verifica tablas de ruteo o TGW)
Request timed out Tráfico bloqueado por Security Group o NACL

🔒 6️⃣ Revisar configuraciones si falla el ping

a. Tabla de ruteo privada

Debe incluir:

10.0.0.0/8 → Transit Gateway

b. Security Group de CloudShell

Permitir:

  • Outbound: Todo el tráfico (0.0.0.0/0)
  • Inbound: ICMP (Echo Request) desde 10.0.0.0/8

Ejemplo:

aws ec2 authorize-security-group-ingress \
  --group-id sg-0abc123def456789 \
  --protocol icmp \
  --port -1 \
  --cidr 10.0.0.0/8

c. Security Group en la instancia remota (10.15.0.0/16)

Debe permitir ICMP desde 10.0.0.0/8.


🧾 7️⃣ Resultado esperado

Al final de la práctica, los alumnos deberán:

✅ Tener su CloudShell configurado en una subred privada de su VPC. ✅ Poder hacer ping exitoso a una IP dentro de la VPC 10.15.0.0/16. ✅ Confirmar que la comunicación viaja por el Transit Gateway.

Ejemplo de salida:

PING 10.15.1.25 (10.15.1.25) 56(84) bytes of data.
64 bytes from 10.15.1.25: icmp_seq=1 ttl=255 time=3.21 ms
64 bytes from 10.15.1.25: icmp_seq=2 ttl=255 time=3.07 ms
--- 10.15.1.25 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms

🧩 8️⃣ (Opcional) Validar rutas activas desde CloudShell

ip route show

Deberías ver una línea similar:

10.0.0.0/8 via 10.x.y.1 dev eth0

donde 10.x.y.1 es el next-hop interno de tu VPC hacia el TGW.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment