- 1. Consideraciones generales
- 2. Preámbulo
- 3. Resumen del proyecto
- 4. Paso a paso general para el despliegue en Amazon ECS
- 5. Paso a paso detallado para el despliegue en Amazon ECS
- 6. Consideraciones para pedir tu Project Feedback
- 7. Objetivos de aprendizaje
- Para poder implementar este proyecto debes implementar primer el API Deployment with Docker.
- Este proyecto lo resolvemos de manera --individual--.
- El rango de tiempo estimado para completar el proyecto es de 1 a 2 Sprints.
Contenedores
Photo by Frank Mckenna
AWS ECS (Elastic Container Service) es un servicio diseñado para simplificar el despliegue y la gestión de aplicaciones basadas en contenedores, permitiendo a las desarrolladoras centrarse en el código en lugar de la infraestructura. Ambos proporcionan escalabilidad automática, gestionando la capacidad de los recursos según la demanda de la aplicación. Además se integra de manera eficiente con otros servicios de AWS, facilitando una experiencia cohesiva y flexible para construir y desplegar aplicaciones en la nube.
La currícula de Laboratoria incluye 4 proyectos enfocados en desplegar la Fleet Management API en la nube. Cada proyecto se distingue por utilizar diferentes métodos de despliegue, lo que te permitirá aprender y aplicar diversas estrategias para desplegar tu aplicación en producción en un entorno real.
Ruta Devops
En este proyecto desplegarás la aplicación usando Amazon Elastic Container Service (ECS).
Para este proyecto necesitarás la imagen Docker que construiste en el proyecto API Deployment on Docker File. Si aún no la tienes, por favor implementa primero este proyecto.
Podemos seguir el siguiente paso a paso general para desplegar la Fleet Management API independientemente del lenguaje de programación en que esta implementada
- Paso 1: Subir la imagen docker a un Registro de Contenedores (Amazon ECR)
- Paso 2: Desplegar la aplicación en Amazon ECS creando un cluster EC2, definiendo una tarea ECS y un servicio ECS.
- Paso 3: Configurar el acceso externo para acceder a tu API utilizando la URL pública proporcionada por AWS.
- Paso 4: Monitorizar y gestionar la aplicación
Amazon ECR es un servicio en la nube que te permite almacenar tus imágenes Docker de forma segura y eficiente. Amazon ECR actúa como un "repositorio" para imágenes Docker, similar a cómo GitHub actúa como un repositorio para código fuente. ECR se integra fácilmente con otros servicios de AWS, como Amazon ECS (Elastic Container Service). Esto simplifica el despliegue de tus aplicaciones en contenedores dentro del entorno de AWS.
En este proyecto almacenaremos en Amazon ECR la imagen docker que hemos definido para empaquetar nuesta aplicación. Tómate un tiempo para familiarizarte con ECR. Puedes seguir el tutorial oficial de ECR o cualquier otro disponible en internet. Asegúrate que al final tengas respuestas claras para las siguientes preguntas:
- ¿Cómo creas un repositorio en Amazon ECR?
- ¿Cómo te autenticas en Amazon ECR desde tu máquina local?
- ¿Cómo subes una imagen Docker a Amazon ECR?
- ¿Cómo gestionas las imágenes en Amazon ECR?
- ¿Cómo haces
pull
a tu computadora de una imágen subida a Amazon ECR?
Finalmente, sube la imagen Docker que constuiste para empaquetar tu aplicación en un repositorio de Amazon ECR.
El siguiente paso es entonces desplegar la imagen docker en cluster de instancias EC2 usando Amazon ECS (Elastic Container Service).
Tómate un tiempo para familiarizarte con ECS. Puedes seguir este tutorial o cualquier otro disponible en internet. Asegúrate que al final tengas respuestas claras para las siguientes preguntas:
- ¿Cómo se crea un clúster en Amazon ECS?
- ¿Qué es una tarea en ECS y cómo se configura?
- ¿Qué es un servicio en ECS y cómo garantiza que las tareas se mantengan en funcionamiento?
- ¿Cómo se despliega un servicio en ECS?
- ¿Qué es el autoescalado en ECS y cómo se configura?
- ¿Cómo se integra ECS con otros servicios de AWS como ECR?
- ¿Cómo se realiza un despliegue de una nueva versión de una aplicación utilizando ECS?
- ¿Cómo solucionas problemas si tu aplicación en Amazon ECS no se está ejecutando correctamente?
Finalmente, usa ECS para desplegar la imagen docker de tu aplicacion creando un clúster, una tarea y un servicio.
Usa la la IP pública de tu clúster EC2 para probar tu API con una coleccion de Postman. Puedes utilizar esta colección de ejemplo.
Antes de agendar tu Project Feedback con tu coach, asegúrate de tener una coleccion de Postman para probar la API que desplegaste en Amazon ECS.
Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.
-
Describir los componentes clave de un sistema de orquestación, como clústeres, tareas, servicios y balanceadores de carga
-
Crear y configurar definiciones de contenedor y tareas que incluyan todos los componentes necesarios para ejecutar un aplicación, como imágenes Docker, variables de entorno, volúmenes y configuraciones de red