Aprende a desplegar tu contenedor Docker en AWS ECS con Fargate de forma simple y segura. Aquí verás cómo crear un clúster, registrar una definición de tarea, lanzar la tarea y obtener la IP pública para publicar tu servicio, incluso asociándolo a un dominio en Route 53. Todo con un enfoque práctico y sin gestionar máquinas base.
¿Cómo desplegar en AWS ECS con Fargate paso a paso?
Para poner en marcha un contenedor en ECS usando Fargate, se sigue un flujo claro: repositorio de imagen, clúster, definición de tarea y ejecución. La clave es que Fargate abstrae la infraestructura, por lo que te enfocas en recursos, puertos y red.
¿Cómo preparar repositorios y clúster en ECS?
- Entra a la consola de Amazon y elige ECS.
- Ubica la sección de repositorios y copia la URL del repositorio. Evita espacios en blanco al copiar.
- Ve a Clústeres y selecciona crear uno nuevo.
- Elige la opción de solo red basada en AWS Fargate.
- Asigna un nombre y crea o usa un VPC existente.
- Verifica el clúster: podrás ver servicios, tareas y tareas pendientes, y entrar por el nombre del clúster.
¿Cómo crear una definición de tarea Fargate?
- Crea una definición de tarea y elige Fargate.
- Asigna un nombre, por ejemplo: web.tutsi.
- Selecciona el rol ECS y deja la red por defecto.
- Define memoria y CPU. Nota: con poca memoria no podrás asignar mucho CPU y viceversa.
- Añade un contenedor con nombre, por ejemplo: webquotes-tutsi.
- Pega la URL del SR donde está tu imagen de Docker.
- Asigna 256 MB de memoria para el contenedor y mapea el puerto 80.
- Deja sin configurar el health check y sin volúmenes si la imagen ya contiene todo lo necesario.
- Guarda y crea la definición.
¿Cómo ejecutar la tarea y obtener la IP pública?
- Entra a tu clúster y crea una tarea nueva con Fargate.
- Selecciona la definición de tarea recién creada y el clúster default.
- Usa la subred default y el grupo de seguridad por defecto.
- Habilita la opción de autoasignar IP pública.
- Lanza la tarea y espera a que el estado pase a running.
- En la tarea, copia la IP pública y ábrela en un navegador en una nueva pestaña.
- Si ya tienes un dominio o subdominio en Route 53, asígnale esta IP para publicar tu servicio.
¿Qué conceptos y habilidades aplicarás en AWS ECS y Fargate?
Comprender los términos clave facilita la operación y evita errores de configuración. Aquí se aplican varias habilidades prácticas del ecosistema de contenedores en AWS.
- ECS (Elastic Container Service): orquestación de contenedores para ejecutar tareas y servicios.
- Fargate: ejecución sin servidor que evita administrar máquinas base.
- Clúster: agrupación lógica donde corren tus tareas.
- Definición de tarea: plantilla que define contenedor, imagen, recursos, puertos y variables.
- Repositorio e imagen de Docker: origen de la imagen, referenciada por una URL copiada desde el SR.
- Rol ECS: permisos necesarios para que la tarea acceda a recursos.
- VPC y red: entorno de red donde viven las tareas.
- Memoria y CPU: recursos asignados; su combinación tiene límites compatibles.
- Puerto 80: exposición HTTP típica para acceder al contenedor vía navegador.
- Health check: validación de salud del contenedor; puede omitirse si no es necesario.
- Volúmenes: almacenamiento adicional; no se usan cuando la imagen ya contiene todo.
- Grupo de seguridad: reglas de entrada/salida para el tráfico del contenedor.
- IP pública autoasignada: permite acceder desde internet.
- Route 53: asignación de dominio o subdominio a la IP pública.
¿Qué configuraciones críticas debes cuidar?
Estos detalles marcan la diferencia para que el despliegue funcione a la primera y sea accesible desde fuera.
- Verifica la URL del repositorio al pegarla. Sin espacios de más.
- Elige Fargate y la plantilla de solo red para simplificar la infraestructura.
- Define memoria y CPU con combinaciones válidas. Si una es muy baja, limitará a la otra.
- Mapea el puerto 80 del contenedor. Asegura que el grupo de seguridad permita tráfico HTTP si aplica.
- Deja la red por defecto si no necesitas personalizar subredes o rutas.
- Habilita la IP pública autoasignada para probar en navegador.
- Evita volúmenes y health check si tu imagen ya incluye todo y es estable.
- Usa el clúster default, subred default y grupo de seguridad por defecto para acelerar el arranque.
- Una vez en ejecución, copia la IP pública y, si lo deseas, configura Route 53 para dominio o subdominio.
¿Te gustaría que profundicemos en buenas prácticas de definiciones de tarea o en publicación con Route 53? Deja tus dudas y cuéntanos qué parte quieres explorar a fondo.