

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.

# Implementación en Amazon EC2 Container Service
<a name="deployment-ecs"></a>

**importante**  
La nueva característica **Publicar en AWS** está diseñada para simplificar la forma de publicar aplicaciones .NET en AWS. Es posible que se le pregunte si desea cambiar a esta experiencia de publicación después de elegir **Publicar contenedor enAWS**. Para obtener más información, consulte [Uso de Publicar en AWS en Visual Studio](publish-experience.md).

Amazon Elastic Container Service es un servicio de administración de contenedores de alto desempeño y alta escalabilidad que admite contenedores de Docker y permite ejecutar fácilmente aplicaciones en un clúster administrado de instancias de Amazon EC2.

Para implementar aplicaciones en Amazon Elastic Container Service, los componentes de la aplicación se deben desarrollar para ejecutarse en un contenedor de Docker. Un contenedor Docker es una unidad estandarizada de desarrollo de software que contiene todo lo que la aplicación de software necesita para ejecutarse: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema, etc.

El Kit de herramientas para Visual Studio incluye un asistente que simplifica la publicación de aplicaciones mediante Amazon ECS. Este asistente se describe en las secciones siguientes.

Para obtener más información acerca de Amazon ECS, consulte a la documentación de [Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html). Incluye una introducción a los [aspectos básicos de Docker](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html) y a la [creación de un clúster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html).

**Topics**
+ [Especifique las credenciales AWS](deployment-ecs-specify-credentials.md)
+ [Implementación de una aplicación de ASP.NET Core 2.0 (Fargate) (heredada)](deployment-ecs-aspnetcore-fargate.md)
+ [Implementación de una aplicación de ASP.NET Core 2.0 (EC2)](deployment-ecs-aspnetcore-ec2.md)

# Especifique AWS las credenciales de la aplicación ASP.NET Core 2
<a name="deployment-ecs-specify-credentials"></a>

Existen dos tipos de credenciales cuando implementa su aplicación en un contenedor de Docker: las credenciales de implementación y las credenciales de la instancia.

El AWS asistente Publish Container utiliza las credenciales de implementación para crear el entorno en Amazon ECS. Incluyen cosas como las tareas, los servicios, los roles de IAM, un repositorio de contenedores de Docker y, si lo elige, un balanceador de carga.

La instancia utiliza las credenciales de la instancia (incluida la aplicación) para acceder a diferentes AWS servicios. Por ejemplo, si su aplicación de ASP.NET Core 2.0 lee y escribe en objetos de Amazon S3, necesitará los permisos adecuados. Puede proporcionar credenciales diferentes con métodos distintos en función del entorno. Por ejemplo, su aplicación de ASP.NET Core 2 podría estar diseñada para entornos de *desarrollo* y *producción*. Podría utilizar una instancia de Docker local y credenciales para desarrollo y un rol definido en producción.

## Especificación de credenciales de implementación
<a name="tkv-ecs-deploy-creds"></a>

La AWS cuenta que especifique en el AWS asistente **Publish Container to** es la AWS cuenta que el asistente utilizará para la implementación en Amazon ECS. El perfil de la cuenta debe tener permisos para Amazon Elastic Compute Cloud, Amazon Elastic Container Service y AWS Identity and Access Management.

Si observa que hay opciones que faltan en las listas desplegables, esto puede deberse a que carece de permisos. Por ejemplo, si ha creado un clúster para su aplicación, pero no lo ve en la página Clúster del asistente **Publicar contenedor en AWS**. añada los permisos que faltan y pruebe el asistente de nuevo.

## Especificación de credenciales de instancias de desarrollo
<a name="tkv-ecs-dev-creds"></a>

Para los entornos que no sean de producción, puede configurar sus credenciales en el archivo appsettings.<environment>.json. Por ejemplo, para configurar sus credenciales en el archivo appsettings.Development.json en Visual Studio 2017:

1. Agregue las AWSSDK .Extensions. NETCore.Setup NuGet paquete a su proyecto.

1. Añada la AWS configuración a AppSettings.Development.json. La configuración siguiente establece `Profile` y `Region`.

   ```
   {
       "AWS": {
           "Profile": "local-test-profile",
           "Region": "us-west-2"
       }
   }
   ```

## Especificación de credenciales de instancias de producción
<a name="id1"></a>

En el caso de las instancias de producción, le recomendamos que utilice un rol de IAM para controlar a lo que su aplicación (y el servicio) pueden tener acceso. Por ejemplo, para configurar un rol de IAM con Amazon ECS como la entidad principal del servicio con permisos para Amazon Simple Storage Service y Amazon DynamoDB desde la Consola de administración de AWS:

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. En el panel de navegación de la consola de IAM, seleccione Roles y, a continuación, elija Crear rol.

1. Elija el tipo de rol **Servicio de AWS ** y, a continuación, seleccione **Servicio de contenedor de EC2**.

1. Elija el caso de uso **EC2 Container Service Task (Tarea de servicio de contenedor de EC2)**. El servicio define los casos de uso para incluir la política de confianza que requiere el servicio. A continuación, elija **Siguiente: Permisos)**.

1. Elija las políticas de permisos de **Amazon S3 FullAccess** y **AmazonDynamoDBFullAccess**. Seleccione la casilla situada junto a cada política y después elija **Next: Review (Siguiente: Revisar)**.

1. En **Role name (Nombre del rol)**, escriba un nombre o sufijo de nombre para el rol que pueda ayudarle a identificar su finalidad. Los nombres de rol deben ser únicos en su cuenta de AWS . No se distingue por caso. Por ejemplo, no puede crear funciones denominado tanto `PRODROLE` como `prodrole`. Dado que varias entidades pueden hacer referencia al rol, no puede editar el nombre del rol después de crearlo.

1. (Opcional) En **Descripción de rol**, escriba una descripción para el nuevo rol.

1. Revise el rol y, a continuación, seleccione **Crear rol**.

Puede utilizar este rol como **rol de la tarea** en la página **Definición de tarea de ECS** del asistente **Publicar contenedor en AWS**.

Para obtener más información, consulte [Uso de roles basados en servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html).

# Implementación de una aplicación de ASP.NET Core 2.0 en ECS (Fargate) (heredada)
<a name="deployment-ecs-aspnetcore-fargate"></a>

**importante**  
Esta documentación hace referencia a servicios y características heredados. Para obtener guías y contenido actualizados, consulte la guía de [herramientas de implementación de .NET para AWS](https://aws.github.io/aws-dotnet-deploy/) y la Tabla de contenido actualizada de [Implementación en AWS](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-chapt.html).

En esta sección se describe cómo usar el asistente **Publicar contenedor en AWS**, que se proporciona como parte del Kit de herramientas para Visual Studio, para implementar una aplicación de ASP.NET Core 2.0 en un contenedor en Linux a través de Amazon ECS mediante el tipo de lanzamiento de Fargate. Como las aplicaciones web están diseñadas para que se ejecuten continuamente, esta aplicación se implementará como un servicio.

## Antes de publicar el contenedor
<a name="tkv-deploy-ecs-netcore-prerequisites"></a>

Antes de usar el asistente **Publicar contenedor en AWS** para implementar la aplicación de ASP.NET Core 2.0:
+  [Especifique las credenciales de AWS](deployment-ecs-specify-credentials.md) y [realice la configuración con Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/get-set-up-for-amazon-ecs.html).
+  [Instalar Docker](https://docs.docker.com/engine/installation). Dispone de diferentes opciones de instalación, entre las que se incluye [Docker para Windows](https://docs.docker.com/docker-for-windows/install/).
+ En Visual Studio, cree (o abra) un proyecto para una aplicación ASP.NET Core 2.0 en contenedor dirigida a Linux.

## Acceder al contenedor de publicación del asistente AWS
<a name="tkv-deployment-ecs-netcore-accessing"></a>

Para implementar una aplicación de ASP.NET Core 2.0 en un contenedor en Linux, haga clic con el botón derecho en Solution Explorer y seleccione **Publicar contenedor en AWS**.

![\[Context menu showing "Publish Container to AWS" option highlighted for deployment.\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step0a.png)


También puede seleccionar **Publicar contenedor en AWS** en el menú Build de Visual Studio.

## Publicar un contenedor en el AWS asistente
<a name="tkv-deploy-ecs-pubtoaws"></a>

![\[AWS Publish Container interface showing profile, Docker image, and deployment options for ECR.\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step1.png)


 **Perfil de la cuenta que se va a usar**: seleccione el perfil de la cuenta que se va a usar.

 **Region (Región)**: elija la región de implementación. El perfil y la región se utilizan para configurar los recursos del entorno de implementación y para seleccionar el registro de Docker predeterminado.

 **Configuration (Configuración)**: seleccione la configuración de compilación de la imagen de Docker.

 **Docker Repository (Repositorio de Docker)**: elija un repositorio de Docker existente o escriba el nombre de un nuevo repositorio. Este es el repositorio al que se enviará el contenedor de compilación.

 **Tag (Etiqueta)**: seleccione una etiqueta existente o escriba el nombre de una nueva etiqueta. Las etiquetas pueden realizar un seguimiento de detalles importantes como la versión, las opciones u otros elementos exclusivos de la configuración del contenedor de Docker.

 **Deployment Target (Destino de la implementación)**: seleccione **Service on an ECS Cluster (Servicio en un clúster de ECS)**. Utilice esta opción de implementación cuando su aplicación esté diseñada para ejecutarse de manera prolongada (como una aplicación web ASP.NET).

 **Guardar configuración en `aws-docker-tools-defaults.json` y configurar proyecto para la implementación de línea de comandos**: seleccione esta opción si desea poder implementar desde la línea de comandos. Use `dotnet ecs deploy` desde el directorio del proyecto para implementar y ejecute el comando `dotnet ecs publish` en el contenedor.

## Página Launch Configuration
<a name="tkv-deploy-ecs-launch-configuration"></a>

![\[AWS Launch Configuration interface for creating an empty ECS clúster with FARGATE launch type.\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step2.png)


 **ECS Cluster (Clúster de ECS)**: elija el clúster que ejecutará la imagen de Docker. Si decide crear un clúster vacío, proporcione un nombre para el nuevo clúster.

 **Launch Type (Tipo de lanzamiento)**: elija **FARGATE**.

 **CPU Maximum (vCPU) (Máxima CPU (vCPU)**: elija la cantidad máxima de capacidad de computación necesaria para su aplicación. Para ver los intervalos permitidos de valores de CPU y memoria, consulte [el tamaño de la tarea](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html).

 **Memory Maximum (GB) (Memoria máxima (GB)**: seleccione la cantidad máxima de memoria disponible para su aplicación.

 **VPC Subnets (Redes de VPC)**: elija una o varias subredes en una VPC. Si elige más de una subred, las tareas se distribuirán entre ellas. Esto puede mejorar la disponibilidad. Para obtener más información, consulte [VPC y subredes predeterminadas](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html).

 **Security Groups (Grupos de seguridad)**: elija un grupo de seguridad.

Los grupos de seguridad actúan como un firewall para las instancias asociadas de Amazon EC2 y controlan el tráfico entrante y saliente en el nivel de instancia.

 Los [grupos de seguridad predeterminados](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) están configurados para permitir el tráfico entrante de las instancias asignadas al mismo grupo de seguridad y todo el tráfico saliente IPv4 . Es necesario que el tráfico saliente esté permitido para que el servicio pueda obtener acceso al repositorio del contenedor.

 **Assign Public IP Address (Asignar dirección IP pública)**: active esta opción para hacer que su tarea esté accesible desde Internet.

## Página Service Configuration
<a name="tkv-deploy-ecs-service"></a>

![\[AWS Service Configuration interface for deploying an application with customizable parameters.\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step3.png)


 **Service (Servicio)**: seleccione uno de los servicios de la lista desplegable para implementar el contenedor en un servicio existente. O bien elija **Create New (Crear nuevo)** para crear un nuevo servicio. Los nombres de servicio deben ser únicos dentro de un clúster, pero puede tener servicios con el mismo nombre en varios clústeres dentro de una región o en varias regiones.

 **Number of Tasks (Número de tareas)**: el número de tareas que desea implementar y mantener en ejecución en el clúster. Cada tarea es una instancia de su contenedor.

 **Minimum Healthy Percent (Porcentaje mínimo en buen estado)**: el porcentaje de tareas que deben permanecer en estado `RUNNING` durante la implementación, redondeado al entero superior más próximo.

 **Maximum Percent (Porcentaje máximo)**: el porcentaje de tareas que deben permanecer en estado `RUNNING` o `PENDING` durante la implementación, redondeado al entero inferior más próximo.

## Página Application Load Balancer
<a name="tkv-deploy-ecs-app-load-balancer"></a>

![\[Application Load Balancer configuration interface for AWS with options for load balancer and target group settings.\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step4.png)


 **Configure Application Load Balancer (Configurar balanceador de carga de la aplicación)**: seleccione esta opción para configurar un balanceador de carga de la aplicación.

 **Load Balancer (Balanceador de carga)**: seleccione un balanceador de carga o elija **Create New (Crear nuevo)** y escriba el nombre de un nuevo balanceador de carga.

 **Listener Port (Puerto de escucha)**: seleccione un puerto de escucha existente o elija **Create New (Crear nuevo)** y escriba un número de puerto. El puerto predeterminado, `80`, es adecuado para la mayoría de las aplicaciones web.

 **Grupo de destino**: seleccione el grupo de destino en el que Amazon ECS, registrará las tareas del servicio.

 **Path Pattern (Patrón de ruta)**: el balanceador de carga usará el direccionamiento basado en rutas. Acepte la opción `/` predeterminada o proporcione un patrón diferente. Los patrones de ruta distinguen entre mayúsculas y minúsculas, su longitud máxima es de 128 caracteres y contienen un [conjunto específico de caracteres](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions).

 **Health Check Path (Ruta de comprobación de estado)**: la ruta de ping que es el destino para los destinos en las comprobaciones de estado. De forma predeterminada, es `/`. Especifique otra ruta si es necesario. Si la ruta que especifica no es válida, no se superará la comprobación de estado y se considerará que está en mal estado.

Si implementa varios servicios y cada servicio se implementa en una ruta o ubicación diferente, necesitará rutas de comprobación personalizadas.

## Página Task Definition
<a name="tkv-deploy-ecs-task-definition"></a>

![\[AWS Task Definition interface for configuring Docker container parameters and permissions.\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step5.png)


 **Task Definition (Definición de tarea)**: seleccione una definición de tarea existente o elija **Create New (Crear nueva)** y escriba el nombre de una nueva definición de tarea.

 **Container (Contenedor)**: seleccione un contenedor existente o elija **Create New (Crear nuevo)** y escriba el nombre de un nuevo contenedor.

 **Función de tarea**: seleccione una función de IAM que tenga las credenciales que su aplicación necesita para acceder a los servicios. AWS Así es cómo se pasan las credenciales a la aplicación. Consulte [cómo especificar credenciales de seguridad de AWS para su aplicación](deployment-ecs-specify-credentials.md).

 **Función de ejecución de tareas**: seleccione una función con permisos para extraer imágenes privadas y publicar registros. AWS Fargate lo usará en tu nombre.

 **Port Mapping (Mapeo de puerto)**: elija el número de puerto del contenedor asociado al puerto de host asignado automáticamente.

 **Environment Variables (Variables de entorno)**: añada, modifique o elimine las variables de entorno del contenedor. Puede modificarlas para adaptarlas a su implementación.

Cuando esté satisfecho con la configuración, haga clic en **Publish (Publicar)** para iniciar el proceso de implementación.

## Publishing Container en AWS
<a name="tkv-deploy-ecs-publishing"></a>

![\[AWS container publishing progress window showing steps for deploying to ECS and ECR.\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step6.png)


Los eventos se muestran durante la implementación. El asistente se cierra automáticamente una vez completado correctamente. Puede invalidarlo desactivando la casilla situada en la parte inferior de la página.

Puedes encontrar la URL de tus nuevas instancias en el AWS Explorador. Expanda Amazon ECS and Clusters y haga clic en su clúster.

# Implementación de una aplicación de ASP.NET Core 2.0 en Amazon ECS (EC2)
<a name="deployment-ecs-aspnetcore-ec2"></a>

En esta sección se describe cómo usar el asistente **Publicar contenedor en AWS**, que se proporciona como parte del Kit de herramientas para Visual Studio, para implementar una aplicación de ASP.NET Core 2.0 en un contenedor en Linux a través de Amazon ECS mediante el tipo de lanzamiento de EC2. Como las aplicaciones web están diseñadas para que se ejecuten continuamente, esta aplicación se implementará como un servicio.

## Antes de publicar el contenedor
<a name="tkv-deploy-ecs-netcore-prerequisites"></a>

Antes de usar **Publicar contenedor en AWS** para implementar la aplicación de ASP.NET Core 2.0:
+  [Especifique las credenciales de AWS](deployment-ecs-specify-credentials.md) y [realice la configuración con Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/get-set-up-for-amazon-ecs.html).
+  [Instalar Docker](https://docs.docker.com/engine/installation). Dispone de diferentes opciones de instalación, entre las que se incluye [Docker para Windows](https://docs.docker.com/docker-for-windows/install/).
+  [Cree un clúster de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-cluster.html) en función de las necesidades de su aplicación web. Para ello, solo necesita realizar unos pocos pasos.
+ En Visual Studio, cree (o abra) un proyecto para una aplicación ASP.NET Core 2.0 en contenedor dirigida a Linux.

## Acceder al contenedor de publicación del asistente AWS
<a name="tkv-deployment-ecs-netcore-accessing"></a>

Para implementar una aplicación de ASP.NET Core 2.0 en un contenedor en Linux, haga clic con el botón derecho en Solution Explorer y seleccione **Publicar contenedor en AWS**.

También puede seleccionar **Publicar contenedor en AWS** en el menú Build de Visual Studio.

## Publicar un contenedor en el AWS asistente
<a name="tkv-deploy-ecs-pubtoaws"></a>

 **Perfil de la cuenta que se va a usar**: seleccione el perfil de la cuenta que se va a usar.

 **Region (Región)**: elija una región de implementación. El perfil y la región se utilizan para configurar los recursos del entorno de implementación y para seleccionar el registro de Docker predeterminado.

 **Configuration (Configuración)**: seleccione la configuración de compilación de la imagen de Docker.

 **Docker Repository (Repositorio de Docker)**: elija un repositorio de Docker existente o escriba el nombre de un nuevo repositorio. Este es el repositorio al que se enviará la imagen del contenedor compilada.

 **Tag (Etiqueta)**: seleccione una etiqueta existente o escriba el nombre de una nueva etiqueta. Las etiquetas pueden realizar un seguimiento de detalles importantes como la versión, las opciones u otros elementos exclusivos de la configuración del contenedor de Docker.

 **Deployment (Implementación)**: seleccione **Service on an ECS Cluster (Servicio en un clúster de ECS)**. Utilice esta opción de implementación cuando su aplicación esté diseñada para ejecutarse de manera prolongada (como una aplicación web ASP.NET Core 2.0).

 **Guardar configuración en `aws-docker-tools-defaults.json` y configurar proyecto para la implementación de línea de comandos**: seleccione esta opción si desea poder implementar desde la línea de comandos. Use `dotnet ecs deploy` desde el directorio del proyecto para implementar y ejecute el comando `dotnet ecs publish` en el contenedor.

## Página Launch Configuration
<a name="tkv-deploy-ecs-launch-config"></a>

 **ECS Cluster (Clúster de ECS)**: elija el clúster que ejecutará la imagen de Docker. Puede [crear un clúster de ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html) mediante la consola AWS de administración.

 **Launch Type (Tipo de lanzamiento)**: elija EC2. Para utilizar el tipo de lanzamiento de Fargate, consulte [Implementación de una aplicación de ASP.NET Core 2.0 en Amazon ECS (Fargate)](deployment-ecs-aspnetcore-fargate.md).

## Página Service Configuration
<a name="tkv-deploy-ecs-service"></a>

 **Service (Servicio)**: seleccione uno de los servicios de la lista desplegable para implementar el contenedor en un servicio existente. O bien elija **Create New (Crear nuevo)** para crear un nuevo servicio. Los nombres de servicio deben ser únicos dentro de un clúster, pero puede tener servicios con el mismo nombre en varios clústeres dentro de una región o en varias regiones.

 **Number of Tasks (Número de tareas)**: el número de tareas que desea implementar y mantener en ejecución en el clúster. Cada tarea es una instancia de su contenedor.

 **Minimum Healthy Percent (Porcentaje mínimo en buen estado)**: el porcentaje de tareas que deben permanecer en estado `RUNNING` durante la implementación, redondeado al entero superior más próximo.

 **Maximum Percent (Porcentaje máximo)**: el porcentaje de tareas que deben permanecer en estado `RUNNING` o `PENDING` durante la implementación, redondeado al entero inferior más próximo.

 **Placement Templates (Plantillas de ubicación)**: seleccione una plantilla de ubicación de las tareas.

Cuando se lanza una tarea en un clúster, Amazon ECS debe determinar dónde ubicar la tarea en función de los requisitos especificados en la definición de tareas, tales como CPU y memoria. Del mismo modo, cuando se reduce la escala del número de tareas, Amazon ECS debe determinar qué tareas debe terminar.

La plantilla de ubicación controla el modo en que las tareas se lanzan en un clúster:
+ AZ Balanced Spread (Distribución equilibrada AZ): distribuye las tareas en las zonas de disponibilidad y entre las instancias de contenedor dentro de cada zona de disponibilidad.
+ AZ Balanced BinPack : distribuya las tareas entre las zonas de disponibilidad y entre las instancias de contenedores con la menor cantidad de memoria disponible.
+ BinPack - distribuya las tareas en función de la cantidad mínima de CPU o memoria disponible.
+ One Task Per Host (Una tarea por host): coloca como máximo una tarea del servicio en cada instancia de contenedor.

Para obtener más información, consulte [Ubicación de tareas de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement.html).

## Página Application Load Balancer
<a name="tkv-deploy-ecs-app-load-balancer"></a>

 **Configure Application Load Balancer (Configurar balanceador de carga de la aplicación)**: seleccione esta opción para configurar un balanceador de carga de la aplicación.

 **Select IAM role for service (Seleccionar rol de IAM para servicio)**: seleccione un rol existente o elija **Create New (Crear nuevo)** para crear uno nuevo.

 **Load Balancer (Balanceador de carga)**: seleccione un balanceador de carga o elija **Create New (Crear nuevo)** y escriba el nombre de un nuevo balanceador de carga.

 **Listener Port (Puerto de escucha)**: seleccione un puerto de escucha existente o elija **Create New (Crear nuevo)** y escriba un número de puerto. El puerto predeterminado, `80`, es adecuado para la mayoría de las aplicaciones web.

 **Target Group (Grupo de destino)**: de forma predeterminada, el balanceador de carga envía las solicitudes a los destinos registrados mediante el protocolo y el puerto que ha especificado para el grupo de destino. Puede anular este puerto al registrar cada destino en el grupo de destino.

 **Path Pattern (Patrón de ruta)**: el balanceador de carga usará el direccionamiento basado en rutas. Acepte la opción `/` predeterminada o proporcione un patrón diferente. Los patrones de ruta distinguen entre mayúsculas y minúsculas, su longitud máxima es de 128 caracteres y contienen un [conjunto específico de caracteres](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions).

 **Health Check Path (Ruta de comprobación de estado)**: la ruta de ping que es el destino para los destinos en las comprobaciones de estado. De forma predeterminada, es `/` y es adecuado para las aplicaciones web. Especifique otra ruta si es necesario. Si la ruta que especifica no es válida, no se superará la comprobación de estado y se considerará que está en mal estado.

Si implementa varios servicios y cada servicio se implementa en una ruta o ubicación diferente, es posible que necesite rutas de comprobación personalizadas.

## Página ECS Task Definition
<a name="tkv-deploy-ecs-task-definition"></a>

 **Task Definition (Definición de tarea)**: seleccione una definición de tarea existente o elija **Create New (Crear nueva)** y escriba el nombre de una nueva definición de tarea.

 **Container (Contenedor)**: seleccione un contenedor existente o elija **Create New (Crear nuevo)** y escriba el nombre de un nuevo contenedor.

 **Memory (MiB) (Memoria (MiB)**: proporcione valores para **Soft Limit (Límite flexible)** o **Hard Limit (Límite invariable)** o para ambos.

El *límite flexible* (en MiB) de memoria que reservar para el contenedor. Docker intenta mantener la memoria del contenedor dentro del límite flexible. El contenedor puede consumir más memoria, hasta el el límite máximo especificado con el parámetro de memoria (si procede) o toda la memoria disponible en la instancia del contenedor, lo que ocurra primero.

El *límite máximo* (en MiB) de memoria a presentar al contenedor. Si su contenedor intenta superar la memoria especificada aquí, el contenedor se cancela.

 **Función de tarea**: seleccione una función de tarea para una función de IAM que dé permiso al contenedor para llamar en su nombre a las AWS APIs funciones especificadas en sus políticas asociadas. Así es cómo se pasan las credenciales a la aplicación. Consulte [cómo especificar las credenciales AWS de seguridad para su aplicación.](deployment-ecs-specify-credentials.md)

 **Port Mapping (Asignaciones de puerto)**: añada, modifique o elimine las asignaciones de puerto del contenedor. Si hay un balanceador de carga, el puerto de host estará establecido de forma predeterminada en 0 y la asignación de puertos será dinámica.

 **Environment Variables (Variables de entorno)**: añada, modifique o elimine las variables de entorno del contenedor.

Cuando esté satisfecho con la configuración, haga clic en **Publish (Publicar)** para iniciar el proceso de implementación.

## Publicar contenedor en AWS
<a name="tkv-deploy-ecs-publishing"></a>

Los eventos se muestran durante la implementación. El asistente se cierra automáticamente una vez completado correctamente. Puede invalidarlo desactivando la casilla situada en la parte inferior de la página.

Puedes encontrar la URL de tus nuevas instancias en el AWS Explorador. Expanda Amazon ECS and Clusters y haga clic en su clúster.