Creación de recursos para el escalado automático de clústeres de Amazon ECS mediante la AWS Management Console
Obtenga información sobre cómo crear los recursos para el escalado automático de clústeres mediante la AWS Management Console. Cuando los recursos requieren un nombre, utilizamos el prefijo ConsoleTutorial
para asegurarnos de que todos tengan nombres únicos y sean fáciles de localizar.
Temas
Requisitos previos
En este tutorial se supone que los siguientes requisitos previos se han completado:
-
Se han completado los pasos que se indican en Configuración para utilizar Amazon ECS.
-
Su usuario de IAM dispone de los permisos requeridos que se especifican en la política de IAM AmazonECS_FullAccess de ejemplo.
-
Se crea el rol de IAM de la instancia de contenedor de Amazon ECS. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.
-
Se crea el rol de IAM vinculado al servicio de Amazon ECS. Para obtener más información, consulte Uso de roles vinculados al servicio para Amazon ECS.
-
Se crea el rol de IAM vinculado al servicio de Auto Scaling. Para obtener más información, consulte Roles vinculados al servicio para Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
-
Tiene una VPC y un grupo de seguridad creados para utilizarlos. Para obtener más información, consulte Creación de una nube virtual privada.
Paso 1: Crear un clúster de Amazon ECS
Siga estos pasos para crear un clúster de Amazon ECS.
Amazon ECS crea una plantilla de lanzamiento de Amazon EC2 Auto Scaling y un grupo de Auto Scaling en su nombre como parte de la pila AWS CloudFormation.
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En el panel de navegación, elija Clústeres y, a continuación, elija Crear un clúster.
-
En Configuración de clúster, para Nombre del clúster, ingrese
ConsoleTutorial-cluster
. -
En Infraestructura, desactive AWS Fargate (sin servidor) y, a continuación, seleccione Instancias de Amazon EC2. A continuación, configure el grupo de escalado automático que actúa como proveedor de capacidad.
-
En Grupo de escalado automático (ASG). Seleccione Crear nuevo ASG y, a continuación, proporcione los siguientes detalles sobre el grupo:
-
En Sistema operativo/arquitectura, elija Amazon Linux 2.
-
Para tipo de instancia EC2, seleccione t3.nano.
-
Para Capacity (Capacidad), introduzca el número mínimo y el número máximo de instancias que va a lanzar en el grupo de Auto Scaling.
-
-
-
(Opcional) Para administrar las etiquetas de clúster, expanda Tags (Etiquetas) y, a continuación, realice una de las siguientes operaciones:
[Añadir una etiqueta] Elija Add tag (Añadir etiqueta) y haga lo siguiente:
-
En Key (Clave), escriba el nombre de la clave.
-
En Valor, escriba el valor de la clave.
[Eliminar una etiqueta] Elija Eliminar a la derecha de la clave y el valor de la etiqueta.
-
-
Seleccione Create (Crear).
Paso 2: Registrar una definición de tareas
Antes de poder ejecutar una tarea en su clúster, debe registrar una definición de tareas. Las definiciones de tareas son listas de contenedores agrupadas. El ejemplo siguiente es una definición de tareas sencilla que utiliza una imagen amazonlinux
de Docker Hub y se limita a permanecer inactiva. Para obtener más información acerca de los parámetros de definición de tareas disponibles, consulte Definiciones de tareas de Amazon ECS.
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En el panel de navegación, elija Task Definitions (Definiciones de tareas).
-
Elija Create new task definition (Crear nueva definición de tarea) y Create new task definition with JSON (Crear nueva definición de tarea con JSON).
-
En el cuadro del Editor JSON, copie y pegue el siguiente contenido.
{ "family": "ConsoleTutorial-taskdef", "containerDefinitions": [ { "name": "sleep", "image": "public.ecr.aws/amazonlinux/amazonlinux:latest", "memory": 20, "essential": true, "command": [ "sh", "-c", "sleep infinity" ] } ], "requiresCompatibilities": [ "EC2" ] }
-
Seleccione Crear.
Paso 3: Ejecutar una tarea
Después de registrar una definición de tareas para su cuenta, puede ejecutar una tarea en el clúster. En este tutorial, se ejecutan cinco instancias de la definición de tareas ConsoleTutorial-taskdef
en el clúster ConsoleTutorial-cluster
.
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En la página Clústeres, elija ConsoleTutorial-cluster.
-
En Tareas, elija Ejecutar una nueva tarea.
-
En la sección Entorno, en Opciones de cálculo, elija Estrategia de proveedor de capacidad.
-
En Configuración de implementación, en Tipo de aplicación, elija Tarea.
-
Seleccione ConsoleTutorial-taskdef en la lista desplegable Familia.
-
En Tareas deseadas, introduzca 5.
-
Seleccione Crear.
Paso 4: Verificar
En este punto del tutorial, debe tener un clúster con cinco tareas en ejecución y un grupo de escalado automático con un proveedor de capacidad. El proveedor de capacidad tiene el escalado administrado por Amazon ECS habilitado.
Para comprobar que todo funcione correctamente, consulte las métricas de CloudWatch, la configuración del grupo de Auto Scaling y, por último, el recuento de tareas del clúster de Amazon ECS.
Para consultar las métricas de CloudWatch del clúster
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
En la barra de navegación de la parte superior de la pantalla, seleccione la región .
-
En el panel de navegación, en Métricas, elija Todas las métricas.
-
En la página Todas las métricas, en la pestaña Examinar, elija
AWS/ECS/ManagedScaling
. -
Elija CapacityProviderName, ClusterName.
-
Seleccione la casilla de verificación correspondiente al
ConsoleTutorial-cluster
ClusterName. -
En la pestaña Métricas gráficas, cambie Período a 30 segundos y Estadística a Máximo.
El valor que aparece en el gráfico muestra el valor de capacidad de destino del proveedor de capacidad. Debería comenzar en
100
, que es el porcentaje de capacidad de destino que hemos establecido. Debería observar cómo se escala hasta200
, lo que desencadenará una alarma para la política de escalado de seguimiento de destino. La alarma desencadenará la reducción horizontal del grupo de Auto Scaling.
Siga estos pasos para consultar los detalles del grupo de Auto Scaling y confirmar que se ha producido la acción de escalado horizontal.
Para comprobar el escalado horizontal del grupo de Auto Scaling
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
En la barra de navegación de la parte superior de la pantalla, seleccione la región .
-
En el panel de navegación, seleccione Auto Scaling y elija Auto Scaling Groups (Grupos de Auto Scaling).
-
Elija el grupo de escalado automático
ConsoleTutorial-cluster
creado en este tutorial. Consulte el valor en Capacidad deseada y consulte las instancias en la pestaña Administración de instancias para confirmar que su grupo se ha escalado horizontalmente a dos instancias.
Siga estos pasos para consultar el clúster de Amazon ECS y confirmar que las instancias de Amazon EC2 se hayan registrado en el clúster y las tareas hayan pasado al estado RUNNING
.
Para comprobar las instancias del grupo de Auto Scaling
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En el panel de navegación, seleccione Clusters (Clústeres).
-
En la página Clusters (Clústeres), elija el clúster
ConsoleTutorial-cluster
. -
En la pestaña Tareas, confirme que observa cinco tareas en el estado
RUNNING
.
Paso 5: Eliminar
Cuando termine este tutorial, debe limpiar los recursos asociados para evitar incurrir en cargos por recursos que no está utilizando. No se admite la eliminación de proveedores de capacidad y definiciones de tareas, pero no hay ningún costo asociado con estos recursos.
Para borrar los recursos del tutorial, realice el siguiente procedimiento:
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En el panel de navegación, seleccione Clusters (Clústeres).
-
En la página Clústeres, elija ConsoleTutorial-cluster.
-
En la página ConsoleTutorial-Cluster, seleccione la pestaña Tareas y, a continuación, seleccione Detener y Detener todo.
-
En el panel de navegación, seleccione Clusters (Clústeres).
-
En la página Clústeres, elija ConsoleTutorial-cluster.
-
En la parte superior derecha de la página, seleccione Eliminar clúster.
-
En el cuadro de confirmación, ingrese delete ConsoleTutorial-cluster y, a continuación, seleccione Eliminar.
-
Siga estos pasos para eliminar los grupos de Auto Scaling.
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
En la barra de navegación de la parte superior de la pantalla, seleccione la región .
-
En el panel de navegación, seleccione Auto Scaling y elija Auto Scaling Groups (Grupos de Auto Scaling).
-
Seleccione el grupo de escalado automático de
ConsoleTutorial-cluster
y, a continuación, elija Acciones. -
En el menú Actions (Acciones), elija Delete (Eliminar). En el cuadro de confirmación, ingrese Eliminar y, a continuación, elija Eliminar.