Habilitar protocolo ICMP entre instancias EC2 con Grupos de Seguridad

Para los que empiezan como yo con el aprendizaje de AWS una de las cosas que mas les habrá extrañado es que al utilizar el comando ping entre unas instancias EC2 dentro de la misma red privada no les funciona, esto es normal, ya que por defecto no hay ninguna regla creada ni configurada para permitir el protocolo ICMP.

Nos podemos encontrar las siguientes situaciones y ejemplos:

  • Cuando creamos una instancia EC2 de Windows y creamos un Grupo de Seguridad nuevo, este grupo vendrá con una única regla creada, la del protocolo RDP para aceptar conexiones terminal Server a través del puerto 3389, de esta manera cuando termine el despliegue de la instancia, podamos conectarnos a la instancia descargando un acceso RDP con la configuración.
  • Cuando lanzamos una instancia EC2 de Linux y creamos un Grupo de Seguridad nuevo, este grupo vendrá con una única regla creada, la del protocolo SSH para aceptar conexiones SSH a través del puerto 22.
  • Otra de estas situaciones es que podemos crear un Grupo de Seguridad nuevo, pero en este caso no tendrá ninguna regla de entrada configurada, por lo que tendremos que crearlas manualmente.
  • La única regla en la que coinciden estas 3 situaciones, es una regla de salida sin restricciones.

Por esto vamos a hacer este laboratorio añadiendo una regla para permitir el protocolo ICMP.

Hacemos un ping desde una instancia a otra dentro de la misma red privada y no responde.

no ping entre instancias ec2

Como había explicado antes tenemos una instancia EC2 con linux y un nuevo Grupo de Seguridad que por defecto solo nos ha añadido una única regla de entrada para aceptar conexiones SSH a través del puerto 22, por lo que el ping no nos va a funcionar al no estar una regla configurada para permitir el protocolo ICMP.

nuevo grupo de seguridad

Para permitir que funcione el protocolo ICMP, tendremos que crear una nueva regla, así que en reglas de entrada dentro del grupo de seguridad, vamos a edit — edit inbound rules —add rules. Dentro del desplegable seleccionamos el tipo ALL ICMP – IPv4, el protocolo y el port Range nos los añadirá por defecto

Nota: yo he puesto ALL ICMP, que es lo fácil, pero este tipo de configuración del protocolo lo puedes personalizar y pulir a tu manera complicándolo todo lo que quieras.

Añadir regla grupo de seguridad custom

En Source podemos seleccionar 3 opciones, pero para este ejemplo seleccionaremos Custom, con esta opción le podemos indicar el CIDR (rangos de direcciones IP), IP o Grupos de Seguridad desde donde queremos que funcione el ping o este permitido el protocolo ICMP entre instancias.

Como lo quiero hacer a través de los Grupos de seguridad, porque por ejemplo solo quiero que este permitido el protocolo ICMP entre solo 2 instancias linux, seleccionaré uno de los Grupos de seguridad que tengo creados para estas instancias, con poner sg-* o el nombre del Grupo de Seguridad, automáticamente nos mostrará los Grupos de Seguridad disponibles y seleccionaremos el que queremos o necesitamos.

Añadir regla grupo de seguridad

Añadimos la o las instancias que queremos al Grupo de Seguridad con la regla recién creada.

Mismo grupo de seguridad EC2

Y probamos a realizar un ping entre ellas, correcto y funcionando.

ping entre instancias EC2

Lógicamente, si cambiamos el Grupo de Seguridad de alguna de las instancias.

cambio de Grupo de seguridad AWS

El ping dejará de funcionar.

ping entre instancias EC2

Saludos y espero que os sirva.

Algún post mas sobre Grupos de Seguridad

Modificar el campo descripción de Grupo de Seguridad de AWS

Conectar por Terminal Server a instancia EC2 con Windows Server en AWS