Cómo crear un clúster ECS en AWS

Cómo crear un clúster ECS en AWS
ECS (Servicio de contenedores elásticos) es un servicio de contenedores administrado, altamente disponible y escalable para ejecutar aplicaciones contenedores en AWS. En ECS, se escribe una definición de tarea para definir los contenedores y se utiliza para ejecutar uno o más procesos en el servicio. Un servicio en ECS es una configuración que se puede usar para ejecutar y administrar múltiples tareas en un clúster ECS simultáneamente.

Amazon ECS proporciona API simples para interactuar con su aplicación contenedora que se ejecuta en ECS. Usando estas API, puede iniciar, ejecutar, iniciar y detener su aplicación en contenedores. Además, puede programar la colocación de los contenedores que ejecutan la aplicación en su nodo deseado dependiendo de los recursos requeridos por la aplicación.

Las siguientes son algunas terminologías utilizadas mientras se trabaja con el clúster ECS.

  • Contenedor e imágenes
  • Definiciones de tareas
  • Tarea y programación
  • Racimos
  • Agente de contenedores

Este artículo aprenderá cómo se puede crear un clúster ECS en AWS utilizando la consola de administración de AWS.

Creación de clúster ECS

Primero, inicie sesión en la consola de gestión y vaya a la ECS servicios.

Desde el panel lateral izquierdo en la consola, haga clic en el Racimos botón.

Ahora haga clic en el Crear clúster Para comenzar a crear el clúster.

Ahora primero, solicitará la plantilla de clúster ECS. Hay tres plantillas disponibles para el clúster ECS.

  • Solo redes
  • EC2 Linux + Networking
  • Redes de Windows + EC2 +

El Solo redes La plantilla crea clústeres usando AWS Fargate. AWS Fargate es la última tecnología proporcionada por AWS para implementar grupos ECS. AWS Fargate es un servicio sin servidor para implementar grupos ECS, y no necesita administrar los nodos dentro del clúster. Los nodos son administrados por AWS, y solo proporciona definiciones de tareas para el servicio. Para esta plantilla, solo crea el clúster ECS, y VPC y las subredes son opcionales para esto.

El EC2 Linux + Networking La plantilla crea el clúster ECS, incluidos los nodos que ejecutan Linux ami. Para ejecutar un clúster ECS utilizando la plantilla de red Linux + Networking EC2, debe crear el grupo de clúster, VPC, subredes y escala automática con Linux AMIS. El grupo de escala automática se utiliza para administrar los nodos en el clúster.

El Redes de Windows + EC2 + La plantilla crea el clúster ECS con Windows AMIS. Creas el grupo de clúster, subredes, VPC y autoescalado con Windows AMIS. Las instancias de Windows son administradas y escaladas por el grupo de escala automática.

AWS recomienda usar el AWS Fargate para ejecutar el clúster ECS, y es la última tecnología entre estos. Entonces, para esta demostración, usaremos el AWS Fargate para crear el clúster ECS.

Después de seleccionar la opción, ahora haga clic en el Próximo paso botón en la esquina inferior derecha de la página.

Solicitará las diferentes configuraciones para el clúster ECS. El nombre es el identificador único para el clúster ECS, y el mismo nombre no se puede usar para otro clúster ECS en la misma región.

Para la red de clúster, puede crear el clúster dentro del VPC para aislar el clúster ECS. Para esta demostración, no ejecutaremos el clúster ECS dentro del VPC.

Las ideas de contenedores de CloudWatch se utilizan para monitorear y solucionar aplicaciones contenedores. Recopila las diferentes métricas de contenedores, como CPU, memoria, espacio y otros eventos, como reiniciar, detener y comenzar a dar una visión profunda del contenedor. Para esta demostración, no utilizaremos las ideas del contenedor CloudWatch.

Después de proporcionar todos los detalles anteriores, haga clic en el Próximo botón para crear el clúster ECS.

Cuando haces clic en el Crear Botón Para crear el clúster ECS, primero creará un papel ligado al servicio IAM para el ECS y luego creará el clúster.

Crear definición de tarea de ECS

Después de crear el clúster ECS, ahora cree una definición de tarea ECS para implementar un contenedor de muestra en el clúster ECS.

Desde el panel lateral izquierdo de la consola ECS, haga clic en el Definiciones de tareas botón.

Clickea en el Crear una nueva definición de tareas botón para crear una nueva definición de tarea.

Primero, solicitará la compatibilidad del tipo de lanzamiento para la definición de la tarea. Hay tres compatibilidades de tipo de lanzamiento para las definiciones de tareas.

  • Fargate
  • EC2
  • Externo

El Fargate La compatibilidad del tipo de lanzamiento se utiliza para la infraestructura administrada por AWS, y no es necesario implementar ninguna instancia de EC2. Esta compatibilidad de tipo de lanzamiento se utiliza para clústeres de ECS utilizando AWS Fargate. El costo se basa en el tamaño del contenedor.

El EC2 La compatibilidad del tipo de lanzamiento se utiliza para la infraestructura autogestionada en AWS, como las instancias de EC2 que tienen Windows y Linux AMIS. Esta compatibilidad de tipo de lanzamiento se utiliza para ambos EC2 Linux + Networking y Redes de Windows + EC2 + Plantillas de ECS. El costo se basa en las instancias de EC2.

El Externo La compatibilidad del tipo de lanzamiento se utiliza para el clúster ECS, incluidas las instancias locales autogestionadas. El precio se basa en la hora de instancia y cargos adicionales para otros servicios.

Para esta demostración, usaremos el Fargate COMPATIBILIDAD DE TIPO DE LANZAMIENTO ya que estamos utilizando el Solo redes plantilla para el clúster ECS.

Después de seleccionar la compatibilidad de tipo de lanzamiento, ahora haga clic en el Próximo paso botón en la esquina inferior derecha de la página. Abrirá una nueva página solicitando la configuración de tareas y contenedores.

Ingrese un nombre único para la definición de tarea que se creará. El rol de la tarea se utiliza para hacer llamadas de API a los servicios de AWS. Para esta demostración, deja el papel de la tarea en ninguno. La familia del sistema operativo es el sistema operativo que utilizará la definición de tarea. Para esta demostración, seleccione Linux Como la familia del sistema operativo.

Ahora desplácese hacia abajo hasta el Rol de ejecución de tareas iam. El rol de ejecución de tareas IAM debe incluir permisos para extraer la imagen del contenedor y publicar registros de contenedores en Amazon CloudWatch. Si el rol no existe, la ECS lo creará automáticamente.

El tamaño de la tarea es la memoria y el número de VCPU que se asignarán al contenedor para su ejecución. Para esta demostración, asignar 0.5 GB de RAM y 0.25 VCPU.

Después de asignar RAM y VCPUS, ahora haga clic en el Agregar contenedor botón para agregar un contenedor. Ingrese el nombre del contenedor y la imagen que será utilizada por el contenedor.

También puede especificar los límites duros y suaves de los recursos asignados al contenedor. Si se especifica un límite duro, el contenedor se matará si excede ese límite. Si se especifica un límite suave, el contenedor reservará esa cantidad de memoria.

El mapeo de puertos se utiliza para acceder a los puertos de contenedores en la máquina host. Para esta demostración, configure el puerto 80.

Ahora omita todas las opciones restantes y haga clic en el crear botón al final de la página para crear la tarea.

Después de crear la definición de la tarea, ahora vaya a la Definiciones de tareas Desde el panel lateral izquierdo de la consola ECS. Seleccione la definición de tarea recién creada y ejecutarla usando el Ejecutar tarea opción desde el Comportamiento lista.

Solicitará las diferentes opciones para el contenedor antes de ejecutar. Proporcionar la Fargate como tipo de lanzamiento, ya que utilizaremos Fargat como compatibilidad con el tipo de lanzamiento.

Seleccionar Linux como el sistema operativo del contenedor y proporcione los otros detalles, como se muestra en la siguiente imagen.

Seleccione los grupos VPC, subred y de seguridad que desea asignar a la definición de tarea.

Después de proporcionar todos estos detalles, ahora haga clic en el correr botón para ejecutar la definición de tarea. Después de ejecutar la definición de la tarea, ahora verifique el estado de la definición de la tarea desde la consola.

Conclusión

Amazon ECS es un servicio altamente disponible y escalable proporcionado por AWS para ejecutar aplicaciones contenedores. AWS proporciona diferentes compatibilidades de tipo de lanzamiento para ejecutar las aplicaciones contenedores en AWS sin administrar la herramienta de contenedores. Después de crear el clúster ECS, debe crear la definición de tarea para ejecutar un contenedor. Este artículo describe cómo podemos crear y ejecutar aplicaciones contenedores en AWS ECS utilizando la consola de administración de AWS.