Curso Práctico de Cloud Computing con AWS

Cómo ejecutar contenedores en AWS ECS con Fargate

Curso Práctico de Cloud Computing con AWS

Contenido del curso

EC2

Cómo ejecutar contenedores en AWS ECS con Fargate

Resumen

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.