

# Información sobre cómo crear una tarea de Linux de Amazon ECS para Fargate
<a name="getting-started-fargate"></a>

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, consulte [Arquitectura para AWS Fargate Amazon ECS](AWS_Fargate.md).

Comience a utilizar Amazon ECS en AWS Fargate mediante Fargate para las tareas en las regiones donde Amazon ECS admite AWS Fargate.

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

## Requisitos previos
<a name="first-run-linux-prereqs"></a>

Antes de comenzar, complete los pasos en [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md) y corrobore que su usuario de IAM disponga de los permisos que se especifican en la política de IAM `AdministratorAccess` de ejemplo.

La consola intenta crear automáticamente el rol de IAM de puesta en marcha 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:
+ El usuario tiene acceso de administrador. Para obtener más información, consulte [Configuración para utilizar Amazon ECS](get-set-up-for-amazon-ecs.md).
+ El usuario tiene los permisos de IAM para crear un rol de servicio. Para obtener más información, consulte [Creación de un rol para delegar permisos a un servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).
+ Un usuario con acceso de administrador ha creado manualmente el rol de ejecución de tareas para que se encuentre disponible en la cuenta que se va a utilizar. Para obtener más información, consulte [Rol de IAM de ejecución de tareas de Amazon ECS](task_execution_IAM_role.md).

**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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html) 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: Crear el clúster
<a name="get-started-fargate-cluster"></a>

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ústeres de Amazon ECS](security_iam_id-based-policy-examples.md#IAM_cluster_policies).

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

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

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

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

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

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

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

   [Agregar una etiqueta] Elija **Agregar 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.

1. Seleccione **Create (Crear)**.

## Paso 2: Crear una definición de tarea
<a name="get-started-fargate-task-def"></a>

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

1. Elija **Create new Task Definition** (Crear nueva definición de tarea) y **Create new revision with JSON** (Crear nueva revisión con JSON).

1. 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"
   }
   ```

1. Seleccione **Crear**.

## Paso 3: Crear el servicio
<a name="create-linux-service"></a>

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](#get-started-fargate-cluster).

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

1. En **Detalles del servicio**, especifique cómo se implementa la aplicación.

   1. En **Definición de tarea**, elija la definición de tarea que creó en [Paso 2: Crear una definición de tarea](#get-started-fargate-task-def).

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

1. En **Entorno**, elija **Tipo de lanzamiento** y, a continuación, elija `FARGATE`.

1. En **Configuración de implementación**, en **Tareas deseadas**, escriba **1**. 

1.  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](#first-run-linux-prereqs).

1. Seleccione **Crear**.

## Paso 4: Ver el servicio
<a name="view-fargate-windows"></a>

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

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

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

1. En la pestaña **Servicios**, en **Nombre del servicio**, elija el servicio que creó en [Paso 3: Crear el servicio](#create-linux-service).

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

1. En la página de tareas, en la sección **Configuración**, en **IP pública**, elija **Dirección abierta**.

## Paso 5: Eliminar
<a name="windows-fargate-cleanup"></a>

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 CloudFormation que los creó.

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

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

1. Seleccione la pestaña **Servicios**.

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

1. En la pregunta de confirmación, escriba **delete** (eliminar) y, a continuación, elija **Delete** (Eliminar). Como alternativa, puede utilizar la opción `Force delete` para que Amazon ECS reduzca verticalmente el servicio en su nombre antes de eliminarlo.

   Espere hasta que se elimine el servicio.

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