Comunicarse dentro del mismo grupo de seguridad EC2

Comunicarse dentro del mismo grupo de seguridad EC2

Tengo varias instancias ejecutándose en el mismo grupo de seguridad (por ejemplo: Grupo A) que necesitan comunicarse entre sí, en particular, el puerto 4369.

Cada instancia tiene una IP elástica diferente.

El grupo de seguridad está configurado para permitir el tráfico entrante a través de TCP:4369 Fuente:sg-XXXXX (Grupo-A)

Sin embargo, las instancias solo pueden comunicarse entre sí a través de una IP interna (10.xxx.xxx.xx) o DNS público de Amazon: ec2-ELASTIC-IP.compute-1.amazonaws.com (aparentemente Amazon traducirá esto a la IP interna) .

Si uso Elastic IP, no funcionará. Si uso mi propio FQDN que apunta a la IP elástica, no funcionará.

Si cambio la fuente en la regla de entrada de sg-XXXXX (Grupo-A) a 0.0.0.0, funciona con mi propio FQDN y la IP elástica. Pero no usaremos esto por motivos de seguridad. Si elimino la regla de entrada, nada funciona, incluso uso la IP interna.

Entonces, ¿qué debo hacer si quiero utilizar mi propio FQDN? (worker-1.company.com -> Elastic IP), que es mucho más legible y fácil de administrar.

Respuesta1

El comportamiento que usted describe es normal, ya que cuando se comunica entre instancias a través de IP elástica, la identidad de la máquina dentro del grupo de seguridad (para fines de configuraciones de grupos de seguridad que dependen de una fuente sg-xxxxxxxx) no se puede establecer con total Confianza, porque al traducir las direcciones se envía el tráfico (presumiblemente) a través de hardware intermedio y el tráfico ya no se considera originado.directamentede la instancia.

La solución es nombrar sus hosts en DNS con registros CNAME que apunten al registro DNS público, en lugar de registros A que apunten a una dirección IP específica.

En la zona DNS de empresa.com:

worker-1   IN  CNAME  xx-xx-xx-xx.compute-1.amazonaws.com.

Ahora, trabajador-1.empresa.com se resolverá en la IP privada si se consulta desde adentro y en la IP pública desde afuera.

Respuesta2

No es perfecto, pero puede agregar asignaciones explícitas de los FQDN a las IP privadas en el archivo de hosts de cada una de las instancias. Entonces su código usará un FQDN pero la red en realidad usará comunicaciones privadas (que de todos modos son más seguras).

Esta es una opción razonable si tiene un conjunto de instancias pequeño y relativamente fijo. Probablemente deberías automatizar este proceso, si es posible.

También puedes utilizar Route 53, el DNS de Amazon como servicio. Asigne su FQDN al nombre DNS público de la instancia. Dentro de EC2, esto se asignará a la IP privada. Aún necesitarás automatizar esto usando la API de ruta 53.

información relacionada