Obtenga información sobre cómo crear una tarea de Windows de Amazon ECS para el tipo de lanzamiento de EC2. - Amazon Elastic Container Service

Obtenga información sobre cómo crear una tarea de Windows de Amazon ECS para el tipo de lanzamiento de EC2.

Para comenzar a utilizar Amazon ECS mediante el tipo de lanzamiento de EC2, registre una definición de tarea y cree un clúster y un servicio en la consola.

Siga estos pasos para comenzar a utilizar Amazon ECS mediante el tipo de lanzamiento de EC2.

Requisitos previos

Antes de comenzar, complete los pasos en Configuración para utilizar Amazon ECS y corrobore que su usuario de AWS disponga de los permisos que se especifican en la política de IAM de ejemplo AdministratorAccess.

La consola intenta crear automáticamente el rol de IAM de ejecución de tareas, que se requiere para las tareas de Fargate. Para asegurarse de que la consola pueda crear este rol de IAM, una de las siguientes condiciones debe ser verdadera:

importante

El grupo de seguridad que seleccione al crear un servicio con su definición de tareas debe tener el puerto 80 abierto para el tráfico entrante. Agregue las siguientes reglas de entrada al grupo de seguridad. Para obtener información acerca de cómo crear un grupo de seguridad, consulte Cree un grupo de seguridad para su instancia de Amazon EC2 en la Guía del usuario de Amazon EC2.

  • Tipo: HTTP

  • Protocolo: TCP

  • Intervalo de puertos: 80

  • Source (Origen): Anywhere (Cualquiera) (0.0.0.0/0)

Paso 1: creación de un clúster

Un clúster de Amazon ECS es una agrupación lógica de tareas, servicios e instancias de contenedores.

Los siguientes pasos lo guiarán a través de la creación de un clúster con una instancia de Amazon EC2 registrada en él que nos permitirá ejecutar una tarea en el clúster. Si no se menciona un campo específico, deje el valor predeterminado de la consola.

Para crear un nuevo clúster (consola de Amazon ECS)

Antes de empezar, asigne el permiso de IAM correspondiente. Para obtener más información, consulte Ejemplos de clústeres de Amazon ECS.

  1. Abra la consola 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 CLuster configuration (Configuración de clúster), para Cluster name (Nombre del clúster), introduzca un nombre único.

    El nombre puede contener hasta 255 letras (minúsculas y mayúsculas), números y guiones.

  6. (Opcional) Para cambiar la VPC y las subredes donde se inician sus tareas y servicios, en Networking (Redes), realice cualquiera de las siguientes operaciones:

    • Para eliminar una subred, en Subnets (Subredes), elija Xpara cada subred que desea eliminar.

    • Para cambiar a una VPC distinta de la VPC predeterminada, enVPC, elija una VPC existente y, a continuación, en Subnets (Subredes), seleccione cada subred.

  7. Para agregar instancias de Amazon EC2 al clúster, expanda Infraestructura y, a continuación, seleccione Instancias de Amazon EC2. A continuación, configure el grupo de Auto Scaling que actúa como proveedor de capacidad:

    1. Para utilizar un grupo de Auto Scaling existente, desde Auto Scaling group (ASG) (Grupo de Auto Scaling), seleccione el grupo.

    2. Para crear un grupo de Auto Scaling, desde Auto Scaling group (ASG) (Grupo de Auto Scaling), seleccione Create new group (Crear nuevo grupo) y, a continuación, proporcione los siguientes detalles sobre el grupo:

      • Para Operating system/Architecture (Arquitectura y sistema operativo), elija la AMI optimizada para Amazon ECS para las instancias de grupo de Auto Scaling.

      • Para EC2 instance type (Tipo de instancia EC2), elija el tipo de instancia para sus cargas de trabajo. Para obtener más información acerca de los diferentes tipos de instancias y sus casos de uso, consulte Instancias de Amazon EC2.

        El escalado administrado funciona mejor si el grupo de Auto Scaling utiliza los mismos tipos de instancia o similares.

      • Para Par de clave de SSH, elija el par que demuestre su identidad cuando se conecta a la instancia.

      • 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. Las instancias de Amazon EC2 generan costos mientras existan en los recursos de AWS. Para obtener más información, consulte Precios de Amazon EC2.

  8. (Opcional) Para activar Container Insights, expanda Monitoring (Supervisión) y, a continuación, active Use Container Insights (Uso de Container Insights).

  9. (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.

  10. Seleccione Crear.

Paso 2: Registrar una definición de tareas

Para registrar la definición de tarea de muestra con la AWS Management Console
  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 la siguiente definición de tarea de ejemplo en el cuadro y, a continuación, elija Guardar.

    { "containerDefinitions": [ { "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"], "entryPoint": [ "powershell", "-Command" ], "essential": true, "cpu": 2048, "memory": 4096, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "name": "sample_windows_app", "portMappings": [ { "hostPort": 443, "containerPort": 80, "protocol": "tcp" } ] } ], "memory": "4096", "cpu": "2048", "family": "windows-simple-iis-2019-core", "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole", "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"}, "requiresCompatibilities": ["EC2"] }
  4. Verifique su información y seleccione Create (Crear).

Paso 3: Crear un servicio

Un servicio Amazon ECS le ayuda a ejecutar y mantener simultáneamente un número determinado de instancias de una definición de tareas en un clúster de Amazon ECS. En caso de que alguna de las tareas falle o se detenga por algún motivo, el programador de servicio de Amazon ECS lanza otra instancia de la definición de tarea para sustituirla y mantener el recuento deseado de tareas en el servicio. Para obtener más información sobre los servicios, consulte Servicios de Amazon ECS.

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

  2. Seleccione el clúster que creó en Paso 1: creación de un clúster.

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

  4. En la sección Environment (Entorno), haga lo siguiente:

    1. Para Compute options, (Opciones de procesamiento), elija Launch type (Tipo de lanzamiento).

    2. En Launch type (Tipo de lanzamiento), seleccione EC2

  5. En la sección Deployment configuration (Configuración de implementación), haga lo siguiente:

    1. En Family (Familia), elija la definición de tarea que creó en Paso 2: Registrar una definición de tareas.

    2. En Service name (Nombre del servicio), ingrese un nombre para el servicio.

    3. En Desired tasks (Tareas deseadas), ingrese 1.

  6. Revise las opciones y elija Crear.

  7. Elija View service (Ver servicio) para revisar el servicio.

Paso 4: Ver el servicio

El servicio es una aplicación web para que pueda ver sus contenedores con un navegador web.

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

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

  3. Elija el clúster en el que ejecutó el servicio.

  4. En la pestaña Servicios, en Nombre del servicio, elija el servicio que creó en Paso 3: Crear un servicio.

  5. Seleccione la pestaña Tareas y, a continuación, elija la tarea de su servicio.

  6. En la página de tareas, en la sección Configuración, en IP pública, elija Dirección abierta. En la captura de pantalla siguiente se muestra el resultado esperado.

    Captura de pantalla de la aplicación de ejemplo de Amazon ECS. La salida indica que "Your application is now running on Amazon ECS" (Su aplicación se ejecuta ahora en Amazon ECS).

Paso 5: Eliminación

Cuando termine de utilizar un clúster de Amazon ECS, debe limpiar los recursos asociados para evitar que se generen cargos por recursos que no está utilizando.

Algunos recursos de Amazon ECS, tales como tareas, servicios, clústeres e instancias de contenedor, se limpian a través de la consola de Amazon ECS. Otros recursos como, por ejemplo, las instancias de Amazon EC2, los balanceadores de carga de Elastic Load Balancing y los grupos de Auto Scaling, se deben limpiar manualmente en la consola de Amazon EC2 o eliminando la pila de AWS CloudFormation que los creó.

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

  2. En la página Clústeres, seleccione el clúster de clúster que creó para este tutorial.

  3. Seleccione la pestaña Servicios.

  4. Seleccione el servicio y, a continuación, elija Eliminar.

  5. En la pregunta de confirmación, escriba delete (eliminar) y, a continuación, elija Delete (Eliminar).

    Espere hasta que se elimine el servicio.

  6. Elija Delete cluster. En la pregunta de confirmación, ingrese delete cluster-name (eliminar nombre de clúster) y, a continuación, elija Delete (Eliminar). Al eliminar el clúster, se limpian los recursos asociados que se crearon con él, incluidos los grupos de Auto Scaling, las VPC o los balanceadores de carga.