Información sobre cómo crear una tarea para instancias administradas de Amazon ECS - Amazon Elastic Container Service

Información sobre cómo crear una tarea para instancias administradas de Amazon ECS

Obtenga información sobre cómo utilizar Amazon ECS con instancias administradas de Amazon ECS para poner en marcha una aplicación en contenedor.

Requisitos previos

Antes de comenzar este tutorial, complete lo siguiente:

  • Ha completado los pasos de Configuración para usar Amazon ECS.

  • Se han completado los pasos que se indican en Configuración para utilizar Amazon ECS.

  • Dispone de los roles de IAM necesarios para Instancias administradas de Amazon ECS. Esto incluye:

    • Rol de infraestructura: permite a Amazon ECS realizar llamadas a los servicios de AWS en su nombre para administrar la infraestructura de instancias administradas de Amazon ECS.

      Para obtener más información, consulte Rol de IAM de infraestructura de Amazon ECS.

    • Perfil de instancia: proporciona permisos para el agente de contenedor de Amazon ECS y el daemon de Docker que se ponen en marcha en instancias administradas.

      El nombre del rol de la instancia debe incluir ecsInstanceRole como prefijo para que coincida con la acción iam:PassRole del rol de infraestructura.

      Para obtener más información, consulte Perfil de instancia de instancias administradas de Amazon ECS.

  • Tiene una VPC y un grupo de seguridad creados para utilizarlos. En este tutorial se utiliza una imagen de contenedor alojada en Amazon ECR Public, por lo que sus instancias deben tener acceso a Internet. Para que sus instancias tengan una ruta a Internet, utilice una de las siguientes opciones:

    • Utilice una subred privada con una gateway NAT que tenga una dirección IP elástica.

    • Utilice una subred pública y asigne una dirección IP pública a las instancias.

    Para obtener más información, consulte Creación de una nube virtual privada.

    Para obtener información sobre las reglas y los grupos de seguridad, consulte Grupos de seguridad predeterminados para sus VPC y Reglas de ejemplo en la Guía del usuario de Amazon Virtual Private Cloud.

  • (Opcional) AWS CloudShell es una herramienta que proporciona a los clientes una línea de comandos sin necesidad de crear su propia instancia de EC2. Para obtener más información, consulte ¿Qué es AWS CloudShell? en la Guía del usuario de AWS CloudShell.

Paso 1: creación de un clúster

  1. Abra la consola de Amazon ECS en https://console.aws.amazon.com/ecs/v2.

  2. En la barra de navegación, seleccione la región a utilizar.

  3. En el panel de navegación, seleccione Clusters (Clústeres).

  4. En la página Clusters (Clústeres), elija Create Cluster (Crear clúster).

  5. En Configuración de clúster, para Nombre del clúster, introduzca un nombre único para el clúster.

  6. En Infraestructura, elija Fargate y EC2 administrado.

  7. Configure los ajustes de las instancias administradas:

    1. En Rol de infraestructura, seleccione el rol de IAM que creó para la administración de la infraestructura de instancias administradas.

    2. En Perfil de instancia, seleccione el ecsInstanceRole que ha creado.

    3. En Atributos de instancia, elija Usar valores predeterminados de ECS.

  8. En Redes, configure la VPC y las subredes de las instancias administradas:

    1. En VPC, seleccione la VPC que aloja las instancias administradas.

    2. En Subredes, seleccione una o más subredes en las que se lanzarán las instancias administradas.

    3. En Grupos de seguridad, seleccione uno o varios grupos de seguridad.

  9. (Opcional) Para agregar etiquetas al clúster, expanda Etiquetas y, a continuación, configure sus etiquetas.

  10. Seleccione Crear.

Paso 2: Crear una definición de tarea

Una definición de tarea es un esquema de la aplicación. Cada vez que lance una tarea en Amazon ECS, debe especificar una definición de tarea. Esto permite que el servicio sepa qué imagen de Docker debe usar para los contenedores, cuántos contenedores debe utilizar en la tarea, así como la asignación de recursos para cada contenedor. Siga estos pasos para crear una definición de tarea:

  1. En el panel de navegación, elija Task Definitions.

  2. 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).

  3. Copie y pegue el siguiente JSON en el editor y sustituya el JSON rellenado previamente:

    Sustituya account-id por su ID de cuenta de AWS y region por la región que está utilizando.

    { "family": "managed-instance-tutorial", "networkMode": "awsvpc", "executionRoleArn": "arn:aws:iam::account-id:role/ecsTaskExecutionRole", "containerDefinitions": [ { "name": "sample-app", "image": "public.ecr.aws/docker/library/httpd:latest", "essential": true, "portMappings": [ { "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/managed-instance-tutorial", "awslogs-region": "region", "awslogs-stream-prefix": "ecs" } } } ], "requiresCompatibilities": [ "MANAGED_INSTANCES" ], "cpu": "1024", "memory": "2048" }
  4. Seleccione Crear.

Paso 3: Crear un servicio

Un servicio de Amazon ECS le permite ejecutar y mantener simultáneamente un número determinado de instancias de una definición de tareas en un clúster de Amazon ECS. Siga estos pasos para crear un servicio:

  1. En el panel de navegación, seleccione Clústeres y, luego, seleccione el clúster managed-instance-tutorial.

  2. En la pestaña Services (Servicios), elija Create (Crear).

  3. En Familia de definiciones de tareas, seleccione managed-instance-tutorial.

  4. En Nombre del servicio, escriba managed-instance-tutorial-service.

  5. En Entorno, elija Estrategia de proveedor de capacidad.

  6. En Redes, configure lo siguiente:

    1. Seleccione una VPC existente o cree una nueva.

    2. En Subredes, elija las subredes que vaya a utilizar.

    3. En Grupos de seguridad, seleccione un grupo de seguridad existente o cree uno nuevo que permita el tráfico entrante en el puerto 80.

  7. Seleccione Crear.

Paso 4: Ver el servicio

Una vez que se haya lanzado el servicio, podrá verlo para obtener más información sobre él y probarlo.

  1. Elija el servicio managed-instance-tutorial-service.

  2. En la pestaña Tareas, elija el ID de la tarea en marcha.

  3. En Red, en IP pública, seleccione Abrir dirección.

  4. Debería ver la página de prueba del servidor HTTP de Apache, que confirma que el servidor web funciona correctamente.

Paso 5: Eliminar

Cuando termine este tutorial, debe limpiar los recursos asociados para evitar incurrir en cargos por recursos que no está utilizando.

  1. En el panel de navegación, seleccione Clusters (Clústeres).

  2. En la página Clústeres, seleccione el clúster managed-instance-tutorial.

  3. Seleccione la pestaña Servicios.

  4. Seleccione el servicio managed-instance-tutorial-service y, a continuación, elija Eliminar.

  5. En la petición de confirmación, escriba delete y, a continuación, elija Eliminar.

  6. Una vez eliminado el servicio, seleccione Clústeres en el panel de navegación.

  7. En la página Clústeres, seleccione el clúster managed-instance-tutorial y, a continuación, elija Eliminar clúster.

  8. En la petición de confirmación, escriba delete managed-instance-tutorial y, a continuación, elija Eliminar.