|
|
La implementación de aplicaciones en contenedores en producción requiere navegar por cientos de parámetros de configuración entre balanceadores de carga, políticas de escalado automático, redes y grupos de seguridad. Estos gastos generales retrasan el tiempo de comercialización y desvían la atención del desarrollo de aplicaciones principales.
Hoy, me complace anunciar Amazon ECS Express Mode, una nueva capacidad de Amazon Elastic Container Service (Amazon ECS) que le ayuda a lanzar aplicaciones en contenedores escalables y de alta disponibilidad con un solo comando. El modo ECS Express automatiza la configuración de la infraestructura, incluidos dominios, redes, equilibrio de carga y escalado automático a través de API simplificadas. Esto significa que puede concentrarse en crear aplicaciones mientras las implementa con confianza utilizando las mejores prácticas de Amazon Web Services (AWS). Además, cuando sus aplicaciones evolucionan y requieren funciones avanzadas, puede configurar y acceder sin problemas a todas las capacidades de los recursos, incluido Amazon ECS.
Puede comenzar con el modo Express de Amazon ECS navegando a la consola de Amazon ECS.

El modo Amazon ECS Express proporciona una interfaz simplificada para el recurso de servicio de Amazon ECS con nuevas integraciones para crear recursos de uso común en AWS. El modo ECS Express aprovisiona y configura automáticamente clústeres de ECS, definiciones de tareas, balanceadores de carga de aplicaciones, políticas de escalamiento automático y dominios de Amazon Route 53 desde un único punto de entrada.
Comenzando con el modo ECS Express
Permítame explicarle cómo utilizar el modo Express de Amazon ECS. Me centraré en la experiencia de la consola, que proporciona la forma más rápida de implementar su aplicación en contenedores.
Para este ejemplo, estoy usando una aplicación de imagen de contenedor simple que se ejecuta en Python con el marco Flask. Aquí está el Dockerfile de mi demostración, que envié a un repositorio de Amazon Elastic Container Registry (Amazon ECR):
# Build stage
FROM python:3.6-slim as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt gunicorn
# Runtime stage
FROM python:3.6-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY app.py .
ENV PATH=/root/.local/bin:$PATH
EXPOSE 80
CMD ["gunicorn", "--bind", "0.0.0.0:80", "app:app"]
En la página Modo Express, elijo Crear. La interfaz está optimizada: especifico el URI de mi imagen de contenedor de Amazon ECR y luego selecciono mi función de ejecución de tareas y mi función de infraestructura. Si aún no tienes estos roles, elige Crear nuevo rol en el menú desplegable para que se le cree uno desde la política administrada de AWS Identity and Access Management (IAM).

Si quiero personalizar la implementación, puedo expandir el Configuraciones adicionales sección para definir mi clúster, puerto de contenedor, ruta de verificación de estado o variables de entorno.

En esta sección, también puedo ajustar las políticas de CPU, memoria o escalado.

Configurar registros en Amazon CloudWatch Logs es algo que siempre configuro para poder solucionar problemas de mis aplicaciones si es necesario. Cuando estoy satisfecho con las configuraciones, elijo Crear.

después de elegir CrearExpress Mode aprovisiona automáticamente una pila de aplicaciones completa, incluido un servicio Amazon ECS con tareas de AWS Fargate, un balanceador de carga de aplicaciones con comprobaciones de estado, políticas de escalamiento automático basadas en la utilización de CPU, grupos de seguridad y configuración de red, y un dominio personalizado con una URL proporcionada por AWS. También puedo seguir el progreso en Vista de línea de tiempo en el Recursos pestaña.

Si necesito realizar una implementación programática, se puede lograr el mismo resultado con un único comando de AWS Command Line Interface (AWS CLI):
aws ecs create-express-gateway-service \
--image [ACCOUNT_ID].ecr.us-west-2.amazonaws.com/myapp:latest \
--execution-role-arn arn:aws:iam::[ACCOUNT_ID]:role/[IAM_ROLE] \
--infrastructure-role-arn arn:aws:iam::[ACCOUNT_ID]:role/[IAM_ROLE]
Una vez completado, puedo ver la URL de mi aplicación en la consola y acceder inmediatamente a la aplicación en ejecución.

Después de crear la aplicación, puedo ver los detalles visitando el clúster especificado, o el clúster predeterminado si no especificé uno, en el servicio ECS para monitorear el rendimiento, ver registros y administrar la implementación.

Cuando necesito actualizar mi aplicación con una nueva versión de contenedor, puedo regresar a la consola, seleccionar mi servicio Express y elegir Actualizar. Puedo usar la interfaz para especificar una nueva URI de imagen o ajustar las asignaciones de recursos.

Alternativamente, puedo usar la CLI de AWS para obtener actualizaciones:
aws ecs update-express-gateway-service \
--service-arn arn:aws:ecs:us-west-2:[ACCOUNT_ID]:service/[CLUSTER_NAME]/[APP_NAME] \
--primary-container '{
"image": "[IMAGE_URI]"
}'
Considero que toda la experiencia reduce la complejidad de la configuración y al mismo tiempo me brinda acceso a todos los recursos subyacentes cuando necesito configuraciones más avanzadas.
Cosas adicionales que debes saber
Aquí hay cosas adicionales sobre el modo ECS Express:
- Disponibilidad – El modo ECS Express está disponible en todas las regiones de AWS en el momento del lanzamiento.
- Soporte de infraestructura como código – Puede utilizar herramientas de IaC como AWS CloudFormation, AWS Cloud Development Kit (CDK) o Terraform para implementar sus aplicaciones mediante el modo Amazon ECS Express.
- Precios – No hay ningún cargo adicional por utilizar el modo Express de Amazon ECS. Paga por los recursos de AWS creados para iniciar y ejecutar su aplicación.
- Compartir el balanceador de carga de aplicaciones – El ALB creado se comparte automáticamente entre hasta 25 servicios ECS utilizando reglas de escucha basadas en encabezados de host. Esto ayuda a distribuir significativamente el costo del ALB.
Comience con el modo Express de Amazon ECS a través de la consola de Amazon ECS. Obtenga más información en la página de documentación de Amazon ECS.
¡Feliz edificio!
— donnie


