amazon-web-services - fargate - ecs pricing
Contenedor de enlaces en AWS Fargate (2)
Intento configurar un pequeño ejemplo en AWS Fargate e intento tener un contenedor de aplicación con un contenedor de base de datos allí.
La definición de tarea inicia ambos contenedores, pero mi contenedor de aplicaciones falla con getaddrinfo ENOTFOUND db db:3306
. Por lo tanto, el contenedor de la aplicación no pudo encontrar el contenedor de la base de datos.
Dado que Fargate no permite "enlaces" de contenedores Docker, me gustaría saber cómo pueden comunicarse entre sí. El contenedor de la base de datos tiene el nombre db
con el puerto 3306
y mi contenedor de aplicaciones está configurado para usar esto.
Desafortunadamente, la definición de enlaces de contenedores no está disponible para Fargate, pero solo para ECS / EC2 "oldschool".
En una configuración de composición local de docker está funcionando de esta manera.
Los contenedores en las tareas de Fargate comparten un espacio de nombres de red, por lo que no necesita utilizar enlaces en absoluto. Simplemente puede comunicarse a través de localhost.
Por ejemplo, si tiene el contenedor A ejecutando un servidor web en el puerto 8000, el contenedor B podría llegar a él con un curl http://localhost:8000/
Probablemente pueda configurarlo para que los servicios puedan comunicarse a través de la dirección IP pública entre ellos, y luego asegurar los puertos utilizando una VPC, solo los servicios pueden comunicarse entre sí.