Tipos de lanzamiento de Amazon ECS - Amazon Elastic Container Service

Tipos de lanzamiento de Amazon ECS

El tipo de lanzamiento de la definición de tarea define la capacidad en la que se puede ejecutar la tarea, por ejemplo AWS Fargate.

Tras elegir el tipo de lanzamiento, Amazon verifica que los parámetros de definición de tarea que configure funcionan con el tipo de lanzamiento.

Fargate

Fargate es un motor de computación de pago por uso sin servidor que le permite centrarse en crear aplicaciones sin tener que administrar los servidores. Al elegir Fargate, no tiene que administrar la infraestructura de EC2. Lo único que tiene que hacer es crear la imagen del contenedor y definir en qué clúster quiere ejecutar las aplicaciones. Fargate tiene una integración nativa con los servicios de AWS que incluye:

  • Amazon VPC

  • Auto Scaling

  • Elastic Load Balancing

  • IAM

  • Secrets Manager 

Tiene más control con Fargate que con EC2 porque selecciona exactamente la CPU y la memoria que necesita su aplicación. Fargate se encarga de escalar horizontalmente su capacidad, por lo que no tiene que preocuparse por los picos de tráfico. Esto significa que, con Fargate, el esfuerzo operativo es menor.

Fargate cumple con los estándares de los programas de conformidad, entre ellos PCI, FIPS 140-2, FedRAMP e HIPAA. Para obtener más información, consulte Servicios de AWS en el ámbito del programa de conformidad.

Fargate es adecuado para las siguientes cargas de trabajo:

  • Cargas de trabajo grandes que requieren una sobrecarga operativa baja

  • Pequeñas cargas de trabajo que tienen ráfagas ocasionales

  • Cargas de trabajo pequeñas

  • Cargas de trabajo en lotes

Para obtener información acerca de las regiones que admiten Fargate, consulte Regiones compatibles con Amazon ECS en AWS Fargate.

En el siguiente diagrama, se muestra la arquitectura general.

Descripción general de la arquitectura de Amazon ECS.

Para obtener más información acerca de Amazon ECS en Fargate, consulte AWS Fargate para Amazon ECS.

EC2

El tipo de lanzamiento de EC2 es adecuado para grandes cargas de trabajo cuyo precio se debe optimizar.

A la hora de plantear cómo modelar las definiciones de tareas y servicios mediante el tipo de lanzamiento de EC2, le recomendamos que considere qué procesos se tienen que ejecutar de forma conjunta y cómo se escalaría cada componente.

Por ejemplo, supongamos que una aplicación consta de los siguientes componentes:

  • Un servicio frontend que muestre información en una página web

  • Un servicio backend que proporciona las API para el servicio frontend

  • Un almacén de datos

En este ejemplo, cree definiciones de tareas que agrupen los contenedores que se utilizan para un fin común. Separe los diferentes componentes en definiciones de tareas múltiples e independientes. El clúster de ejemplo siguiente tiene tres instancias de contenedor que se ejecutan en tres contenedores de servicio frontend, dos contenedores de servicio backend y un contenedor de servicios de almacén de datos.

Puede agrupar contenedores relacionados en una definición de tarea, por ejemplo contenedores vinculados que se deben ejecutar conjuntamente. Por ejemplo, agregue un contenedor de flujo de registro a su servicio frontend e inclúyalo en la misma definición de tareas.

Después de tener sus definiciones de tareas, puede crear servicios para mantener la disponibilidad de sus tareas deseadas. Para obtener más información, consulte Creación de un servicio de Amazon ECS mediante la consola. En sus servicios, puede asociar contenedores a los balanceadores de carga de Elastic Load Balancing. Para obtener más información, consulte Uso del equilibrador de carga para distribuir el tráfico de servicio de Amazon ECS. Cuando cambian los requisitos de la aplicación, puede actualizar los servicios para aumentar o reducir el número de tareas deseadas. También puede actualizar los servicios para implementar versiones más nuevas de los contenedores de las tareas. Para obtener más información, consulte Actualización de un servicio de Amazon ECS mediante la consola.

Ejemplo de arquitectura de aplicación con tres instancias. La instancia 1 tiene un contenedor de servicios de frontend y un contenedor de servicios de base de datos. La instancia 2 y la instancia 3 tienen un contenedor de servicios de frontend y un contenedor de servicios de backend.

Instancias externas (Amazon ECS Anywhere)

Amazon ECS Anywhere admite el registro de una instancia externa, por ejemplo, un servidor ubicado en las instalaciones o una máquina virtual (VM), en el clúster de Amazon ECS. Las instancias externas se han optimizado para que puedan ejecutar aplicaciones que generen tráfico o datos del proceso salientes. Si la aplicación requiere tráfico entrante, la falta de compatibilidad con Elastic Load Balancing hace que la ejecución de estas cargas de trabajo sea menos eficiente. Amazon ECS ha agregado un nuevo tipo de lanzamiento EXTERNAL que se puede utilizar para crear servicios o ejecutar tareas en las instancias externas.

A continuación, se proporciona información general sobre la arquitectura de sistema de alto nivel de Amazon ECS Anywhere. El servidor en las instalaciones tiene instalados el agente de Amazon ECS y el agente de SSM.

Diagrama que muestra la arquitectura de Amazon ECS Anywhere.

Para obtener más información, consulte Clústeres de Amazon ECS para el tipo de lanzamiento externo.