Cómo empezar con los contenedores de Linux en AWS Fargate - Amazon Elastic Container Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo empezar con los contenedores de Linux en AWS Fargate

Amazon Elastic Container Service (Amazon ECS) es un servicio de administración de contenedores altamente escalable y rápido que facilita la ejecución, detención y administración de los contenedores. Para alojar los contenedores en una infraestructura sin servidor administrada por Amazon ECS, puede lanzar sus servicios o tareas en AWS Fargate. Para obtener más información sobre Fargate, consulte. Amazon ECS en AWS Fargate

Comience a utilizar Amazon ECS AWS Fargate utilizando el tipo de lanzamiento Fargate para sus tareas en las regiones en las que Amazon ECS admite AWS Fargate.

Para comenzar a utilizar Amazon ECS en AWS Fargate, siga estos pasos.

Requisitos previos

Antes de empezar, complete los pasos para asegurarse de que su AWS usuario tenga los permisos especificados en el ejemplo de política de AdministratorAccess IAM. Configuración para utilizar Amazon ECS

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 más información sobre cómo crear un grupo de seguridad, consulte Agregar reglas a un grupo de seguridad en la Guía del usuario de Amazon EC2 para instancias de Linux.

  • Tipo: HTTP

  • Protocolo: TCP

  • Intervalo de puertos: 80

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

Paso 1: Crear el clúster

Cree un clúster que use la VPC predeterminada.

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

  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 activar Container Insights, expanda Monitoring (Supervisión) y, a continuación, active Use Container Insights (Uso de Container Insights).

  7. (Opcional) Para ayudar a identificar el clúster, expanda Tags (Etiquetas) y, a continuación, configure sus etiquetas.

    [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.

  8. Seleccione Create (Crear).

Paso 2: Crear una definición de tarea

Una definición de tarea es una especie de plano 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.

  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 revision with JSON (Crear nueva revisión con JSON).

  3. Copie y pegue la siguiente definición de tarea de ejemplo en el cuadro y, a continuación, elija Save (Guardar).

    { "family": "sample-fargate", "networkMode": "awsvpc", "containerDefinitions": [ { "name": "fargate-app", "image": "public.ecr.aws/docker/library/httpd:latest", "portMappings": [ { "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "essential": true, "entryPoint": [ "sh", "-c" ], "command": [ "/bin/sh -c \"echo '<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> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ] } ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512" }
  4. Seleccione Crear.

Paso 3: Crear el servicio

Cree un servicio mediante la definición de tarea.

  1. En el panel de navegación, elija Clusters (Clústeres) y, a continuación, seleccione el clúster que creó en Paso 1: Crear el clúster.

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

  3. En Deployment configuration (Configuración de implementación), especifique cómo se implementa su aplicación.

    1. En Task definition (Definición de tarea), elija la definición de tarea que creó en Paso 2: Crear una definición de tarea.

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

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

  4. En Redes, puede crear un nuevo grupo de seguridad o elegir uno existente para la tarea. Asegúrese de que el grupo de seguridad que utilice tenga la regla de entrada que se indica en Requisitos previos.

  5. Seleccione Crear.

Paso 4: Ver el servicio

  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 el 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.

Paso 5: Eliminar

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 las instancias de Amazon EC2, los balanceadores de carga de Elastic Load Balancing y los grupos de Auto Scaling, deben limpiarse manualmente en la consola de Amazon EC2 o eliminando la pila que los AWS CloudFormation creó.

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

  2. En la página Clústeres, seleccione el 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.