

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 de .NET en aplicaciones de Windows con Elastic Beanstalk
<a name="create_deploy_NET"></a>

**Consulte *el.NET on AWS Developer Center***  
  
¿Ha pasado por el *centro de desarrolladores de .Net*? Es nuestra ventanilla única para todo lo relacionado con .NET AWS.  
Para obtener más información, consulte el [.NET on AWS Developer Center](https://aws.amazon.com/developer/language/net).

En este capítulo se proporcionan instrucciones para configurar e implementar sus aplicaciones web ASP.NET y .NET Core para AWS Elastic Beanstalk Windows en. Elastic Beanstalk facilita la implementación, la administración y el escalado de sus aplicaciones web .NET (Windows) mediante Amazon Web Services.

Puede implementar la aplicación en solo unos minutos mediante la interfaz de línea de comandos de Elastic Beanstalk (CLI de EB) o mediante la consola de Elastic Beanstalk. Después de implementar la aplicación de Elastic Beanstalk, puede seguir utilizando la CLI de EB para administrar la aplicación y el entorno, o puede usar la consola de Elastic Beanstalk o la. AWS CLI APIs

En este capítulo se proporcionan los siguientes tutoriales:
+ [QuickStart para .NET Core en Windows](dotnet-quickstart.md)— Step-by-step instrucciones para crear e implementar una aplicación *Hello World* .NET Core para Windows mediante la CLI de EB.
+ [QuickStart para ASP.NET](aspnet-quickstart.md)— Step-by-step instrucciones para crear e implementar una aplicación ASP.NET de *Hello World* mediante. AWS Toolkit for Visual Studio

Si necesita ayuda para desarrollar aplicaciones en Windows .NET Core, hay varios lugares a los que puede acudir:
+  [Foro de desarrollo de.NET](https://forums.aws.amazon.com/forum.jspa?forumID=61): publique sus preguntas y lea comentarios.
+ [Centro de desarrolladores de .NET](https://aws.amazon.com/net/): un único lugar para obtener código de ejemplo, documentación, herramientas y recursos adicionales.
+ [AWS Documentación del SDK para .NET](https://aws.amazon.com/documentation/sdk-for-net/): obtenga información sobre la configuración del SDK y la ejecución de ejemplos de código, las características del SDK e información detallada sobre las operaciones de la API para el SDK.

**nota**  
Esta plataforma no es compatible con los entornos de trabajo. Para obtener información, consulte [Entornos de trabajo de Elastic Beanstalk](using-features-managing-env-tiers.md). 

**Topics**
+ [QuickStart: Implemente una aplicación.NET Core para Windows en Elastic Beanstalk](dotnet-quickstart.md)
+ [QuickStart: Implementar una aplicación ASP.NET en Elastic Beanstalk](aspnet-quickstart.md)
+ [Configuración del entorno de desarrollo de .NET](dotnet-devenv.md)
+ [Uso de la plataforma .NET Windows de Elastic Beanstalk](create_deploy_NET.container.console.md)
+ [Añadir una instancia de base de datos de Amazon RDS a un entorno de aplicaciones .NET](create_deploy_NET.rds.md)
+ [El AWS Toolkit for Visual Studio](dotnet-toolkit.md)
+ [Migración de la aplicación .NET local a Elastic Beanstalk](dotnet-onpremmigration.md)
+ [Recomendaciones para los componentes retirados de Windows Server en Elastic Beanstalk](dotnet-deprecation-recommendations.md)

# QuickStart: Implemente una aplicación.NET Core para Windows en Elastic Beanstalk
<a name="dotnet-quickstart"></a>

Este QuickStart tutorial explica el proceso de creación de una aplicación.NET Core para Windows e implementarla en un AWS Elastic Beanstalk entorno.

**No válido para uso en producción**  
Los ejemplos se presentan solo con fines de demostración. No utilice aplicaciones de ejemplo en producción.

**Topics**
+ [Tu AWS cuenta](#dotnet-quickstart-aws-account)
+ [Requisitos previos](#dotnet-quickstart-prereq)
+ [Paso 1: crear una aplicación de .NET Core en Windows](#dotnet-quickstart-create-app)
+ [Paso 2: ejecutar la aplicación a nivel local](#dotnet-quickstart-run-local)
+ [Paso 3: implementar la aplicación .NET Core en Windows con la CLI de EB](#dotnet-quickstart-deploy)
+ [Paso 4: ejecutar la aplicación en Elastic Beanstalk](#dotnet-quickstart-run-eb-ap)
+ [Paso 5: Eliminar](#go-tutorial-cleanup)
+ [AWS recursos para su aplicación](#dotnet-quickstart-eb-resources)
+ [Siguientes pasos](#dotnet-quickstart-next-steps)
+ [Implementar con la consola de Elastic Beanstalk](#dotnet-quickstart-console)

## Tu AWS cuenta
<a name="dotnet-quickstart-aws-account"></a>

Si aún no eres AWS cliente, debes crear una AWS cuenta. El registro le permite acceder a Elastic Beanstalk AWS y a otros servicios que necesite.

Si ya tiene una AWS cuenta, puede pasar a. [Requisitos previos](#dotnet-quickstart-prereq)

### Crea una AWS cuenta
<a name="dotnet-quickstart-aws-account-procedure"></a>

#### Inscríbase en una Cuenta de AWS
<a name="sign-up-for-aws"></a>

Si no tiene uno Cuenta de AWS, complete los siguientes pasos para crearlo.

**Para suscribirse a una Cuenta de AWS**

1. Abrir [https://portal.aws.amazon.com/billing/registro](https://portal.aws.amazon.com/billing/signup).

1. Siga las instrucciones que se le indiquen.

   Parte del procedimiento de registro consiste en recibir una llamada telefónica o mensaje de texto e indicar un código de verificación en el teclado del teléfono.

   Cuando te registras en un Cuenta de AWS, *Usuario raíz de la cuenta de AWS*se crea un. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar [Tareas que requieren acceso de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS te envía un correo electrónico de confirmación una vez finalizado el proceso de registro. En cualquier momento, puede ver la actividad de su cuenta actual y administrarla accediendo a [https://aws.amazon.com/](https://aws.amazon.com/)y seleccionando **Mi cuenta**.

#### Creación de un usuario con acceso administrativo
<a name="create-an-admin"></a>

Después de crear un usuario administrativo Cuenta de AWS, asegúrelo Usuario raíz de la cuenta de AWS AWS IAM Identity Center, habilite y cree un usuario administrativo para no usar el usuario root en las tareas diarias.

**Proteja su Usuario raíz de la cuenta de AWS**

1.  Inicie sesión [Consola de administración de AWS](https://console.aws.amazon.com/)como propietario de la cuenta seleccionando el **usuario root** e introduciendo su dirección de Cuenta de AWS correo electrónico. En la siguiente página, escriba su contraseña.

   Para obtener ayuda para iniciar sesión con el usuario raíz, consulte [Iniciar sesión como usuario raíz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) en la *Guía del usuario de AWS Sign-In *.

1. Active la autenticación multifactor (MFA) para el usuario raíz.

   Para obtener instrucciones, consulte [Habilitar un dispositivo MFA virtual para el usuario Cuenta de AWS raíz (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) en la Guía del usuario de *IAM*.

**Creación de un usuario con acceso administrativo**

1. Activar IAM Identity Center.

   Consulte las instrucciones en [Activar AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. En IAM Identity Center, conceda acceso administrativo a un usuario.

   Para ver un tutorial sobre su uso Directorio de IAM Identity Center como fuente de identidad, consulte [Configurar el acceso de los usuarios con la configuración predeterminada Directorio de IAM Identity Center en la](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) Guía del *AWS IAM Identity Center usuario*.

**Inicio de sesión como usuario con acceso de administrador**
+ Para iniciar sesión con el usuario de IAM Identity Center, use la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.

  Para obtener ayuda para iniciar sesión con un usuario del Centro de identidades de IAM, consulte [Iniciar sesión en el portal de AWS acceso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) en la *Guía del AWS Sign-In usuario*.

**Concesión de acceso a usuarios adicionales**

1. En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.

   Para conocer las instrucciones, consulte [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.

   Para conocer las instrucciones, consulte [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) en la *Guía del usuario de AWS IAM Identity Center *.

## Requisitos previos
<a name="dotnet-quickstart-prereq"></a>

Para seguir los procedimientos de esta guía, necesitará un shell o un terminal de línea de comando donde pueda ejecutar los comandos. Los comandos aparecen en listas y van precedidos del símbolo de petición (>) y del nombre del directorio actual, si es aplicable.

```
C:\eb-project> this is a command
this is output
```

### CLI DE EB
<a name="dotnet-quickstart-prereq.ebcli"></a>

En este tutorial también se utiliza la interfaz de línea de comandos de Elastic Beanstalk (CLI de EB). Para obtener detalles sobre la instalación y configuración de la CLI de EB, consulte [Instalación de la CLI de EB con el script de configuración (recomendado)](eb-cli3.md#eb-cli3-install) y [Configuración de la CLI de EB](eb-cli3-configuration.md).

### .NET Core en Windows
<a name="dotnet-quickstart-prereq.runtime"></a>

Si no tiene el SDK de .NET instalado en su máquina local, puede instalarlo en el enlace [Descargar .NET](https://dotnet.microsoft.com/en-us/download) del sitio web [Documentación de .NET](https://learn.microsoft.com/en-us/dotnet/).

Verifique la instalación del SDK de .NET con el siguiente comando.

```
C:\> dotnet --info
```

## Paso 1: crear una aplicación de .NET Core en Windows
<a name="dotnet-quickstart-create-app"></a>

Cree el directorio del proyecto.

```
C:\> mkdir eb-dotnetcore
C:\> cd eb-dotnetcore
```

A continuación, cree un ejemplo de aplicación de servicio RESTful web Hello World ejecutando los siguientes comandos.

```
C:\eb-dotnetcore> dotnet new web --name HelloElasticBeanstalk
C:\eb-dotnetcore> cd HelloElasticBeanstalk
```

## Paso 2: ejecutar la aplicación a nivel local
<a name="dotnet-quickstart-run-local"></a>

Para implementar la aplicación localmente, ejecute el siguiente comando.

```
C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet run
```

El resultado debería tener un aspecto similar al texto siguiente.

```
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:7222
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5228
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Users\Administrator\eb-dotnetcore\HelloElasticBeanstalk
```

**nota**  
El comando `dotnet` selecciona un puerto de forma aleatoria al ejecutar la aplicación localmente. En este ejemplo, el puerto es 5228. Al implementar la aplicación en el entorno de Elastic Beanstalk, la aplicación se ejecutará en el puerto 5000.

Introduzca la URL `http://localhost:port` en su navegador. Para este ejemplo específico, el comando es `http://localhost:5228`. El navegador web debería mostrar “Hello World\$1”.

## Paso 3: implementar la aplicación .NET Core en Windows con la CLI de EB
<a name="dotnet-quickstart-deploy"></a>

Ejecute los siguientes comandos para crear un entorno de Elastic Beanstalk en esta aplicación.

 

**Para crear un entorno e implementar la aplicación de .NET Core en Windows**

1. Ejecute los siguientes comandos en el directorio `HelloElasticBeanstalk` para publicar y comprimir la aplicación.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet publish -o site
   C:\eb-dotnetcore\HelloElasticBeasntalk> cd site
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> Compress-Archive -Path * -DestinationPath ../site.zip
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> cd ..
   ```

1. Cree un archivo en `HelloElasticBeanstalk` denominado `aws-windows-deployment-manifest.json` con el siguiente contenido: 

   ```
   {
       "manifestVersion": 1,
       "deployments": {
           "aspNetCoreWeb": [
           {
               "name": "test-dotnet-core",
               "parameters": {
                   "appBundle": "site.zip",
                   "iisPath": "/",
                   "iisWebSite": "Default Web Site"
               }
           }
           ]
       }
   }
   ```

1. Inicialice el repositorio de la CLI de EB con el comando **eb init**.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb init -p iis dotnet-windows-server-tutorial --region us-east-2
   ```

   Este comando crea una aplicación llamada `dotnet-windows-server-tutorial` y configura el repositorio local para crear entornos con la última versión de la plataforma de Windows Server.

1. Cree un entorno e implemente la aplicación en él con **eb create**. Elastic Beanstalk crea automáticamente un archivo zip para su aplicación y lo inicia en el puerto 5000.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb create dotnet-windows-server-env
   ```

   Elastic Beanstalk tarda aproximadamente cinco minutos en crear el entorno.

## Paso 4: ejecutar la aplicación en Elastic Beanstalk
<a name="dotnet-quickstart-run-eb-ap"></a>

Cuando finalice el proceso de creación del entorno, abra el sitio web con **eb open**.

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb open
```

¡Enhorabuena\$1 Ha implementado una aplicación .NET Core en Windows con Elastic Beanstalk. Se abre una ventana del navegador con el nombre de dominio creado para su aplicación.

## Paso 5: Eliminar
<a name="go-tutorial-cleanup"></a>

Cuando termine de trabajar con la aplicación, puede terminar el entorno. Elastic Beanstalk AWS cancela todos los recursos asociados a su entorno.

Utilice el comando siguiente de la CLI de EB para terminar su entorno de Elastic Beanstalk.

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb terminate
```

## AWS recursos para su aplicación
<a name="dotnet-quickstart-eb-resources"></a>

Acaba de crear una aplicación de instancia única. Sirve como una aplicación de muestra sencilla con una sola instancia de EC2, por lo que no requiere equilibrio de carga ni escalado automático. Para las aplicaciones de instancia única, Elastic Beanstalk crea los siguientes recursos: AWS 
+ **EC2 instance (Instancia de EC2)**: máquina virtual de Amazon EC2 configurada para ejecutar aplicaciones web en la plataforma que elija.

  Cada plataforma ejecuta un conjunto distinto de software, archivos de configuración y scripts compatibles con una determinada versión de lenguaje, marco y contenedor web (o una combinación de ellos). La mayoría de las plataformas utilizan Apache o nginx como un proxy inverso que procesa el tráfico web delante de la aplicación web, reenvía las solicitudes a esta, administra los recursos estáticos y genera registros de acceso y errores.
+ **Instance security group (Grupo de seguridad de la instancia)**: grupo de seguridad de Amazon EC2 configurado para permitir el tráfico entrante en el puerto 80. Este recurso permite que el tráfico HTTP procedente del equilibrador de carga llegue a la instancia de EC2 en la que se ejecuta la aplicación web. De forma predeterminada, el tráfico no está permitido en otros puertos.
+ **Bucket de Amazon S3**: ubicación de almacenamiento para el código fuente, los registros y otros artefactos que se crean al utilizar Elastic Beanstalk.
+ ** CloudWatch Alarmas de Amazon**: dos CloudWatch alarmas que monitorean la carga de las instancias de su entorno y se activan si la carga es demasiado alta o demasiado baja. Cuando se activa una alarma, en respuesta, el grupo de escalado automático aumenta o reduce los recursos.
+ **CloudFormation pila**: Elastic CloudFormation Beanstalk se utiliza para lanzar los recursos de su entorno y propagar los cambios de configuración. Los recursos se definen en una plantilla que puede verse en la [consola de CloudFormation](https://console.aws.amazon.com/cloudformation).
+  **Nombre de dominio***: un nombre de dominio que se dirige a su aplicación web en el formulario. *subdomain* *region*.elasticbeanstalk.com*. 

Elastic Beanstalk administra todos estos recursos. Cuando termina su entorno, Elastic Beanstalk termina todos los recursos que este contiene.

## Siguientes pasos
<a name="dotnet-quickstart-next-steps"></a>

Una vez que disponga de un entorno que ejecute una aplicación, podrá implementar una nueva versión de la aplicación o una aplicación distinta en cualquier momento. La implementación de una nueva versión de la aplicación es una tarea muy rápida, ya que no se requiere aprovisionar ni reiniciar instancias EC2. También puede explorar el nuevo entorno con la consola de Elastic Beanstalk. Para ver los pasos detallados, consulte [Explore your environment](GettingStarted.md#GettingStarted.Explore) en el capítulo *Getting started* de esta guía.

**Probar más tutoriales**  
Si desea probar otros tutoriales con diferentes aplicaciones de ejemplo, consulte [QuickStart para ASP.NET](aspnet-quickstart.md).

Después de que implemente una aplicación de muestra o dos y esté listo para comenzar a desarrollar y ejecutar las aplicaciones de .NET Core en Windows de forma local, consulte [Configuración del entorno de desarrollo de .NET](dotnet-devenv.md). 

## Implementar con la consola de Elastic Beanstalk
<a name="dotnet-quickstart-console"></a>

También puede utilizar la consola de Elastic Beanstalk para lanzar la aplicación de muestra. Para ver los pasos detallados, consulte [Create an example application](GettingStarted.md#GettingStarted.CreateApp) en el capítulo *Getting Started* de esta guía.

# QuickStart: Implementar una aplicación ASP.NET en Elastic Beanstalk
<a name="aspnet-quickstart"></a>

Este QuickStart tutorial explica el proceso de creación de una aplicación ASP.NET y su despliegue en un entorno. AWS Elastic Beanstalk 

**No válido para uso en producción**  
Los ejemplos se presentan solo con fines de demostración. No utilice aplicaciones de ejemplo en producción.

**Topics**
+ [Tu cuenta AWS](#aspnet-quickstart-aws-account)
+ [Requisitos previos](#aspnet-quickstart-prereq)
+ [Paso 1: crear una aplicación ASP .NET](#aspnet-quickstart-create-app)
+ [Paso 2: ejecutar la aplicación a nivel local](#aspnet-quickstart-run-local)
+ [Paso 3: Implemente la aplicación ASP.NET con AWS Toolkit for Visual Studio](#aspnet-quickstart-deploy)
+ [Paso 4: ejecutar la aplicación en Elastic Beanstalk](#aspnet-quickstart-run-eb-ap)
+ [Paso 5: Eliminar](#aspnet-quickstart-cleanup)
+ [AWS recursos para su aplicación](#aspnet-quickstart-eb-resources)
+ [Siguientes pasos](#aspnet-quickstart-next-steps)
+ [Implementar con la consola de Elastic Beanstalk](#aspnet-quickstart-console)

## Tu cuenta AWS
<a name="aspnet-quickstart-aws-account"></a>

Si aún no eres AWS cliente, debes crear una AWS cuenta. El registro le permite acceder a Elastic Beanstalk AWS y a otros servicios que necesite.

Si ya tiene una AWS cuenta, puede pasar a. [Requisitos previos](#aspnet-quickstart-prereq)

### Crea una AWS cuenta
<a name="aspnet-quickstart-aws-account-procedure"></a>

#### Inscríbase en una Cuenta de AWS
<a name="sign-up-for-aws"></a>

Si no tiene uno Cuenta de AWS, complete los siguientes pasos para crearlo.

**Para suscribirte a una Cuenta de AWS**

1. Abrir [https://portal.aws.amazon.com/billing/registro](https://portal.aws.amazon.com/billing/signup).

1. Siga las instrucciones que se le indiquen.

   Parte del procedimiento de registro consiste en recibir una llamada telefónica o mensaje de texto e indicar un código de verificación en el teclado del teléfono.

   Cuando te registras en un Cuenta de AWS, *Usuario raíz de la cuenta de AWS*se crea un. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar [Tareas que requieren acceso de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS te envía un correo electrónico de confirmación una vez finalizado el proceso de registro. En cualquier momento, puede ver la actividad de su cuenta actual y administrarla accediendo a [https://aws.amazon.com/](https://aws.amazon.com/)y seleccionando **Mi cuenta**.

#### Creación de un usuario con acceso administrativo
<a name="create-an-admin"></a>

Después de crear un usuario administrativo Cuenta de AWS, asegúrelo Usuario raíz de la cuenta de AWS AWS IAM Identity Center, habilite y cree un usuario administrativo para no usar el usuario root en las tareas diarias.

**Proteja su Usuario raíz de la cuenta de AWS**

1.  Inicie sesión [Consola de administración de AWS](https://console.aws.amazon.com/)como propietario de la cuenta seleccionando el **usuario root** e introduciendo su dirección de Cuenta de AWS correo electrónico. En la siguiente página, escriba su contraseña.

   Para obtener ayuda para iniciar sesión con el usuario raíz, consulte [Iniciar sesión como usuario raíz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) en la *Guía del usuario de AWS Sign-In *.

1. Active la autenticación multifactor (MFA) para el usuario raíz.

   Para obtener instrucciones, consulte [Habilitar un dispositivo MFA virtual para el usuario Cuenta de AWS raíz (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) en la Guía del usuario de *IAM*.

**Creación de un usuario con acceso administrativo**

1. Activar IAM Identity Center.

   Consulte las instrucciones en [Activar AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. En IAM Identity Center, conceda acceso administrativo a un usuario.

   Para ver un tutorial sobre su uso Directorio de IAM Identity Center como fuente de identidad, consulte [Configurar el acceso de los usuarios con la configuración predeterminada Directorio de IAM Identity Center en la](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) Guía del *AWS IAM Identity Center usuario*.

**Inicio de sesión como usuario con acceso de administrador**
+ Para iniciar sesión con el usuario de IAM Identity Center, use la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.

  Para obtener ayuda para iniciar sesión con un usuario del Centro de identidades de IAM, consulte [Iniciar sesión en el portal de AWS acceso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) en la *Guía del AWS Sign-In usuario*.

**Concesión de acceso a usuarios adicionales**

1. En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.

   Para conocer las instrucciones, consulte [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) en la *Guía del usuario de AWS IAM Identity Center *.

1. Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.

   Para conocer las instrucciones, consulte [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) en la *Guía del usuario de AWS IAM Identity Center *.

## Requisitos previos
<a name="aspnet-quickstart-prereq"></a>

 QuickStart En este tutorial se explica cómo crear una aplicación «Hello World» e implementarla en un entorno de Elastic Beanstalk con Visual Studio y el. AWS Toolkit for Visual Studio

### Visual Studio
<a name="aspnet-quickstart-prereq.vs"></a>

Para descargar e instalar Visual Studio, siga las instrucciones de la [página de descargas](https://visualstudio.microsoft.com/downloads/) de Visual Studio. En este caso se utiliza Visual Studio 2022. Durante la instalación de Visual Studio, seleccione estos elementos específicos:
+ Elija la pestaña **Cargas de trabajo** y, a continuación, seleccione **ASP.NET y desarrollo web**.
+ En la pestaña **Componentes individuales**, seleccione **Herramientas de desarrollo de.NET Framework 4.8** y **Plantillas de proyectos y elementos de .NET Framework**.

### AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-prereq.aws-vs-tk"></a>

Para descargar y configurar, AWS Toolkit for Visual Studio siga las instrucciones del tema [Introducción](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/getting-set-up.html) de la Guía del AWS Toolkit for Visual Studio usuario. 

## Paso 1: crear una aplicación ASP .NET
<a name="aspnet-quickstart-create-app"></a>

A continuación, vamos a crear una aplicación que implementará en un entorno de Elastic Beanstalk. Creación deemos una aplicación web ASP.NET “Hello World”.

**Cómo crear una aplicación ASP .NET**

1. Inicie Visual Studio. En el menú **Archivo**, seleccione **Nuevo** y, a continuación, **Proyectar**.

1. Aparece el cuadro de diálogo **Creación de nuevo proyecto**. Seleccione la **aplicación web ASP.NET (.NET Framework)** y, a continuación, seleccione **Siguiente**.

1. En el cuadro de diálogo **Configuración de nuevo proyecto**, introduzca `eb-aspnet` para el **nombre del proyecto**. En el menú desplegable **Marco**, seleccione **.NET Framework 4.8** y, a continuación, **Creación de**.

   Anote el directorio del proyecto. En este ejemplo, el directorio del proyecto es `C:\Users\Administrator\source\repos\eb-aspnet\eb-aspnet`.

1. Aparece el cuadro de diálogo **Creación de nueva aplicación web ASP.NET**. Seleccione la plantilla **Vacío**. A continuación, seleccione **Creación de**.

   En este punto, ha creado un proyecto de aplicación web ASP.NET vacío con Visual Studio. A continuación, crearemos un formulario web que servirá como punto de entrada para la aplicación web ASP.NET.

1. En el menú **Proyecto**, seleccione **Agregar nuevo elemento**. En la página **Agregar nuevo elemento**, seleccione **Formulario web** y nómbrelo `Default.aspx`. A continuación, seleccione **Agregar**.

1. Agregue lo siguiente a `Default.aspx:`:

   ```
   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="eb_aspnet.Default" %>
   
   <!DOCTYPE html>
   
   <html xmlns="https://www.w3.org/1999/xhtml">
   <head runat="server">
       <title>Hello Elastic Beanstalk!</title>
   </head>
   <body>
       <form id="body" runat="server">
           <div>
               Hello Elastic Beanstalk! This is an ASP.NET on Windows Server application.
           </div>
       </form>
   </body>
   </html>
   ```

## Paso 2: ejecutar la aplicación a nivel local
<a name="aspnet-quickstart-run-local"></a>

En Visual Studio, en el menú **Depuración**, seleccione **Iniciar depuración** para ejecutar la aplicación localmente. La página debería mostrar “Hola, Elastic Beanstalk. Esto es una aplicación de ASP.NET en Windows Server».

## Paso 3: Implemente la aplicación ASP.NET con AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-deploy"></a>

Siga estos pasos para crear un entorno de Elastic Beanstalk e implemente su nueva aplicación en él.

**Cómo crear un entorno e implementar la aplicación de ASP .NET**

1. En **Solution Explorer**, haga clic con el botón derecho en la aplicación y, a continuación, seleccione **Publicar en AWS Elastic Beanstalk**.

1. Elija un nombre para su nueva aplicación y entorno de Elastic Beanstalk.

1. Más allá de este punto, puede continuar con los valores predeterminados proporcionados por Elastic Beanstalk o modificar cualquiera de las opciones y ajustes a su gusto.

1. En la página **Revisar**, seleccione **Implementar**. De esta forma, se empaquetará la aplicación web ASP.NET y se implementará en Elastic Beanstalk.

   Elastic Beanstalk tarda aproximadamente cinco minutos en crear el entorno. La característica de implementación de Elastic Beanstalk supervisará el entorno hasta que esté disponible con el código que acaba de implementar. En la pestaña **Env:<**environment name**>**, verá el estado de su entorno.

## Paso 4: ejecutar la aplicación en Elastic Beanstalk
<a name="aspnet-quickstart-run-eb-ap"></a>

Cuando finalice el proceso de creación del entorno, la pestaña **Env:<**environment name**>** mostrará información sobre el entorno y la aplicación, incluida la URL del dominio para lanzar la aplicación. Seleccione esta dirección URL en esta pestaña o cópiela y péguela en el navegador web.

¡Enhorabuena\$1 Ha implementado una aplicación ASP .NET con Elastic Beanstalk.

## Paso 5: Eliminar
<a name="aspnet-quickstart-cleanup"></a>

Cuando termine de trabajar con la aplicación, puede terminar el entorno en AWS Toolkit for Visual Studio.

**Para terminar su entorno**

1. Expanda el nodo Elastic Beanstalk y el nodo de la aplicación en **Explorador de AWS **. Haga clic con el botón derecho en el entorno de la aplicación y seleccione **Terminate Environment (Terminar entorno)**.

1. Cuando se le pregunte, Seleccione **Yes (Sí)** para confirmar que desea terminar el entorno. Elastic Beanstalk tardará unos minutos en AWS terminar los recursos que se ejecutan en el entorno.

## AWS recursos para su aplicación
<a name="aspnet-quickstart-eb-resources"></a>

Acaba de crear una aplicación de instancia única. Sirve como una aplicación de muestra sencilla con una sola instancia de EC2, por lo que no requiere equilibrio de carga ni escalado automático. Para las aplicaciones de instancia única, Elastic Beanstalk crea los siguientes recursos: AWS 
+ **EC2 instance (Instancia de EC2)**: máquina virtual de Amazon EC2 configurada para ejecutar aplicaciones web en la plataforma que elija.

  Cada plataforma ejecuta un conjunto distinto de software, archivos de configuración y scripts compatibles con una determinada versión de lenguaje, marco y contenedor web (o una combinación de ellos). La mayoría de las plataformas utilizan Apache o nginx como un proxy inverso que procesa el tráfico web delante de la aplicación web, reenvía las solicitudes a esta, administra los recursos estáticos y genera registros de acceso y errores.
+ **Instance security group (Grupo de seguridad de la instancia)**: grupo de seguridad de Amazon EC2 configurado para permitir el tráfico entrante en el puerto 80. Este recurso permite que el tráfico HTTP procedente del equilibrador de carga llegue a la instancia de EC2 en la que se ejecuta la aplicación web. De forma predeterminada, el tráfico no está permitido en otros puertos.
+ **Bucket de Amazon S3**: ubicación de almacenamiento para el código fuente, los registros y otros artefactos que se crean al utilizar Elastic Beanstalk.
+ ** CloudWatch Alarmas de Amazon**: dos CloudWatch alarmas que monitorean la carga de las instancias de su entorno y se activan si la carga es demasiado alta o demasiado baja. Cuando se activa una alarma, en respuesta, el grupo de escalado automático aumenta o reduce los recursos.
+ **CloudFormation pila**: Elastic CloudFormation Beanstalk se utiliza para lanzar los recursos de su entorno y propagar los cambios de configuración. Los recursos se definen en una plantilla que puede verse en la [consola de CloudFormation](https://console.aws.amazon.com/cloudformation).
+  **Nombre de dominio***: un nombre de dominio que se dirige a su aplicación web en el formulario. *subdomain* *region*.elasticbeanstalk.com*. 

Elastic Beanstalk administra todos estos recursos. Cuando termina su entorno, Elastic Beanstalk termina todos los recursos que este contiene.

## Siguientes pasos
<a name="aspnet-quickstart-next-steps"></a>

Una vez que disponga de un entorno que ejecute una aplicación, podrá implementar una nueva versión de la aplicación o una aplicación distinta en cualquier momento. La implementación de una nueva versión de la aplicación es una tarea muy rápida, ya que no se requiere aprovisionar ni reiniciar instancias EC2. También puede explorar el nuevo entorno con la consola de Elastic Beanstalk. Para ver los pasos detallados, consulte [Explore your environment](GettingStarted.md#GettingStarted.Explore) en el capítulo *Getting started* de esta guía.

**Probar más tutoriales**  
Si desea probar otros tutoriales con diferentes aplicaciones de ejemplo, consulte [QuickStart para .NET Core en Windows](dotnet-quickstart.md).

Después de que implemente una aplicación de muestra o dos y esté listo para empezar a desarrollar y poner en funcionamiento las aplicaciones de ASP .NET de forma local, consulte [Configuración del entorno de desarrollo de .NET](dotnet-devenv.md). 

## Implementar con la consola de Elastic Beanstalk
<a name="aspnet-quickstart-console"></a>

También puede utilizar la consola de Elastic Beanstalk para lanzar la aplicación de muestra. Para ver los pasos detallados, consulte [Create an example application](GettingStarted.md#GettingStarted.CreateApp) en el capítulo *Getting Started* de esta guía.

# Configuración del entorno de desarrollo de .NET
<a name="dotnet-devenv"></a>

Este tema proporciona instrucciones para configurar el entorno de desarrollo de .NET Windows para probar la aplicación localmente antes de implementarla en AWS Elastic Beanstalk. También hace referencia a sitios web que proporcionan instrucciones de instalación de herramientas útiles.

**Topics**
+ [Instalación de un IDE](#dotnet-devenv-ide)
+ [Instalación del AWS Toolkit for Visual Studio](#dotnet-devenv-toolkit)

Si necesita administrar AWS los recursos desde la aplicación, instale el AWS SDK para .NET. Por ejemplo, puede utilizar Amazon S3 para almacenar y recuperar datos.

Con el AWS SDK para .NET, puede empezar en cuestión de minutos con un único paquete descargable que incluye plantillas de proyectos de Visual Studio, la AWS biblioteca.NET, ejemplos de código de C\$1 y documentación. Se proporcionan ejemplos prácticos en C\$1 sobre el uso de las bibliotecas para crear aplicaciones. Se proporcionan también tutoriales de vídeo online y documentación de referencia le que ayudarán a aprender a usar las bibliotecas y los ejemplos de código.

Para obtener más información e instrucciones de instalación, visite la [página de inicio del SDK de AWS para .NET](https://aws.amazon.com/sdk-for-net/).

## Instalación de un IDE
<a name="dotnet-devenv-ide"></a>

Los entornos de desarrollo integrados (IDEs) proporcionan una amplia gama de funciones que facilitan el desarrollo de aplicaciones. Si no ha usado un IDE para el desarrollo en .NET, pruebe Visual Studio Community para empezar.

Visite la página [Visual Studio Community](https://www.visualstudio.com/vs/community/) para descargar e instalar Visual Studio Community.

## Instalación del AWS Toolkit for Visual Studio
<a name="dotnet-devenv-toolkit"></a>

[AWS Toolkit for Visual Studio](dotnet-toolkit.md)Es un complemento de código abierto para el IDE de Visual Studio que facilita a los desarrolladores el desarrollo, la depuración y la implementación de aplicaciones.NET mediante AWS. Visite la [página de inicio de Toolkit for Visual Studio](https://aws.amazon.com/visualstudio/) para consultar las instrucciones de instalación.

# Uso de la plataforma .NET Windows de Elastic Beanstalk
<a name="create_deploy_NET.container.console"></a>

En este tema se describe cómo configurar, crear y ejecutar las aplicaciones ASP.NET y .NET Core Windows en Elastic Beanstalk.

AWS Elastic Beanstalk admite varias plataformas para diferentes versiones del marco de programación de.NET y Windows Server. Consulte [.NET en Windows Server con IIS](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) en el documento *Plataformas de AWS Elastic Beanstalk * para ver una lista completa.

Elastic [Beanstalk proporciona](command-options.md) opciones de configuración que puede usar para personalizar el software que se ejecuta EC2 en las instancias de su entorno de Elastic Beanstalk. También puede configurar las variables de entorno que necesita la aplicación, habilitar la rotación de registros en Amazon S3 y establecer la configuración del marco .NET.

En la consola de Elastic Beanstalk hay opciones de configuración disponibles para [modificar la configuración de un entorno en ejecución](environment-configuration-methods-after.md). Para evitar perder la configuración del entorno cuando lo termina, puede usar las [configuraciones guardadas](environment-configuration-savedconfig.md) para guardar la configuración y aplicarla posteriormente a otro entorno.

Para guardar la configuración en el código fuente, puede incluir [archivos de configuración](ebextensions.md). Los valores de configuración de los archivos de configuración se aplican cada vez que crea un entorno o que implementa la aplicación. También puede usar archivos de configuración para instalar paquetes, ejecutar scripts y llevar a cabo otras operaciones de personalización de instancias durante las implementaciones.

La configuración aplicada en la consola de Elastic Beanstalk anula la misma configuración en los archivos de configuración, si existe. Esto le permite tener la configuración predeterminada en los archivos de configuración y anularla con la configuración específica del entorno en la consola. Para obtener más información acerca de la prioridad y otros métodos para cambiar valores de configuración, consulte [Opciones de configuración](command-options.md).

## Configuración del entorno de .NET en la consola de Elastic Beanstalk
<a name="dotnet-console"></a>

Puede utilizar la consola de Elastic Beanstalk para habilitar la rotación de registros en Amazon S3, configurar variables que la aplicación pueda leer desde el entorno y cambiar la configuración del marco .NET.

**Para configurar el entorno de .NET en la consola de Elastic Beanstalk**

1. Abra la consola de [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) y, **en** la lista Regiones, seleccione su. Región de AWS

1. En el panel de navegación, elija **Environments** (Entornos) y, a continuación, elija el nombre del entorno en la lista.

1. En el panel de navegación, elija **Configuración**.

1. En la categoría de configuración **Actualizaciones, supervisión y registro**, seleccione **Edición de**.

### Opciones de contenedor
<a name="dotnet-console-framework"></a>
+ **Target .NET runtime (Tiempo de ejecución de .NET de destino)**: establezca en `2.0` para ejecutar CLR v2.
+ **Enable 32-bit applications (Habilitar aplicaciones de 32 bits)**: establezca en `True` para ejecutar aplicaciones de 32 bits.

### Log Options (Opciones de registro)
<a name="dotnet-console-logs"></a>

La sección Log Options tiene dos valores:
+ **Instance profile (Perfil de instancia)**: especifica el perfil de instancia que tiene permiso para obtener acceso al bucket de Amazon S3 asociado con la aplicación.
+ **Habilite la rotación de archivos de registro a Amazon S3**: especifica si los archivos de registro de las EC2 instancias de Amazon de su aplicación se copian en el bucket de Amazon S3 asociado a su aplicación.

### Propiedades del entorno
<a name="dotnet-console-properties"></a>

La sección **Propiedades del entorno** le permite especificar los ajustes de configuración del entorno en las EC2 instancias de Amazon que ejecutan su aplicación. Estos ajustes se pasan como pares clave-valor a la aplicación. Utilice `System.GetEnvironmentVariable` para leerlos. Pueden existir claves idénticas en ambos `web.config` y como propiedades de entorno. Utilice el espacio de nombres `System.Configuration` para leer valores de `web.config`.

```
NameValueCollection appConfig = ConfigurationManager.AppSettings;
string endpoint = appConfig["API_ENDPOINT"];
```

Para obtener más información, consulte [Configuración de las variables de entorno y otras opciones de software](environments-cfg-softwaresettings.md).

## El espacio de nombres aws:elasticbeanstalk:container:dotnet:apppool
<a name="dotnet-namespaces"></a>

Puede usar un [archivo de configuración](ebextensions.md) para definir opciones de configuración y realizar otras tareas de configuración en las instancias durante las implementaciones. Las opciones de configuración pueden ser [específicas de la plataforma](command-options-specific.md) o aplicarse a [todas las plataformas](command-options-general.md) del servicio de Elastic Beanstalk en su conjunto. Las opciones de configuración se organizan en *espacios de nombres*.

La plataforma .NET define opciones en el espacio de nombres `aws:elasticbeanstalk:container:dotnet:apppool` que puede utilizar para configurar el tiempo de ejecución de .NET.

En el siguiente ejemplo, el archivo de configuración muestra los ajustes de cada una de las opciones disponibles en este espacio de nombres:

**Example .ebextensions/dotnet-settings.config**  

```
option_settings:
  aws:elasticbeanstalk:container:dotnet:apppool:
    Target Runtime: 2.0
    Enable 32-bit Applications: True
```

Elastic Beanstalk cuenta con numerosas opciones de configuración para personalizar el entorno. Además de los archivos de configuración, también puede definir opciones en la consola, configuraciones guardadas, la CLI de EB o la AWS CLI. Para obtener más información, consulte [Opciones de configuración](command-options.md).

# Migración entre las versiones principales de la plataforma Windows Server de Elastic Beanstalk
<a name="dotnet-v2migration"></a>

AWS Elastic Beanstalk ha tenido varias versiones principales de su plataforma Windows Server. En esta página se describen las principales mejoras de cada versión principal y lo que se ha de tener en cuenta antes de migrar a una versión posterior.

La plataforma Windows Server se encuentra actualmente en la versión 2 (v2). Si la aplicación utiliza una versión de la plataforma de Windows Server anterior a la versión 2, le recomendamos que migre a dicha versión.

## Novedades en las versiones principales de la plataforma Windows Server
<a name="dotnet-v2migration.diffs"></a>

### Plataforma Windows Server versión 2
<a name="dotnet-v2migration.diffs.v2"></a>

La versión 2 (v2) de la plataforma Windows Server de Elastic Beanstalk se [publicó en febrero de 2019](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2019-02-21-windows-v2.html). La versión 2 acerca el comportamiento de la plataforma Windows Server al de las plataformas basadas en Linux de Elastic Beanstalk de varias maneras importantes. La versión 2 es totalmente compatible con la versión 1, lo que facilita la migración desde la versión 1.

La plataforma Windows Server ahora es compatible con lo siguiente:
+ *Control de versiones*: cada lanzamiento obtiene un nuevo número de versión y puede consultar las versiones anteriores (que aún estén disponibles) al crear y administrar los entornos.
+ *Estado mejorado*: consulte [Informes y monitoreo de estado mejorados de Elastic Beanstalk](health-enhanced.md) para obtener más información.
+ Implementaciones *inmutables* y *continuas con un lote adicional*: para ver más información sobre las políticas de implementación, consulte [Implementación de aplicaciones en entornos Elastic Beanstalk](using-features.deploy-existing-version.md).
+ *Actualizaciones inmutables*: para obtener más información acerca de los tipos de actualización, consulte [Cambios de configuración](environments-updating.md).
+ *Actualizaciones de plataformas administradas*: para obtener más información, consulte [Actualizaciones de plataforma administradas](environment-platform-update-managed.md).

**nota**  
Las nuevas características de implementación y actualización dependen del estado mejorado. Habilite el estado mejorado para utilizarlas. Para obtener más información, consulte [Habilitación de informes de estado mejorado de Elastic Beanstalk](health-enhanced-enable.md).

### Plataforma Windows Server versión 1
<a name="dotnet-v2migration.diffs.v1"></a>

La versión 1.0.0 (v1) de la plataforma Windows Server de Elastic Beanstalk se publicó en octubre de 2015. Esta versión cambia el orden en que Elastic Beanstalk procesa los comandos en [archivos de configuración](ebextensions.md) durante la creación y las actualizaciones del entorno.

Las versiones anteriores de la plataforma no tienen número de versión en el nombre de la pila de soluciones:
+ Windows Server 2012 R2 de 64 bits con IIS 8.5
+ Windows Server Core 2012 R2 de 64 bits con IIS 8.5
+ Windows Server 2012 de 64 bits con IIS 8
+ Windows Server 2008 R2 de 64 bits con IIS 7.5

En las versiones anteriores, el orden de procesamiento de los archivos de configuración no era coherente. Durante la creación del entorno, `Container Commands` se ejecutaba después de que el código fuente de la aplicación se implementaba en IIS. Durante las implementaciones en entornos en ejecución, los comandos de contenedor se ejecutaban antes de que se implementara la nueva versión. En las operaciones de escalado vertical, los archivos de configuración no se procesaban.

Además, IIS se iniciaba antes de que los comandos de contenedor se ejecutaran. Este comportamiento ha hecho que algunos clientes implementen soluciones en los comandos de contenedor, que detienen el servidor de IIS antes de que los comandos se ejecuten y lo inician de nuevo cuando se han completado.

La versión 1 corrige esta incoherencia y acerca el comportamiento de la plataforma Windows Server al de las plataformas basadas en Linux de Elastic Beanstalk. En la plataforma de la versión 1, Elastic Beanstalk siempre ejecuta los comandos de contenedor antes de iniciar el servidor de IIS.

Las pilas de la solución de la plataforma de la v1 tienen `v1` detrás de la versión de Windows Server:
+ Windows Server 2012 R2 v1.1.0 de 64 bits con IIS 8.5
+ Windows Server Core 2012 R2 v1.1.0 de 64 bits con IIS 8.5
+ Windows Server 2012 v1.1.0 de 64 bits con IIS 8
+ Windows Server 2008 R2 v1.1.0 de 64 bits con IIS 7.5

Asimismo, la plataforma de la v1 extrae el contenido del paquete de código fuente de la aplicación en `C:\staging\` antes de ejecutar los comandos de contenedor. Una vez que los comandos de contenedor se han completado, el contenido de esta carpeta se comprime en un archivo .zip y se implementa en IIS. Este flujo de trabajo le permite modificar el contenido del paquete de código fuente de la aplicación utilizando comandos o un script antes de la implementación.

## Migración desde versiones principales anteriores de la plataforma Windows Server
<a name="dotnet-v2migration.migration"></a>

Consulte en esta sección las consideraciones de migración antes de actualizar el entorno. Para actualizar la plataforma del entorno a una versión más reciente, consulte [Actualización de la versión de la plataforma del entorno de Elastic Beanstalk](using-features.platform.upgrade.md).

### De V1 a V2
<a name="dotnet-v2migration.migration.fromv1"></a>

La plataforma de Windows Server v2 no es compatible con .NET Core 1.x y 2.0. Si va a migrar su aplicación desde Windows Server v1 hasta v2 y la aplicación utiliza una de estas versiones de .NET Core, actualice la aplicación a una versión de .NET Core compatible con v2. Para ver una lista de versiones compatibles, consulte [.NET en Windows Server con IIS](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) en *Plataformas de AWS Elastic Beanstalk *.

Si la aplicación utiliza una imagen de máquina de Amazon (Amazon Machine Image, AMI) personalizada, cree una nuevo AMI personalizada basada en una AMI de la plataforma de Windows Server v2. Para obtener más información, consulte [Uso de una imagen de máquina de Amazon (AMI) personalizada en el entorno de Elastic Beanstalk](using-features.customenv.md).

**nota**  
Las características de implementación y actualización que son nuevas en Windows Server v2 dependen del estado mejorado. Al migrar un entorno a v2, el estado mejorado está deshabilitado. Habilítelo para utilizar estas características. Para obtener más información, consulte [Habilitación de informes de estado mejorado de Elastic Beanstalk](health-enhanced-enable.md).

### Antes de la versión 1
<a name="dotnet-v2migration.migration.fromv0"></a>

Además de las cuestiones relativas a la migración desde v1, si va a migrar la aplicación desde una pila de soluciones de Windows Server anterior a la v1 y actualmente utiliza comandos de contenedor, quite los comandos que haya agregado para evitar incoherencias de procesamiento al migrar a una versión más reciente. A partir de la v1, está garantizado que los comandos de contenedores se van a ejecutar por completo antes de que el código fuente de la aplicación que se implementa y antes de que IIS se inicie. Esto le permite realizar cambios en el código fuente en `C:\staging` y modificar los archivos de configuración de IIS durante este paso sin problemas.

Por ejemplo, puede utilizar el AWS CLI para descargar un archivo DLL a la fuente de la aplicación desde Amazon S3:

`.ebextensions\copy-dll.config`

```
container_commands:
  copy-dll:
    command: aws s3 cp s3://amzn-s3-demo-bucket/dlls/large-dll.dll .\lib\
```

Para obtener más información sobre cómo usar archivos de configuración, consulte [Personalización avanzada de entornos con archivos de configuración (`.ebextensions`)](ebextensions.md).

# Ejecutar múltiples aplicaciones y aplicaciones centrales ASP.NET con un manifiesto de implementación
<a name="dotnet-manifest"></a>

Puede utilizar un manifiesto de implementación para indicarle a Elastic Beanstalk cómo se va a implementar la aplicación. Al utilizar este método, no es necesario utilizar `MSDeploy` para generar un paquete de código fuente para una única aplicación ASP.NET que se ejecuta en la ruta raíz del sitio web. En su lugar, puede utilizar un archivo de manifiesto para ejecutar varias aplicaciones en rutas diferentes. O bien, puede indicarle a Elastic Beanstalk que implemente y ejecute la aplicación con ASP.NET Core. También puede utilizar un manifiesto de implementación para configurar un grupo de aplicaciones en el que ejecutará las aplicaciones.

Los manifiestos de implementación añaden compatibilidad con las [aplicaciones de .NET Core](#dotnet-manifest-dotnetcore) en Elastic Beanstalk. Puede implementar una aplicación.NET Framework sin un manifiesto de implementación. Sin embargo, las aplicaciones.NET Core requieren un manifiesto de implementación para ejecutarse en Elastic Beanstalk. Si utiliza un manifiesto de implementación, debe crear un archivo del sitio para cada aplicación y empaquetar todos ellos después en un segundo ZIP que contenga el manifiesto de implementación.

Los manifiestos de implementación también brindan la posibilidad de [ejecutar varias aplicaciones en diferentes rutas](#dotnet-manifest-multiapp). Un manifiesto de implementación define una serie de objetivos de implementación, cada uno de ellos con un archivo del sitio y una ruta en la que IIS debe ejecutarse. Por ejemplo, puede ejecutar una API web en la ruta `/api` para que atienda las solicitudes asincrónicas y una aplicación web en la ruta raíz que utilice la API.

Puede usar un manifiesto de implementación para [configurar sitios web de IIS con enlaces personalizados y rutas físicas](#dotnet-manifest-websites). Esto le permite configurar sitios web que escuchen los nombres de puertos o hosts específicos antes de implementar las aplicaciones.

También puede utilizar un manifiesto de implementación para [ejecutar varias aplicaciones mediante grupos de aplicaciones en IIS o Kestrel](#dotnet-manifest-apppool). Puede configurar un grupo de aplicaciones para reiniciar las aplicaciones periódicamente, ejecutar aplicaciones de 32 bits o utilizar una versión específica del entorno de ejecución de .NET Framework.

Para una personalización completa, puede [escribir sus propios scripts de implementación](#dotnet-manifest-custom) en Windows PowerShell e indicar a Elastic Beanstalk qué scripts debe ejecutar para instalar, desinstalar y reiniciar la aplicación.

El manifiesto de implementación y las características relacionadas requieren una plataforma de Windows Server [versión 1.2.0 o posterior](dotnet-v2migration.md).

Para obtener información detallada sobre todas las opciones de configuración, propiedades y características avanzadas disponibles, como omitir los restablecimientos de IIS, consulte [deployment manifest schema reference](dotnet-manifest-schema.md).

**Topics**
+ [Aplicaciones de .NET Core](#dotnet-manifest-dotnetcore)
+ [Ejecutar múltiples aplicaciones](#dotnet-manifest-multiapp)
+ [Configurar sitios web de IIS](#dotnet-manifest-websites)
+ [Uso de enrutamiento de solicitudes de aplicaciones (ARR)](#dotnet-manifest-arr)
+ [Configuración de grupos de aplicaciones](#dotnet-manifest-apppool)
+ [Definir implementaciones personalizadas](#dotnet-manifest-custom)
+ [Referencia del esquema del manifiesto de implementación](dotnet-manifest-schema.md)

## Aplicaciones de .NET Core
<a name="dotnet-manifest-dotnetcore"></a>

Puede utilizar un manifiesto de implementación para ejecutar aplicaciones .NET Core en Elastic Beanstalk. .NET Core es una versión multiplataforma de .NET que incluye una herramienta de línea de comandos (`dotnet`). Puede utilizarla para generar una aplicación, ejecutarla localmente y prepararla para su publicación.

Para ejecutar una aplicación de .NET Core en Elastic Beanstalk, puede ejecutar `dotnet publish` y empaquetar la salida en un archivo ZIP, sin incluir los directorios que contiene. Coloque el archivo del sitio en un paquete de código fuente con un manifiesto de implementación que tenga un destino de implementación de tipo `aspNetCoreWeb`.

El siguiente manifiesto de implementación ejecuta una aplicación de .NET Core desde un archivo del sitio llamado `dotnet-core-app.zip` situado en la ruta raíz.

**Example aws-windows-deployment-manifest.json: .NET core**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "archive": "dotnet-core-app.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Empaquete el manifiesto y el archivo del sitio en un ZIP para crear un paquete de código fuente.

**Example dotnet-core-bundle.zip**  

```
.
|-- aws-windows-deployment-manifest.json
`-- dotnet-core-app.zip
```

El archivo del sitio contiene el código compilado de la aplicación, las dependencias y el archivo `web.config`.

**Example dotnet-core-app.zip**  

```
.
|-- Microsoft.AspNetCore.Hosting.Abstractions.dll
|-- Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
|-- Microsoft.AspNetCore.Hosting.dll
|-- Microsoft.AspNetCore.Http.Abstractions.dll
|-- Microsoft.AspNetCore.Http.Extensions.dll
|-- Microsoft.AspNetCore.Http.Features.dll
|-- Microsoft.AspNetCore.Http.dll
|-- Microsoft.AspNetCore.HttpOverrides.dll
|-- Microsoft.AspNetCore.Server.IISIntegration.dll
|-- Microsoft.AspNetCore.Server.Kestrel.dll
|-- Microsoft.AspNetCore.WebUtilities.dll
|-- Microsoft.Extensions.Configuration.Abstractions.dll
|-- Microsoft.Extensions.Configuration.EnvironmentVariables.dll
|-- Microsoft.Extensions.Configuration.dll
|-- Microsoft.Extensions.DependencyInjection.Abstractions.dll
|-- Microsoft.Extensions.DependencyInjection.dll
|-- Microsoft.Extensions.FileProviders.Abstractions.dll
|-- Microsoft.Extensions.FileProviders.Physical.dll
|-- Microsoft.Extensions.FileSystemGlobbing.dll
|-- Microsoft.Extensions.Logging.Abstractions.dll
|-- Microsoft.Extensions.Logging.dll
|-- Microsoft.Extensions.ObjectPool.dll
|-- Microsoft.Extensions.Options.dll
|-- Microsoft.Extensions.PlatformAbstractions.dll
|-- Microsoft.Extensions.Primitives.dll
|-- Microsoft.Net.Http.Headers.dll
|-- System.Diagnostics.Contracts.dll
|-- System.Net.WebSockets.dll
|-- System.Text.Encodings.Web.dll
|-- dotnet-core-app.deps.json
|-- dotnet-core-app.dll
|-- dotnet-core-app.pdb
|-- dotnet-core-app.runtimeconfig.json
`-- web.config
```

## Ejecutar múltiples aplicaciones
<a name="dotnet-manifest-multiapp"></a>

Para ejecutar varias aplicaciones con un manifiesto de implementación, debe definir diferentes objetivos de implementación.

El manifiesto de implementación siguiente configura dos aplicaciones .NET Core. La aplicación `WebApiSampleApp` implementa una API web simple y sirve solicitudes asíncronas en la ruta `/api`. La aplicación `DotNetSampleApp` es una aplicación web que atiende solicitudes en la ruta raíz.

**Example aws-windows-deployment-manifest.json: múltiples aplicaciones**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "WebAPISample",
        "parameters": {
          "appBundle": "WebApiSampleApp.zip",
          "iisPath": "/api"
        }
      },
      {
        "name": "DotNetSample",
        "parameters": {
          "appBundle": "DotNetSampleApp.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Aquí hay disponible una aplicación de muestra con varias aplicaciones:
+ **[Paquete de código fuente desplegable: -v2.zip dotnet-multiapp-sample-bundle](samples/dotnet-multiapp-sample-bundle-v2.zip)**
+ **Código fuente**[: -v2.zip dotnet-multiapp-sample-source](samples/dotnet-multiapp-sample-source-v2.zip)

## Configurar sitios web de IIS
<a name="dotnet-manifest-websites"></a>

Puede configurar sitios web de IIS con enlaces personalizados y rutas físicas mediante el manifiesto de implementación. Esto resulta útil cuando necesita configurar sitios web que escuchen en puertos específicos, usen nombres de host personalizados o publiquen contenido de directorios específicos.

El siguiente manifiesto de implementación configura un sitio web de IIS personalizado que escucha en HTTP con un número de puerto específico y una ruta física personalizada:

**Example aws-windows-deployment-manifest.json: configuración del sitio web de IIS**  

```
{
  "manifestVersion": 1,
  "iisConfig": {
    "websites": [
      {
        "name": "MyCustomSite",
        "physicalPath": "C:\inetpub\wwwroot\mysite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "mysite.local"
          }
        ]
      }
    ]
  },
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "appBundle": "dotnet-core-app.zip",
          "iisWebSite": "MyCustomSite",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

En este ejemplo:
+ Se crea un sitio web denominado MyCustomSite "» con una ruta física personalizada
+ El sitio web tiene un enlace HTTP en el puerto 8080 con un nombre de host específico.
+ La aplicación ASP.NET Core se implementa en este sitio web personalizado mediante el parámetro `iisWebSite`.

## Uso de enrutamiento de solicitudes de aplicaciones (ARR)
<a name="dotnet-manifest-arr"></a>

Los módulos Application Request Routing (ARR) y URL Rewrite vienen preinstalados y están disponibles en Elastic Beanstalk Windows. AMIs Estos módulos permiten escenarios de enrutamiento avanzados y la manipulación de URL mediante la configuración de IIS con configuración de ebextensions o aplicaciones.

El siguiente ejemplo muestra un manifiesto de implementación simple que configura un sitio web con un puerto personalizado, combinado con una configuración de ebextensions que establece el enrutamiento de ARR básico:

**Example aws-windows-deployment-manifest.json: configuración ARR sencilla**  

```
{
  "manifestVersion": 1,
  "iisConfig": {
    "websites": [
      {
        "name": "ARRSite",
        "physicalPath": "C:\\inetpub\\wwwroot\\arrsite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "localhost"
          }
        ]
      }
    ]
  },
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "BackendApp",
        "parameters": {
          "appBundle": "backend-app.zip",
          "iisWebSite": "ARRSite",
          "iisPath": "/backend"
        }
      }
    ]
  }
}
```

La configuración de ARR se realiza a través de ebextensions. La siguiente configuración establece las reglas básicas de enrutamiento de ARR:

**Example .ebextensions/arr-config.config: configuración básica de ARR**  

```
files:
  "C:\\temp\\configure-arr.ps1":
    content: |
      # Enable ARR proxy at server level
      Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/proxy' -Name 'enabled' -Value 'True'
      
      # Clear any existing global rules to avoid conflicts
      Clear-WebConfiguration -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/rewrite/globalRules'

      # Add global rule to route all requests to backend
      Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' `
        -Filter 'system.webServer/rewrite/globalRules' `
        -Name '.' `
        -Value @{
          name = 'Route_to_Backend'
          stopProcessing = 'True'
          match = @{ url = '^(?!backend/)(.*)' }
          action = @{
            type = 'Rewrite'
            url = 'http://localhost:8080/backend/{R:1}'
          }
        }

container_commands:
  01_configure_arr:
    command: powershell -ExecutionPolicy Bypass -File "C:\\temp\\configure-arr.ps1"
    waitAfterCompletion: 0
```

Esta configuración crea un sitio web en el puerto 8080 y configura ARR para enrutar todas las solicitudes entrantes a la aplicación de backend que se ejecuta en ese sitio.

## Configuración de grupos de aplicaciones
<a name="dotnet-manifest-apppool"></a>

Puede admitir varias aplicaciones en su entorno Windows. Hay dos enfoques disponibles:
+ Puede usar el modelo de out-of-process alojamiento con el servidor web Kestrel. Con este modelo, puede configurar varias aplicaciones para que se ejecuten en un grupo de aplicaciones.
+ Puede utilizar el modelo de alojamiento en proceso. Con este modelo, se utilizan varios grupos de aplicaciones para ejecutar varias aplicaciones con una sola aplicación en cada grupo. Si utiliza el servidor IIS y necesita ejecutar varias aplicaciones, debe utilizar este enfoque.

Si desea configurar Kestrel para que ejecute varias aplicaciones en un grupo de aplicaciones, agregue `hostingModel="OutofProcess"` en el archivo `web.config`. Considere los siguientes ejemplos:

**Example web.config: para el modelo de alojamiento de Kestrel out-of-process**  

```
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add 
    name="aspNetCore" 
    path="*" verb="*" 
    modules="AspNetCoreModuleV2" 
    resourceType="Unspecified" />
</handlers>
<aspNetCore 
    processPath="dotnet" 
    arguments=".\CoreWebApp-5-0.dll" 
    stdoutLogEnabled="false" 
    stdoutLogFile=".\logs\stdout" 
    hostingModel="OutofProcess" />
</system.webServer>
</location>
</configuration>
```

**Example aws-windows-deployment-manifest.json: múltiples aplicaciones**  

```
{
"manifestVersion": 1,
  "deployments": {"msDeploy": [
      {"name": "Web-app1",
        "parameters": {"archive": "site1.zip",
          "iisPath": "/"
        }
      },
      {"name": "Web-app2",
        "parameters": {"archive": "site2.zip",
          "iisPath": "/app2"
        }
      }
    ]
  }
}
```

IIS no admite varias aplicaciones en un grupo de aplicaciones porque utiliza el modelo de alojamiento en proceso. Por lo tanto, debe configurar varias aplicaciones mediante la asignación de cada aplicación a un grupo de aplicaciones. En otras palabras, asigne solo una aplicación a un grupo de aplicaciones.

Puede configurar IIS para que use diferentes grupos de aplicaciones en el archivo `aws-windows-deployment-manifest.json`. Realice las siguientes actualizaciones al consultar el siguiente archivo de ejemplo:
+ Agregue una sección `iisConfig` que incluya una subsección llamada `appPools`.
+ En el bloque `appPools`, enumere los grupos de aplicaciones. 
+ En la sección `deployments`, defina una sección `parameters` para cada aplicación.
+ Para cada aplicación, la sección `parameters` especifica un archivo, una ruta de acceso para ejecutarlo y una `appPool` en la que se ejecutará.

El siguiente manifiesto de implementación configura dos grupos de aplicaciones que reinician su aplicación cada 10 minutos. También adjuntan sus aplicaciones a una aplicación web .NET Framework que se ejecuta en la ruta especificada.

**Example aws-windows-deployment-manifest.json: una aplicación por grupo de aplicaciones**  

```
{
"manifestVersion": 1,
  "iisConfig": {"appPools": [
      {"name": "MyFirstPool",
       "recycling": {"regularTimeInterval": 10}
      },
      {"name": "MySecondPool",
       "recycling": {"regularTimeInterval": 10}
      }
     ]
    },
  "deployments": {"msDeploy": [
      {"name": "Web-app1",
        "parameters": {
           "archive": "site1.zip",
           "iisPath": "/",
           "appPool": "MyFirstPool"
           }
      },
      {"name": "Web-app2",
        "parameters": {
           "archive": "site2.zip",
           "iisPath": "/app2",
           "appPool": "MySecondPool"
          }
      }
     ]
    }
}
```

## Definir implementaciones personalizadas
<a name="dotnet-manifest-custom"></a>

Para tener aún más control, puede personalizar completamente la implementación de una aplicación y definir una *implementación personalizada*.

Este manifiesto de implementación indica a Elastic Beanstalk PowerShell que ejecute scripts en modo de 32 bits. [Especifica tres scripts: un `install` script (`siteInstall.ps1`) que se ejecuta durante el lanzamiento y las implementaciones de la instancia, un `uninstall` script (`siteUninstall.ps1`) que se ejecuta antes de instalar nuevas versiones durante las implementaciones y un `restart` script (`siteRestart.ps1`) que se ejecuta al seleccionar Restart App Server en la consola de administración.](environments-dashboard-actions.md) AWS 

**Example aws-windows-deployment-manifest.json: implementación personalizada**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "custom": [
      {
        "name": "Custom site",
        "architecture" : 32,
        "scripts": {
          "install": {
            "file": "siteInstall.ps1"
          },
          "restart": {
            "file": "siteRestart.ps1"
          },
          "uninstall": {
            "file": "siteUninstall.ps1"
          }
        }
      }
    ]
  }
}
```

Incluya los artefactos necesarios para ejecutar la aplicación en el paquete de código fuente con el manifiesto y los scripts.

**Example Custom-site-bundle: .zip**  

```
.
|-- aws-windows-deployment-manifest.json
|-- siteInstall.ps1
|-- siteRestart.ps1
|-- siteUninstall.ps1
`-- site-contents.zip
```

# Referencia del esquema del manifiesto de implementación
<a name="dotnet-manifest-schema"></a>

El manifiesto de implementación es un archivo JSON que define cómo Elastic Beanstalk debe implementar y configurar las aplicaciones de Windows. En esta sección se proporciona una referencia completa de todas las propiedades y opciones de configuración compatibles en el esquema del manifiesto.

## Estructura del manifiesto
<a name="dotnet-manifest-schema-structure"></a>

El manifiesto de implementación sigue un esquema JSON específico con la siguiente estructura de nivel superior:

**Example Estructura básica del manifiesto**  

```
{
  "manifestVersion": 1,
  "skipIISReset": false,
  "iisConfig": {
    "websites": [...],
    "appPools": [...]
  },
  "deployments": {
    "msDeploy": [...],
    "aspNetCoreWeb": [...],
    "custom": [...]
  }
}
```

### Propiedades de nivel superior
<a name="dotnet-manifest-schema-top-level"></a>

`manifestVersion` (obligatorio)  
*Tipo*: Número  
*Valor predeterminado*: 1  
*Valores válidos: 1*  
Especifica la versión del esquema del manifiesto. Actualmente, solo se admite la versión 1.

`skipIISReset` (opcional)  
*Tipo*: Booleano  
*Valor predeterminado:* falso  
Controla si IIS se restablece durante las implementaciones de aplicaciones. Este indicador afecta a los tipos de implementación `msDeploy` y `aspNetCoreWeb`.  
*Comportamiento:*  
+ *No especificado o `false` (predeterminado):* los restablecimientos de IIS se realizan durante las operaciones de instalación, desinstalación y actualización. Este es el comportamiento tradicional.
+ *`true`:* los restablecimientos de IIS se omiten durante las operaciones de implementación.
*Beneficios:*  
+ *Menor tiempo de inactividad*: las aplicaciones experimentan interrupciones de servicio más breves durante las implementaciones.
+ *Implementaciones más rápidas*: elimina el tiempo necesario para que IIS se reinicie y reinicialice por completo.
Cuando se utiliza`skipIISReset`, la [RestartAppServer](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RestartAppServer.html)operación restablece el IIS independientemente de la configuración de este indicador.
*Ejemplo:*  

```
{
  "manifestVersion": 1,
  "skipIISReset": true,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "archive": "dotnet-core-app.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

`deployments` (obligatorio)  
*Tipo:* objeto  
Contiene las configuraciones de implementación de sus aplicaciones. Este objeto puede tipos de implementación `msDeploy`, `aspNetCoreWeb` y `custom`.

`iisConfig` (opcional)  
*Tipo:* objeto  
Define las opciones de configuración de IIS que se deben aplicar antes de implementar las aplicaciones. Admite la configuración de sitios web y grupos de aplicaciones.

## Configuraciones de IIS
<a name="dotnet-manifest-schema-iis-config"></a>

Esta sección de `iisConfig` le permite configurar los ajustes de IIS antes de implementar las aplicaciones. Esto incluye configurar grupos de aplicaciones con configuraciones específicas y configurar sitios web de IIS con enlaces personalizados.

### Sitios web de IIS
<a name="dotnet-manifest-schema-websites"></a>

Los sitios web de IIS le permiten configurar ajustes personalizados de sitios web, incluidas las rutas físicas y los enlaces de red, antes de implementar las aplicaciones.

**Consideraciones importantes para la creación de sitios web de IIS diferentes**  
*Orden de configuración de los sitios web:* los sitios web se configuran secuencialmente en el orden en que aparecen en la matriz de `websites`. La plataforma procesa la configuración de cada sitio web en secuencia, así que asegúrese de ordenarlos correctamente si tiene dependencias entre sitios web.
*Firewall y acceso a puertos:* solamente el puerto 80 se expone automáticamente a través de la configuración predeterminada del firewall de Windows de Elastic Beanstalk. Si configura los sitios web para que utilicen puertos no estándar, debe definir reglas de firewall personalizadas mediante extensiones electrónicas o scripts de implementación personalizados para permitir el acceso externo a estos puertos.

**Example Configuración de sitios web**  

```
{
  "iisConfig": {
    "websites": [
      {
        "name": "MyCustomSite",
        "physicalPath": "C:\inetpub\wwwroot\mysite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "mysite.local"
          },
          {
            "protocol": "https",
            "port": 8443
          }
        ]
      }
    ]
  }
}
```Propiedades de sitios web

`name` (obligatorio)  
*Tipo:* cadena  
El nombre del sitio web de IIS. Este nombre se utiliza para identificar el sitio web en el Administrador de IIS y debe ser único en la configuración de IIS.

`physicalPath` (obligatorio)  
*Tipo:* cadena  
Ruta física en el servidor en el que se almacenan los archivos del sitio web. El proceso de trabajo de IIS debe poder acceder a esta ruta.

`bindings` (obligatorio)  
*Tipo*: Array  
*Elementos mínimos:* 1  
Conjunto de configuraciones de enlace que definen la forma en que el sitio web responde a las solicitudes de la red. Cada enlace especifica un protocolo, un puerto y un nombre de host opcional.

#### Enlaces de sitios web
<a name="dotnet-manifest-schema-bindings"></a>

Los enlaces de sitios web definen los puntos de conexión de la red en los que su sitio web de IIS escuchará las solicitudes entrantes.

`protocol` (obligatorio)  
*Tipo:* cadena  
*Valores válidos:* «http», «https»  
El protocolo utilizado para el enlace.

`port` (obligatorio)  
*Tipo*: entero  
*Rango válido: 1-65535*  
El número de puerto en el que el sitio web escuchará las solicitudes.

`hostName` (opcional)  
*Tipo:* cadena  
El nombre de host (nombre de dominio) del enlace.

### Grupos de aplicaciones
<a name="dotnet-manifest-schema-app-pools"></a>

Los grupos de aplicaciones proporcionan aislamiento entre las aplicaciones y permiten configurar los ajustes de tiempo de ejecución para grupos de aplicaciones.

**Example Configuración de grupos de aplicaciones**  

```
{
  "iisConfig": {
    "appPools": [
      {
        "name": "MyAppPool",
        "enable32Bit": false,
        "managedPipelineMode": "Integrated",
        "managedRuntimeVersion": "v4.0",
        "queueLength": 1000,
        "cpu": {
          "limitPercentage": 80,
          "limitAction": "Throttle",
          "limitMonitoringInterval": 5
        },
        "recycling": {
          "regularTimeInterval": 1440,
          "requestLimit": 10000,
          "memory": 1048576,
          "privateMemory": 524288
        }
      }
    ]
  }
}
```Propiedades de grupos de aplicaciones

`name` (obligatorio)  
*Tipo:* cadena  
Nombre del grupo de aplicaciones. Este nombre se usa para hacer referencia al grupo en las configuraciones de implementación.

`enable32Bit` (opcional)  
*Tipo*: Booleano  
Permite que una aplicación de 32 bits se ejecute en una versión de 64 bits de Windows. Se configura en `true` para aplicaciones heredadas que requieren compatibilidad de 32 bits.

`managedPipelineMode` (opcional)  
*Tipo:* cadena  
*Valores válidos:* «Integrado», «Clásico»  
Especifica el modo de procesamiento de solicitudes para el grupo de aplicaciones.

`managedRuntimeVersion` (opcional)  
*Tipo:* cadena  
*Valores válidos:* «Sin código administrado», «v2.0», «v4.0»  
Especifica la versión de .NET Framework a la que apunta la aplicación.

`queueLength` (opcional)  
*Tipo*: entero  
Número máximo de solicitudes que HTTP.sys pone en cola para el grupo de aplicaciones antes de rechazar solicitudes adicionales.

#### Configuración de la CPU
<a name="dotnet-manifest-schema-cpu-config"></a>

El objeto `cpu` configura los límites de uso de la CPU y el monitoreo del grupo de aplicaciones.

`limitPercentage` (opcional)  
*Tipo*: Número  
Porcentaje máximo de tiempo de CPU que pueden consumir los procesos de trabajo del grupo de aplicaciones.

`limitAction` (opcional)  
*Tipo:* cadena  
*Valores válidos:* "NoAction«, «KillW3WP», «Throttle», "» ThrottleUnderLoad  
Acción que se debe realizar cuando se alcanza el límite de la CPU.

`limitMonitoringInterval` (opcional)  
*Tipo*: Número  
Período de restablecimiento (en minutos) de los límites de monitoreo y limitación de la CPU.

#### Configuración de reciclaje
<a name="dotnet-manifest-schema-recycling-config"></a>

El objeto `recycling` configura cuándo y cómo se reciclan los procesos de trabajo del grupo de aplicaciones.

`regularTimeInterval` (opcional)  
*Tipo*: entero  
Intervalo de tiempo (en minutos) tras el cual se recicla el grupo de aplicaciones. Configúrelo en 0 para deshabilitar el reciclaje en función del tiempo.

`requestLimit` (opcional)  
*Tipo*: entero  
Número máximo de solicitudes que el grupo de aplicaciones procesa antes del reciclaje.

`memory` (opcional)  
*Tipo*: entero  
Cantidad de memoria virtual (en kilobytes) que activa el reciclaje de los procesos de trabajo.

`privateMemory` (opcional)  
*Tipo*: entero  
Cantidad de memoria privada (en kilobytes) que activa el reciclaje de los procesos de trabajo.

## Tipos de implementación
<a name="dotnet-manifest-schema-deployments"></a>

El objeto `deployments` contiene matrices de configuraciones de implementación para distintos tipos de aplicaciones. Cada tipo de implementación tiene propiedades y casos de uso específicos.

### MSDeploy despliegues
<a name="dotnet-manifest-schema-msdeploy"></a>

MSDeploy las implementaciones se utilizan para las aplicaciones tradicionales de.NET Framework que se pueden implementar mediante Web Deploy ()MSDeploy.

**Example MSDeploy configuración de despliegue**  

```
{
  "deployments": {
    "msDeploy": [
      {
        "name": "WebApp",
        "description": "Main web application",
        "parameters": {
          "appBundle": "webapp.zip",
          "iisPath": "/",
          "appPool": "DefaultAppPool"
        }
      }
    ]
  }
}
```MSDeploy propiedades de despliegue

`name` (obligatorio)  
*Tipo:* cadena  
Nombre único de la implementación. Este nombre debe ser único en todas las implementaciones del manifiesto.

`description` (opcional)  
*Tipo:* cadena  
Descripción inteligible de la implementación.

`parameters` (obligatorio)  
*Tipo:* objeto  
Parámetros de configuración de la MSDeploy operación.

`scripts` (opcional)  
*Tipo:* objeto  
PowerShell scripts que se ejecutarán en diversas etapas del ciclo de vida de la implementación.

#### MSDeploy parámetros
<a name="dotnet-manifest-schema-msdeploy-parameters"></a>

`appBundle` (obligatorio)  
*Tipo:* cadena  
Ruta al paquete de aplicaciones (archivo ZIP) en relación con el archivo de manifiesto. Este paquete contiene los archivos de la aplicación que se implementarán.

`iisWebSite` (opcional)  
*Tipo:* cadena  
*Predeterminado:* «Sitio web predeterminado»  
El sitio web de IIS en el que se implementará la aplicación. De forma predeterminada, las aplicaciones se implementan en el «sitio web predeterminado». Si lo desea, puede especificar un nombre de sitio web diferente, como uno configurado en la sección `iisConfig.websites`.

`iisPath` (opcional)  
*Tipo:* cadena  
*Predeterminado:* «/»  
Ruta del directorio virtual en IIS donde se implementará la aplicación. Utilice «/» para la ruta raíz o «/api» para un subdirectorio.

`appPool` (opcional)  
*Tipo:* cadena  
Nombre del grupo de aplicaciones para ejecutar esta aplicación.

### Implementaciones de ASP.NET Core
<a name="dotnet-manifest-schema-aspnetcore"></a>

Las implementaciones de ASP.NET Core están diseñadas específicamente para aplicaciones.NET Core y .NET 5\$1.

**Example Configuración de la implementación de ASP.NET Core**  

```
{
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "CoreAPI",
        "description": "ASP.NET Core Web API",
        "parameters": {
          "appBundle": "coreapi.zip",
          "iisPath": "/api",
          "appPool": "CoreAppPool"
        }
      }
    ]
  }
}
```

Las implementaciones de ASP.NET Core utilizan la misma estructura de propiedades que MSDeploy las implementaciones, con la diferencia clave en el entorno de ejecución y el modelo de alojamiento que se utilizan para la aplicación.Parámetros de la implementación de ASP.NET Core

`appBundle` (obligatorio)  
*Tipo:* cadena  
Ruta al paquete de aplicaciones en relación con el archivo de manifiesto. Puede ser un archivo ZIP o una ruta de directorio que contenga la aplicación ASP.NET Core publicada.

`iisWebSite` (opcional)  
*Tipo:* cadena  
*Predeterminado:* «Sitio web predeterminado»  
El sitio web de IIS en el que se implementará la aplicación ASP.NET Core. De forma predeterminada, las aplicaciones se implementan en el «sitio web predeterminado». Si lo desea, puede especificar un nombre de sitio web diferente, como uno configurado en la sección `iisConfig.websites`.

`iisPath` (opcional)  
*Tipo:* cadena  
*Predeterminado:* «/»  
Ruta del directorio virtual en IIS para la aplicación ASP.NET Core.

`appPool` (opcional)  
*Tipo:* cadena  
Grupo de aplicaciones para la aplicación ASP.NET Core. El grupo se configurará adecuadamente para el alojamiento de ASP.NET Core.

### implementaciones personalizadas
<a name="dotnet-manifest-schema-custom"></a>

Las implementaciones personalizadas proporcionan un control total sobre el proceso de implementación mediante PowerShell scripts. Este tipo de implementación es útil para escenarios complejos que requieren una lógica personalizada de instalación, configuración o implementación.

**Example Configuración de implementación personalizada**  

```
{
  "deployments": {
    "custom": [
      {
        "name": "CustomService",
        "description": "Custom Windows service deployment",
        "architecture": 32,
        "scripts": {
          "install": {
            "file": "install-service.ps1"
          },
          "restart": {
            "file": "restart-service.ps1"
          },
          "uninstall": {
            "file": "uninstall-service.ps1",
            "ignoreErrors": true
          }
        }
      }
    ]
  }
}
```Propiedades de implementación personalizada

`name` (obligatorio)  
*Tipo:* cadena  
Nombre único de la implementación personalizada.

`description` (opcional)  
*Tipo:* cadena  
Descripción de la implementación personalizada.

`architecture` (opcional)  
*Tipo*: entero  
*Predeterminado: 32*  
*Valores válidos:* 32, 64  
La especificación de arquitectura para el modo de ejecución de los scripts de PowerShell

`scripts` (obligatorio)  
*Tipo:* objeto  
PowerShell scripts que definen el comportamiento de despliegue. Las implementaciones personalizadas admiten tipos de scripts adicionales en comparación con otros tipos de implementación.

## Scripts de implementación
<a name="dotnet-manifest-schema-scripts"></a>

Los scripts de despliegue son PowerShell scripts que se ejecutan en momentos específicos del ciclo de vida del despliegue. Los distintos tipos de implementación admiten distintos conjuntos de eventos de script.

### Eventos de script
<a name="dotnet-manifest-schema-script-events"></a>

Los siguientes eventos de script están disponibles en función del tipo de implementación:Scripts de despliegue estándar (MSDeploy y aspNetCore Web)

`preInstall`  
Se ejecuta antes de instalar o actualizar la aplicación.

`postInstall`  
Se ejecuta después de instalar o actualizar la aplicación.

`preRestart`  
Se ejecuta antes de reiniciar la aplicación.

`postRestart`  
Se ejecuta después de reiniciar la aplicación.

`preUninstall`  
Se ejecuta antes de desinstalar la aplicación.

`postUninstall`  
Se ejecuta después de desinstalar la aplicación.Scripts de implementación personalizados (solamente implementaciones personalizadas)

`install`  
Script de instalación principal para implementaciones personalizadas. Este script se encarga de instalar la aplicación o el servicio.

`restart`  
Script para reiniciar la aplicación o el servicio. Se llama cuando se reinicia el entorno.

`uninstall`  
Script para desinstalar la aplicación o el servicio. Se llama durante la finalización del entorno o la eliminación de la aplicación.

### Propiedades de script
<a name="dotnet-manifest-schema-script-properties"></a>

Cada script se define como un objeto con las siguientes propiedades:

`file` (obligatorio)  
*Tipo:* cadena  
Ruta al archivo de PowerShell script en relación con el archivo de manifiesto. El script debe tener una extensión `.ps1`.

`ignoreErrors` (opcional)  
*Tipo*: Booleano  
*Valor predeterminado:* falso  
Si se establece en `true`, la implementación continúa aunque el script falle. Utilícelo para scripts u operaciones de limpieza que no sean críticos.

**Example Ejemplo de configuración de scripts**  

```
{
  "scripts": {
    "preInstall": {
      "file": "backup-config.ps1",
      "ignoreErrors": true
    },
    "postInstall": {
      "file": "configure-app.ps1"
    }
  }
}
```

# Uso de EC2 Fast Launch con las ramas de la plataforma Windows
<a name="dotnet-ec2fastlaunch"></a>

La función EC2 Fast Launch reduce los tiempos de lanzamiento de las instancias de Windows en los entornos de Elastic Beanstalk. El propósito de este tema es guiarlo sobre el uso de esta característica con sus entornos de Elastic Beanstalk. A partir de la versión 2.16.2 de la plataforma Windows, publicada el [22 de enero de 2025,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-01-22-windows.html) las versiones de la plataforma Elastic Beanstalk incluyen la versión básica con Fast Launch activado. AMIs EC2 

## Disponibilidad predeterminada de Fast Launch EC2
<a name="dotnet-ec2fastlaunch-default"></a>

Las versiones más recientes de la plataforma Windows de Elastic Beanstalk AMIs incluyen la versión EC2 básica con Fast Launch activado automáticamente, sin costes adicionales. Sin embargo, cuando se publiquen versiones de plataforma más recientes, es posible que EC2 Fast Launch no permanezca activado automáticamente en las versiones AMIs de plataforma base anteriores.

Recomendamos actualizar a la última versión de la plataforma Windows para utilizar la versión básica AMIs con EC2 Fast Launch activado automáticamente. Sin embargo, si necesita seguir utilizando la versión de plataforma existente, puede habilitar EC2 Fast Launch manualmente en la AMI base de su entorno. Para obtener instrucciones, consulte [Configuración manual de EC2 Fast Launch](#dotnet-ec2fastlaunch-manual).

## Configuración manual de EC2 Fast Launch
<a name="dotnet-ec2fastlaunch-manual"></a>

**nota**  
La activación manual de EC2 Fast Launch puede suponer costes adicionales en comparación con el uso de versiones de plataforma con EC2 Fast Launch activado automáticamente. Para obtener más información sobre los costes de EC2 Fast Launch, consulta la página [Gestionar los costes de los recursos subyacentes de EC2 Fast Launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-manage-costs.html) en la *Guía del EC2 usuario de Amazon*.

Siga estos pasos para habilitar EC2 Fast Launch en una AMI base de Windows utilizada en su entorno de Elastic Beanstalk:

**Para habilitar EC2 Fast Launch manualmente en el entorno de Elastic Beanstalk**

1. Identifique la AMI básica de su entorno:

   Siga los pasos de [Crear una AMI personalizada](using-features.customenv.md) para identificar el ID de la AMI básica de su entorno. Tenga en cuenta que no necesita crear una AMI personalizada; solamente tiene que seguir los pasos para localizar la ID de su AMI básica actual.

1. Habilite el inicio EC2 rápido en la AMI:

   Utilice las instrucciones de [Enable EC2 Fast Launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-configure.html) de la *Guía del EC2 usuario de Amazon* para configurar EC2 Fast Launch para su AMI.

# Añadir una instancia de base de datos de Amazon RDS a un entorno de aplicaciones .NET
<a name="create_deploy_NET.rds"></a>

En este tema se proporcionan instrucciones para crear un Amazon RDS mediante la consola de Elastic Beanstalk. Puede utilizar una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para almacenar datos recopilados y modificados por su aplicación. La base de datos se puede adjuntar al entorno y administrarse con Elastic Beanstalk, o bien, crearse como desacoplada y administrarse de forma externa a través de otro servicio. En estas instrucciones, la base de datos se acoplará al entorno y se administrará con Elastic Beanstalk. Para obtener más información sobre el uso de Elastic Beanstalk con Amazon RDS, consulte [Añadir una base de datos al entorno de Elastic Beanstalk](using-features.managing.db.md).

**Topics**
+ [Añadir una instancia de base de datos al entorno](#dotnet-rds-create)
+ [Descargar un controlador](#dotnet-rds-drivers)
+ [Conexión a una base de datos](#dotnet-rds-connect)

## Añadir una instancia de base de datos al entorno
<a name="dotnet-rds-create"></a>

**Para agregar una instancia de base de datos al entorno**

1. Abra la consola de [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) y, **en** la lista Regiones, seleccione su. Región de AWS

1. En el panel de navegación, elija **Environments** (Entornos) y, a continuación, elija el nombre del entorno en la lista.

1. En el panel de navegación, elija **Configuration (Configuración)**.

1. En la categoría de configuración **Database (Base de datos)**, seleccione **Edit (Edición de)**.

1. Seleccione un motor de base de datos y escriba el nombre de usuario y la contraseña.

1. Para guardar los cambios, elija **Aplicar** en la parte inferior de la página.

Se tarda alrededor de 10 minutos en añadir una instancia de base de datos. Cuando se haya completado la actualización del entorno, el nombre de host de la instancia de base de datos y otra información de conexión estarán disponibles para su aplicación mediante las siguientes propiedades de entorno


| Nombre de la propiedad | Descripción | Valor de la propiedad | 
| --- | --- | --- | 
|  `RDS_HOSTNAME`  |  El nombre de host de la instancia de base de datos.  |  En la pestaña **Connectivity & security (Conectividad y seguridad)** de la consola de Amazon RDS: **Endpoint (Punto de conexión)**.  | 
|  `RDS_PORT`  |  El puerto en donde la instancia de base de datos acepta las conexiones. El valor predeterminado varía dependiendo del motor de base de datos.  |  En la pestaña **Connectivity & security (Conectividad y seguridad)** de la consola de Amazon RDS: **Port (Puerto)**.  | 
|  `RDS_DB_NAME`  |  El nombre de la base de dato, **ebdb**.  |  En la pestaña **Configuration (Configuración)** de la consola de Amazon RDS: **DB Name (Nombre de la base de datos)**.  | 
|  `RDS_USERNAME`  |  El nombre de usuario que ha configurado para la base de datos.  |  En la pestaña **Configuration (Configuración)** de la consola de Amazon RDS: **Master username (Nombre de usuario maestro)**.  | 
|  `RDS_PASSWORD`  |  La contraseña que ha configurado para la base de datos.  |  No está disponible como referencia en la consola de Amazon RDS.  | 

Para obtener más información sobre la configuración de una instancia de bases de datos acopladas a un entorno de Elastic Beanstalk, consulte [Añadir una base de datos al entorno de Elastic Beanstalk](using-features.managing.db.md).

## Descargar un controlador
<a name="dotnet-rds-drivers"></a>

Descargue e instale el paquete `EntityFramework` y un controlador de base de datos para el entorno de desarrollo con `NuGet`.

**Proveedores de bases de datos de Common Entity Framework para .NET**
+ **SQL Server** – `Microsoft.EntityFrameworkCore.SqlServer`
+ **MySQL** – `Pomelo.EntityFrameworkCore.MySql`
+ **PostgreSQL** – `Npgsql.EntityFrameworkCore.PostgreSQL`

## Conexión a una base de datos
<a name="dotnet-rds-connect"></a>

Elastic Beanstalk proporciona información de conexión para instancias de base de datos asociadas en propiedades de entorno. Use `ConfigurationManager.AppSettings` para leer las propiedades y configurar una conexión con la base de datos.

**Example Helpers.cs: método de cadena de conexión**  

```
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;

namespace MVC5App.Models
{
  public class Helpers
  {
    public static string GetRDSConnectionString()
    {
      var appConfig = ConfigurationManager.AppSettings;

      string dbname = appConfig["RDS_DB_NAME"];

      if (string.IsNullOrEmpty(dbname)) return null;

      string username = appConfig["RDS_USERNAME"];
      string password = appConfig["RDS_PASSWORD"];
      string hostname = appConfig["RDS_HOSTNAME"];
      string port = appConfig["RDS_PORT"];

      return "Data Source=" + hostname + ";Initial Catalog=" + dbname + ";User ID=" + username + ";Password=" + password + ";";
    }
  }
}
```

Utilice la cadena de conexión para inicializar el contexto de la base de datos.

**Example DBContext.cs**  

```
using System.Data.Entity;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;

namespace MVC5App.Models
{
  public class RDSContext : DbContext
  { 
    public RDSContext()
      : base(GetRDSConnectionString())
    {
    }

    public static RDSContext Create()
    {
      return new RDSContext();
    }
  }
}
```

# El AWS Toolkit for Visual Studio
<a name="dotnet-toolkit"></a>

Visual Studio dispone de plantillas para diferentes lenguajes de programación y diferentes tipos de aplicaciones. Puede empezar a trabajar con cualquiera de estas plantillas. El AWS Toolkit for Visual Studio también proporciona tres plantillas de proyectos que permiten iniciar el desarrollo de la aplicación AWS : Console Project AWS , Web Project AWS y Empty Project. En este ejemplo, va a crear una nueva aplicación web ASP.NET.

**Para crear un nuevo proyecto de aplicación web ASP.NET**

1. En Visual Studio, en el menú **File (Archivo)**, haga clic en **New (Nuevo)** y en **Project (Proyecto)**.

1. En el cuadro de diálogo **New Project (Nuevo proyecto)**, haga clic en **Installed Templates (Plantillas instaladas)**, en **Visual C\$1** y en **Web**. Haga clic en **ASP.NET Empty Web Application (Aplicación web vacía de ASP.NET)**, escriba un nombre de proyecto y haga clic en **OK (Aceptar)**. 

**Para ejecutar un proyecto**

Aplique alguna de las siguientes acciones:

1. Pulse **F5**.

1. Seleccione **Start Debugging (Iniciar depuración)** en el menú **Debug (Depurar)**.

## Haga una prueba local
<a name="create_deploy_NET.sdlc.testlocal"></a>

Con Visual Studio, resulta muy fácil probar la aplicación localmente. Para probar o ejecutar aplicaciones web ASP.NET, necesita un servidor web. Visual Studio dispone de varias opciones, como Internet Information Services (IIS), IIS Express o el servidor de desarrollo de Visual Studio integrado. Para obtener más información sobre cada una de estas opciones y decidir cuál es la mejor para usted, consulte [Web Servers in Visual Studio for ASP.NET Web Projects](http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx).

## Cree un entorno de Elastic Beanstalk
<a name="create_deploy_NET.sdlc.deploy"></a>

Después de probar la aplicación, ya puede implementarla en Elastic Beanstalk.

**nota**  
El [archivo de configuración](ebextensions.md) debe formar parte del proyecto que se va a incluir en el archivo. En lugar de incluir los archivos de configuración en el proyecto, puede utilizar Visual Studio para implementar todos los archivos en la carpeta del proyecto. En el **Solution Explorer (Explorador de soluciones)**, haga clic con el botón derecho en el nombre de proyecto y, a continuación, haga clic en **Properties (Propiedades)**. Haga clic en la pestaña **Package/Publish Web (Empaquetar/publicar web)**. En la sección **Items to deploy (Elementos que se van a implementar)**, seleccione **All Files in the Project Folder (Todos los archivos de la carpeta de proyecto)** en la lista desplegable.

**Para implementar la aplicación en Elastic Beanstalk AWS mediante el kit de herramientas de Visual Studio**

1. **En el **Explorador de soluciones**, haga clic con el botón derecho en la aplicación y, a continuación, seleccione Publicar en. AWS**

1. En el asistente **Publicar en AWS**, ingrese la información de la cuenta.

   1. En **Cuenta de AWS que se utilizará para la implementación**, seleccione su cuenta u **Otro** para ingresar los datos de una nueva cuenta. 

   1. En **Region (Región)**, seleccione la región en la que desea implementar la aplicación. Para obtener información sobre AWS las regiones disponibles, consulte [AWS Elastic Beanstalk Puntos de conexión y cuotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) en. *Referencia general de AWS* Si selecciona una región que no es compatible con Elastic Beanstalk, la opción para implementar en Elastic Beanstalk dejará de estar disponible.

   1.  Haga clic en **Deploy new application with template (Implementar nueva aplicación con plantilla)** y seleccione **Elastic Beanstalk**. Haga clic en **Next (Siguiente)**.  
![\[Publicar en el AWS asistente 1\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-create-newapp-template.png)

1. En la página **Application (Aplicación)**, especifique los detalles de la aplicación

   1. En **Name (Nombre)**, escriba el nombre de la aplicación.

   1. En **Description**, escriba una descripción de la aplicación. Este paso es opcional.

   1. La etiqueta de versión de la aplicación aparece automáticamente en **Deployment version label (Etiqueta de versión de implementación)**.

   1. Seleccione **Deploy application incrementally (Implementar aplicación incrementalmente)** para implementar únicamente los archivos modificados. Las implementaciones incrementales son más rápidas, ya que solo se actualizan los archivos que cambiaron, y no todos los archivos. Si selecciona esta opción, se definirá una versión de la aplicación a partir del ID de la confirmación de Git. Si decide no implementar la aplicación de manera incremental, puede actualizar la etiqueta de versión en el cuadro **Deployment version label (Etiqueta de versión de implementación)**.   
![\[Asistente 2 de Publish to Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk1.png)

   1. Haga clic en **Next (Siguiente)**.

1. En la página **Environment (Entorno)**, especifique los detalles del entorno.

   1. Seleccione **Create a new environment for this application (Creación de un nuevo entorno para esta aplicación)**.

   1. En **Name (Nombre)**, escriba un nombre para su entorno.

   1. En **Description (Descripción)**, describa el entorno. Este paso es opcional.

   1. Seleccione el tipo de entorno que desee en **Type (Tipo)**.

      Puede seleccionar **Load balanced, auto scaled (Carga balanceada, autoescalado)** o **Single instance (Instancia individual)**. Para obtener más información, consulte [Tipos de entorno](using-features-managing-env-types.md).

       
**nota**  
En los entornos con una única instancia, no se aplican el equilibrador de carga, el escalado automático y la URL de comprobación de estado.

   1. La URL del entorno aparecerá automáticamente en el cuadro **Environment URL (URL de entorno)** cuando mueva el cursor a ese cuadro.

   1. Haga clic en **Check availability (Comprobar disponibilidad)** para asegurarse de que la URL está disponible.  
![\[Asistente 3 de Publish to Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk2.png)

   1. Haga clic en **Siguiente**.

1. En la página **AWS Options (Opciones de AWS )**, configure otras opciones y la información de seguridad de la implementación. 

   1.  En **Container Type (Tipo de contenedor)**, seleccione **64bit Windows Server 2012 running IIS 8 (Windows Server 2012 de 64 bits con IIS 8)** o **64bit Windows Server 2008 running IIS 7.5 (Windows Server 2008 de 64 bits con IIS 7.5)**.

   1. En **Instance Type (Tipo de instancia)**, seleccione **Micro**. 

   1. En **Key pair (Par de claves)**, seleccione **Create new key pair (Creación de nuevo par de claves)**. Escriba un nombre para el nuevo par de claves (en este ejemplo, utilizaremos **myuswestkeypair**) y haga clic en **OK (Aceptar)**. Un key pair permite el acceso desde el escritorio remoto a tus instancias de Amazon EC2 . Para obtener más información sobre los pares de EC2 claves de Amazon, consulte [Uso de credenciales](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-credentials.html) en la *Guía del usuario de Amazon Elastic Compute Cloud*. 

   1. Seleccione un perfil de instancia.

      Si no tiene un perfil de instancia, seleccione **Create a default instance profile (Creación de un perfil de instancia predeterminado)**. Para obtener información sobre el uso de perfiles de instancia con Elastic Beanstalk, consulte [Administración de perfiles de instancia de Elastic Beanstalk](iam-instanceprofile.md).

   1. Si tiene una VPC personalizada que quiere utilizar con el entorno, haga clic en **Launch into VPC (Lanzar en VPC)**. Puede configurar los datos de la VPC en la página siguiente. Para obtener más información sobre Amazon VPC, consulte [Amazon Virtual Private Cloud (Amazon VPC)](https://aws.amazon.com/vpc/). Para ver una lista de los tipos de contenedores no heredados admitidos, consulte [¿Por qué algunas versiones de la plataforma están marcadas como heredadas?](using-features.migration.md#using-features.migration.why)  
![\[Asistente 4 de Publish to Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_iam.png)

   1.  Haga clic en **Siguiente**. 

1. Si decidió lanzar el entorno dentro de una VPC, aparecerá la página **VPC Options (Opciones de VPC)**; de lo contrario, aparecerá la página **Additional Options (Opciones adicionales)**. Aquí podrá configurar las opciones de la VPC.  
![\[Opciones de VPC para un entorno escalable y con balanceo de carga\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc.png)  
![\[Opciones de VPC para un entorno con una única instancia\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc-single.png)

   1. Seleccione el ID de la VPC en la que le gustaría lanzar el entorno. 

   1. En los entornos escalables con balanceo de carga, seleccione **private (privado)** en **ELB Scheme (Esquema de ELB)** si no quiere que haya un Elastic Load Balancer disponible en Internet.

      En los entornos con una única instancia, esta opción no es aplicable, ya que el entorno no tiene un equilibrador de carga. Para obtener más información, consulte [Tipos de entorno](using-features-managing-env-types.md).

   1. Para un entorno escalable y con equilibrio de carga, seleccione las subredes para el balanceador de carga elástico y las instancias. EC2 Si has creado subredes públicas y privadas, asegúrate de que el balanceador de carga elástico y las EC2 instancias estén asociadas a la subred correcta. Amazon VPC crea por defecto una subred pública predeterminada con 10.0.0.0/24 y una subred privada con 10.0.1.0/24. Puede ver las subredes existentes en la consola de Amazon VPC en. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

      Si se trata de un entorno con una única instancia, la VPC solo necesita una subred pública para la instancia. No podrá seleccionar una subred para el equilibrador de carga, ya que el entorno no tiene ninguno. Para obtener más información, consulte [Tipos de entorno](using-features-managing-env-types.md).

   1. En un entorno escalable con balanceo de carga, seleccione el grupo de seguridad que creó para sus instancias, si procede.

      Si el entorno solo tiene una instancia, no necesita un dispositivo NAT. Seleccione el grupo de seguridad predeterminado. Elastic Beanstalk asigna una dirección IP elástica a la instancia que permite a esta obtener acceso a Internet.

   1. Haga clic en **Next (Siguiente)**.

1. En la página **Application Options (Opciones de aplicación)**, configure las opciones de la aplicación. 

   1. En Target framework, seleccione **.NET Framework 4.0**. 

   1. Elastic Load Balancing utiliza una comprobación de estado para determinar si las EC2 instancias de Amazon que ejecutan la aplicación están en buen estado. La comprobación de estado determina el estado de una instancia sondeando una URL especificada en los intervalos indicados. Puede anular la URL predeterminada para que se ajuste a un recurso existente de la aplicación (por ejemplo, `/myapp/index.aspx`) utilizando el cuadro **Application Health Check URL (URL de comprobación de estado de aplicación)**. Para obtener más información sobre las comprobaciones de estado de la aplicación, consulte [Chequeo de salud](environments-cfg-clb.md#using-features.managing.elb.healthchecks). 

   1. Escriba una dirección de correo electrónico si desea recibir notificaciones de Amazon Simple Notification Service (Amazon SNS) sobre eventos importantes que afectan a la aplicación.

   1. La sección **Entorno de aplicación** le permite especificar variables de entorno en las EC2 instancias de Amazon que ejecutan su aplicación. Esta configuración ofrece una mayor portabilidad al eliminar la necesidad de recompilar su código fuente cuando cambia de un entorno a otro.

   1. En Application Credentials, seleccione la opción que desee utilizar para implementar la aplicación.  
![\[Asistente 6 de Publish to Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3a.png)

   1. Haga clic en **Siguiente**.

1. Si previamente configuró una base de datos de Amazon RDS, aparece la página **Amazon RDS DB Security Group (Grupo de seguridad de base de datos Amazon RDS)**. Si desea conectar el entorno de Elastic Beanstalk con la instancia de base de datos de Amazon RDS, seleccione uno o varios grupos de seguridad. De lo contrario, continúe en el siguiente paso. Cuando esté preparado, haga clic en **Next (Siguiente)**.  
![\[Asistente 7 de Publish to Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk6b.png)

1.  Revise las opciones de implementación. Si todo está tal y como quiere, haga clic en **Deploy (Implementar)**.   
![\[Asistente 8 de Publish to Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk4.png)

   El proyecto de ASP.NET se exportará como un archivo de implementación web, se cargará en Amazon S3 y se registrará como una nueva versión de la aplicación con Elastic Beanstalk. La característica de implementación de Elastic Beanstalk supervisará el entorno hasta que esté disponible con el código que acaba de implementar. En la pestaña env:<nombre de entorno>, aparecerá el estado del entorno.   
![\[Estado del entorno\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-env-status.png)

## Terminación de un entorno
<a name="create_deploy_NET.terminating"></a>

Para evitar incurrir en cargos por AWS los recursos no utilizados, puede cerrar un entorno en ejecución mediante el AWS Toolkit for Visual Studio.

**nota**  
 Siempre podrá lanzar más adelante un nuevo entorno con la misma versión. 

**Para terminar un entorno**

1.  Expanda el nodo Elastic Beanstalk y el nodo de la aplicación en **Explorador de AWS **. Haga clic con el botón derecho en el entorno de la aplicación y seleccione **Terminate Environment (Terminar entorno)**.

1. Cuando le pregunten, haga clic en **Yes (Sí)** para confirmar que desea terminar el entorno. Elastic Beanstalk tardará unos minutos en AWS terminar los recursos que se ejecutan en el entorno.  
![\[Cuadro de diálogo Terminate environment (Terminar entorno) de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-terminate-confirm.png)
**nota**  
Cuando termine su entorno, el CNAME asociado con el entorno terminado quedará a disposición de cualquier persona que desee utilizarlo. 

# Implementación en su entorno
<a name="create_deploy_NET.sdlc.create.edit"></a>

Ahora que ha probado su aplicación, es fácil editarla e implementarla y ver los resultados inmediatamente. 

 **Para editar y volver a implementar su aplicación web ASP.NET ** 

1.  En el **Explorador de soluciones**, haga clic con el botón secundario en la aplicación y, a continuación, haga clic en **Volver a publicar en el entorno < *your environment name* >**. Se abre el asistente **Re-publish to AWS Elastic Beanstalk(Volver a publicar en AEBlong)**.  
![\[Asistente 1 de Publish to Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-republish-beanstalk-sameenv.png)

1.  Revise los detalles de la implementación y haga clic en **Deploy (Implementar)**. 
**nota**  
Si desea cambiar parte de la configuración, puede hacer clic en **Cancelar** y utilizar, en cambio, el asistente **Publicar en AWS**. Para obtener instrucciones, consulte [Cree un entorno de Elastic Beanstalk](dotnet-toolkit.md#create_deploy_NET.sdlc.deploy).

   El proyecto web ASP.NET actualizado se exportará como un archivo de implementación web con la nueva etiqueta de versión, se cargará en Amazon S3 y se registrará como una nueva versión de la aplicación con Elastic Beanstalk. La característica de implementación de Elastic Beanstalk supervisa el entorno existente hasta que esté disponible con el código que acaba de implementar. En la pestaña **env: < *environment name* >**, verá el estado de su entorno. 

También puede implementar una aplicación en un entorno existente si, por ejemplo, necesita restaurar una versión de la aplicación anterior. 

**Para implementar una versión de la aplicación en un entorno existente**

1. Haga clic con el botón derecho sobre la aplicación de Elastic Beanstalk expandiendo el nodo Elastic Beanstalk en **Explorador de AWS **. Seleccione **View Status (Ver estado)**. 

1. En la pestaña **Aplicación: < *application name* >**, haga clic en **Versiones**.   
![\[Versiones de la aplicación\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-app-version.png)

1. Haga clic en la versión de la aplicación que desea implementar y haga clic en **Publish Version (Publicar versión)**.

1.  En el asistente **Publish Application Version (Publicar versión de la aplicación)**, haga clic en **Next (Siguiente)**.  
![\[Asistente Publish application versión 1\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-republish-beanstalk2a.png)

1.  Revise las opciones de implementación y haga clic en **Deploy (Implementar)**.   
![\[Asistente Publish application versión 2\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-publish-app-version-wizard3.png)

   El proyecto ASP.NET se exportará como un archivo de implementación web y se cargará en Amazon S3. La característica de implementación de Elastic Beanstalk supervisará el entorno hasta que esté disponible con el código que acaba de implementar. En la pestaña **env: < *environment name* >**, verá el estado de su entorno. 

# Administración de entornos de aplicaciones de Elastic Beanstalk
<a name="create_deploy_NET.managing"></a>

Con el AWS Toolkit for Visual Studio y AWS la consola de administración, puede cambiar el aprovisionamiento y la configuración de AWS los recursos que utilizan sus entornos de aplicaciones. Para obtener información sobre cómo administrar los entornos de aplicaciones mediante la consola AWS de administración, consulte. [Administración de entornos de Elastic Beanstalk](using-features.managing.md) En esta sección, se abordan las configuraciones específicas del servicio que se pueden editar en el AWS Toolkit for Visual Studio durante la configuración del entorno de aplicaciones.

## Modificación de las opciones de configuración del entorno
<a name="create_deploy_NET.managing.env"></a>

Al implementar la aplicación, Elastic Beanstalk configura varios servicios de computación en la nube. AWS Puede controlar la configuración de estos servicios individuales mediante el AWS Toolkit for Visual Studio.

**Para editar la configuración del entorno de una aplicación**
+ Expanda el nodo Elastic Beanstalk y el nodo de la aplicación. A continuación, haga clic con el botón derecho en el entorno de Elastic Beanstalk en **Explorador de AWS **. Seleccione **View Status (Ver estado)**. 

  Ahora, podrá configurar las opciones de los elementos siguientes:
  + Servidor
  + Balanceo de carga
  + Autoescalado
  + Notificaciones
  + Propiedades del entorno

# Configuración de instancias EC2 de servidor mediante el AWS kit de herramientas de Visual Studio
<a name="create_deploy_NET.managing.ec2"></a>

Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que se utiliza para lanzar y gestionar instancias de servidor en los centros de datos de Amazon. Puedes usar las instancias de EC2 servidor de Amazon en cualquier momento, durante el tiempo que necesites y para cualquier propósito legal. Las instancias están disponibles en diferentes tamaños y configuraciones. Para obtener más información, visita [Amazon EC2](https://aws.amazon.com/ec2/).

Puede editar la **configuración** de instancias de Amazon del entorno de Elastic Beanstalk con EC2 la pestaña Servidor situada dentro de la pestaña del entorno de aplicaciones del Toolkit for AWS Visual Studio. 

![\[Panel de configuración de servidores de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-server.png)


## Tipos de EC2 instancias de Amazon
<a name="create_deploy_NET.managing.ec2.instancetypes"></a>

**Instance type (Tipo de instancia)** muestra los tipos de instancias disponibles para la aplicación de Elastic Beanstalk. Cambie el tipo de instancia para seleccionar un servidor con las características más adecuadas para su aplicación (entre ellas, el tamaño de la memoria y la potencia de la CPU). Por ejemplo, las aplicaciones de operaciones intensivas de ejecución prolongada pueden necesitar más memoria o CPU.

Para obtener más información sobre los tipos de EC2 instancias de Amazon disponibles para su aplicación de Elastic Beanstalk[, consulte Tipos de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) en la Guía *del usuario de Amazon* Elastic Compute Cloud.

## Grupos de EC2 seguridad de Amazon
<a name="create_deploy_NET.managing.ec2.securitygroups"></a>

Puede controlar el acceso a la aplicación de Elastic Beanstalk *mediante EC2 * un grupo de Amazon Security. Los grupos de seguridad definen las reglas del firewall para las instancias. Estas reglas especifican qué tráfico de la red de entrada debe entregarse en la instancia. El resto del tráfico de entrada se descartará. Puede modificar las reglas de un grupo en cualquier momento. Las nuevas reglas se aplicarán automáticamente a todas las instancias que estén en ejecución y a las que se lancen en el futuro. 

Puede configurar sus grupos de EC2 seguridad de Amazon mediante la Consola AWS de administración o mediante el AWS Toolkit for Visual Studio. **Puede especificar qué grupos de EC2 seguridad de Amazon controlan el acceso a la aplicación de Elastic Beanstalk introduciendo los nombres de uno o más nombres de grupos de seguridad de EC2 Amazon (delimitados por comas) en el cuadro de texto Grupos de seguridad. EC2 ** 

**nota**  
Asegúrese de que el puerto 80 (HTTP) está accesible desde 0.0.0.0/0 como el intervalo de CIDR de origen si desea habilitar las comprobaciones de estado para su aplicación. Para obtener más información sobre las comprobaciones de estado, consulte [Comprobaciones de estado](create_deploy_NET.managing.elb.md#create_deploy_NET.managing.elb.healthchecks).

**Para crear un grupo de seguridad mediante el kit de herramientas de Visual Studio AWS**

1.  En Visual Studio, en el **AWS Explorador**, expanda el EC2 nodo **Amazon** y, a continuación, haga doble clic en **Grupos de seguridad**. 

1.  Haga clic en **Create Security Group (Creación de grupo de seguridad)** e introduzca un nombre y una descripción para el grupo de seguridad. 

1.  Haga clic en **OK (Aceptar)**. 

Para obtener más información sobre los grupos EC2 de seguridad de Amazon, consulte [Uso de grupos de seguridad](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) en la *Guía del usuario de Amazon Elastic Compute Cloud*.

## Pares de EC2 claves de Amazon
<a name="create_deploy_NET.managing.ec2.keypair"></a>

Puede iniciar sesión de forma segura en las EC2 instancias de Amazon aprovisionadas para su aplicación de Elastic Beanstalk con un par de claves de Amazon. EC2 

**importante**  
Debe crear un par de EC2 claves de Amazon y configurar las instancias de Amazon aprovisionadas por Elastic Beanstalk para usar el EC2 par de claves de Amazon antes de poder acceder a las EC2 instancias de Amazon aprovisionadas por Elastic Beanstalk. EC2 Puede crear el par de claves mediante el AWS asistente **Publicar** en del AWS Toolkit for Visual Studio al implementar la aplicación en Elastic Beanstalk. Si desea crear pares de claves adicionales mediante el conjunto de herramientas, siga los pasos que se indican a continuación. Como alternativa, puede configurar sus pares de EC2 claves de Amazon mediante la [consola AWS de administración](https://console.aws.amazon.com/). Para obtener instrucciones sobre cómo crear un key pair para Amazon EC2, consulta la [Guía de introducción a Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/AWSEC2/latest/GettingStartedGuide/). 

 El cuadro de texto **Par de claves existente** le permite especificar el nombre de un par de EC2 claves de Amazon que puede usar para iniciar sesión de forma segura en las EC2 instancias de Amazon que ejecutan la aplicación de Elastic Beanstalk. 

**Para especificar el nombre de un EC2 key pair de Amazon**

1. Expanda el EC2 nodo **Amazon** y haga doble clic en **Key Pairs**.

1.  Haga clic en **Create Key Pair (Creación de par de claves)** e introduzca el nombre del par de claves. 

1.  Haga clic en **OK (Aceptar)**. 

Para obtener más información sobre los pares de EC2 claves de Amazon, consulta [Uso de EC2 credenciales de Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-credentials.html) en la *Guía del usuario de Amazon Elastic Compute Cloud*. Para obtener más información sobre cómo conectarse a EC2 instancias de Amazon, consulte[Listado y conexión a instancias de servidor](create_deploy_NET.ec2connect.md). 

## Intervalo de supervisión
<a name="create_deploy_NET.managing.monitoring"></a>

 De forma predeterminada, solo están habilitadas CloudWatch las métricas básicas de Amazon. Estas devuelven datos en periodos de cinco minutos. Puede habilitar CloudWatch métricas más detalladas de un minuto seleccionando **1 minuto** para el **intervalo de monitoreo** en la sección **Servidor** de la pestaña **Configuración** de su entorno en el AWS Toolkit for Eclipse.

**nota**  
Se pueden aplicar cargos por CloudWatch servicio de Amazon a las métricas de intervalos de un minuto. Consulta [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para obtener más información.

## ID de AMI personalizada
<a name="create_deploy_NET.managing.customami"></a>

 Puede anular la AMI predeterminada utilizada para sus EC2 instancias de Amazon con su propia AMI personalizada introduciendo el identificador de su AMI personalizada en el cuadro **ID de AMI personalizado** de la sección **Servidor** de la pestaña **Configuración** de su entorno en el AWS Toolkit for Eclipse. 

**importante**  
El uso de una AMI propia es una tarea avanzada que debe llevarse a cabo con precaución. Si necesita una AMI personalizada, le recomendamos que comience con la AMI predeterminada de Elastic Beanstalk y después la modifique. Para que se considere que están en buen estado, Elastic Beanstalk EC2 espera que las instancias de Amazon cumplan una serie de requisitos, entre los que se incluye tener un administrador de host en ejecución. Si no se cumplen, es posible que el entorno no funcione correctamente.

# Configuración de Elastic Load Balancing mediante el AWS kit de herramientas de Visual Studio
<a name="create_deploy_NET.managing.elb"></a>

Elastic Load Balancing es un servicio web de Amazon que le ayuda a mejorar la disponibilidad y escalabilidad de la aplicación. Este servicio le facilita la distribución de las cargas de aplicaciones entre dos o más EC2 instancias de Amazon. Elastic Load Balancing habilita la disponibilidad a través de la redundancia y admite el aumento del tráfico en la aplicación. 

 Elastic Load Balancing le permite distribuir y balancear automáticamente el tráfico entrante de la aplicación entre todas las instancias de servidor que están en ejecución. Además, el servicio facilita la incorporación de nuevas instancias cuando es necesario aumentar la capacidad de la aplicación.

 Cuando se implementa una aplicación, Elastic Beanstalk aprovisiona automáticamente Elastic Load Balancing. Puede editar la configuración de instancias de Amazon del entorno de Elastic Beanstalk con EC2 la pestaña **Load Balancer dentro de la** pestaña del entorno de aplicaciones de Toolkit AWS for Visual Studio.

![\[Panel de configuración de Elastic Load Balancing de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer.png)


 En las siguientes secciones se describen los parámetros de Elastic Load Balancing que puede configurar para la aplicación.

## Puertos
<a name="create_deploy_NET.managing.elb.ports"></a>

El balanceador de carga aprovisionado para gestionar las solicitudes de la aplicación de Elastic Beanstalk envía las solicitudes a las instancias de EC2 Amazon que ejecutan la aplicación. El balanceador de cargas aprovisionado puede escuchar las solicitudes en los puertos HTTP y HTTPS y enrutarlas a las EC2 instancias de Amazon de tu AWS Elastic Beanstalk aplicación. De forma predeterminada, el equilibrador de carga atiende las solicitudes en el puerto HTTP. Al menos uno de los puertos (HTTP o HTTPS) debe estar activo.

![\[Configuración de Elastic Load Balancing de Elastic Beanstalk: puertos\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-ports.png)


**importante**  
Asegúrese de que el puerto especificado no esté bloqueado; de lo contrario, los usuarios no podrán conectarse a la aplicación de Elastic Beanstalk.

### Control del puerto HTTP
<a name="create_deploy_NET.managing.elb.ports.http"></a>

Para desactivar el puerto HTTP, seleccione **OFF** en **HTTP Listener Port (HTTP Puerto Listener)**. Para activar el puerto HTTP, seleccione un puerto HTTP (por ejemplo, **80**) en la lista.

**nota**  
Para tener acceso al entorno usando un puerto diferente del predeterminado 80, por ejemplo, el puerto 8080, añada un agente de escucha al equilibrador de carga existente y configúrelo para que escuche en dicho puerto.  
Por ejemplo, en el caso de los [AWS CLI balanceadores de carga clásicos](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer-listeners.html), escriba el siguiente comando y sustitúyalo por *LOAD\$1BALANCER\$1NAME* el nombre del balanceador de carga de Elastic Beanstalk.  

```
aws elb create-load-balancer-listeners --load-balancer-name LOAD_BALANCER_NAME --listeners "Protocol=HTTP, LoadBalancerPort=8080, InstanceProtocol=HTTP, InstancePort=80"
```
Por ejemplo, si usa el comando [AWS CLI para balanceadores de carga de aplicaciones](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html), escriba el siguiente comando y *LOAD\$1BALANCER\$1ARN* sustitúyalo por el ARN del balanceador de carga de Elastic Beanstalk.  

```
aws elbv2 create-listener --load-balancer-arn LOAD_BALANCER_ARN --protocol HTTP --port 8080
```
Si quiere que Elastic Beanstalk supervise el entorno, no elimine el agente de escucha del puerto 80.

### Control del puerto HTTPS
<a name="create_deploy_NET.managing.elb.ports.https"></a>

Elastic Load Balancing admite el HTTPS/TLS protocolo para habilitar el cifrado del tráfico para las conexiones de los clientes al balanceador de carga. Las conexiones desde el balanceador de cargas a las EC2 instancias utilizan el cifrado de texto simple. De forma predeterminada, el puerto HTTPS está desactivado.

**Para activar el puerto HTTPS**

1. Cree un certificado nuevo mediante AWS Certificate Manager (ACM) o cargue un certificado y una clave en AWS Identity and Access Management (IAM). Para obtener más información sobre cómo solicitar un certificado de ACM, consulte [Solicitar un certificado](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html) en la *Guía del usuario de AWS Certificate Manager *. Para obtener más información sobre la importación de certificados de terceros en ACM, consulte [Importar certificados](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) en la *Guía del usuario de AWS Certificate Manager *. Si el ACM no está [disponible en su región](https://docs.aws.amazon.com/general/latest/gr/acm.html), utilice AWS Identity and Access Management (IAM) para cargar un certificado de terceros. Los servicios de ACM e IAM guardan el certificado y proporcionan un nombre de recurso de Amazon (ARN) para el certificado SSL. Para obtener más información sobre la creación y la carga de certificados en IAM, consulte [Uso de certificados de servidor](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingServerCerts.html) en la *Guía del usuario de IAM*.

1. Especifique el puerto HTTPS seleccionando un puerto en **HTTPS Listener Port (HTTP Puerto Listener)**.  
![\[Configuración de Elastic Load Balancing de Elastic Beanstalk: SSL\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-elb-ssl.png)

1. En **SSL Certificate ID (ID de certificado de SSL)**, escriba el nombre de recurso de Amazon (ARN) de su certificado SSL. Por ejemplo, **arn:aws:iam::123456789012:server-certificate/abc/certs/build** o **arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678**. Utilice el certificado SSL que ha creado o cargado en el paso 1.

Para desactivar el puerto HTTPS, seleccione **OFF** en **HTTPS Listener Port (HTTP Puerto Listener)**.

## Comprobaciones de estado
<a name="create_deploy_NET.managing.elb.healthchecks"></a>

La definición de comprobación de estado incluye una URL que se utiliza para las consultas del estado de las instancias. De forma predeterminada, Elastic Beanstalk usa contenedores no heredados en TCP:80 y contenedores heredados en HTTP:80. Puede invalidar la URL predeterminada para que coincida con un recurso existente en la aplicación (por ejemplo, `/myapp/default.aspx`) utilizando el cuadro **Application Health Check URL (URL de comprobación de estado de la aplicación)**. Si anula la URL predeterminada, Elastic Beanstalk utilizará HTTP para consultar el recurso. Para comprobar si está usando un tipo de contenedor heredado, consulte [¿Por qué algunas versiones de la plataforma están marcadas como heredadas?](using-features.migration.md#using-features.migration.why)

 Puede controlar la configuración de la comprobación de estado mediante la sección **Verificación del estado de las EC2 instancias** del panel **Equilibrio de carga**.

![\[Configuración de Elastic Load Balancing de Elastic Beanstalk: comprobaciones de estado\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-healthcheck.png)


La definición de comprobación de estado incluye una URL que se utiliza para las consultas del estado de las instancias. Invalide la URL predeterminada para que coincida con un recurso existente en la aplicación (por ejemplo, `/myapp/index.jsp`) utilizando el cuadro **Application Health Check URL (URL de comprobación de estado de aplicación)**. 

En la siguiente lista se describen los parámetros de comprobación de estado que puede definir para la aplicación. 
+ En **Health Check Interval (segundos)**, introduce el número de segundos que Elastic Load Balancing espera entre las comprobaciones de estado de las EC2 instancias de Amazon de tu aplicación.
+  En **Health Check Timeout (seconds) (Tiempo de espera de comprobación de estado [segundos])**, especifique el número de segundos que Elastic Load Balancing espera para recibir una respuesta antes de considerar que la instancia no responde.
+ En **Healthy Check Count Threshold (Umbral de recuento de estado correcto)** y **Unhealthy Check Count Threshold (Umbral de recuento de estado incorrecto)**, especifique el número de sondeos de URL consecutivos que deben realizarse correcta o incorrectamente antes de que Elastic Load Balancing cambie el estado de la instancia. Por ejemplo, si se especifica el valor **5** en **Unhealthy Check Count Threshold (Umbral de recuento de estado incorrecto)**, la dirección URL devuelve un mensaje de error o un mensaje de tiempo de espera agotado cinco veces seguidas antes de que Elastic Load Balancing considere que no se ha superado la comprobación de estado.

## Sesiones
<a name="create_deploy_NET.managing.elb.sessions"></a>

De forma predeterminada, un equilibrador de carga direcciona cada solicitud por separado a la instancia de servidor con menor carga. Por su parte, una sesión persistente vincula la sesión de un usuario con una instancia de servidor específica para que todas las solicitudes que provengan de ese usuario durante la sesión se envíen a la misma instancia de servidor. 

 Elastic Beanstalk utiliza cookies HTTP generadas por el equilibrador de carga cuando las sesiones sticky están habilitadas en una aplicación. El equilibrador de carga utiliza una cookie especial generada por el equilibrador de carga para hacer un seguimiento de la instancia de aplicación de cada solicitud. Cuando el equilibrador de carga recibe una solicitud, primero comprueba si esta cookie está presente en la solicitud. Si lo está, la solicitud se envía a la instancia de aplicación especificada en la cookie. Si no hay ninguna cookie, el equilibrador de carga elige una instancia de aplicación en función del algoritmo de balanceo de carga existente. Para vincular las solicitudes posteriores del mismo usuario a esa instancia de aplicación, se inserta una cookie en la respuesta. La configuración de la política define el vencimiento de la cookie, que establece el periodo de validez de cada cookie. 

Puede usar la sección **Sessions (Sesiones)** de la pestaña **Load Balancer (Balanceador de carga)** para especificar si el equilibrador de carga de la aplicación permite o no sesiones sticky.

![\[Configuración de Elastic Load Balancing de Elastic Beanstalk: sesiones\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-sessions.png)


 Para obtener más información sobre Elastic Load Balancing, consulte la [Guía para desarrolladores de Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/). 

# Configuración de Auto Scaling mediante el AWS kit de herramientas de Visual Studio
<a name="create_deploy_NET.managing.as"></a>

Amazon EC2 Auto Scaling es un servicio web de Amazon diseñado para lanzar o finalizar automáticamente las EC2 instancias de Amazon en función de los activadores definidos por el usuario. Los usuarios pueden configurar *grupos de escalado automático* y asociar *disparadores* a esos grupos para escalar automáticamente los recursos informáticos en función de determinadas métricas, como el uso de ancho de banda o la utilización de CPU. Amazon EC2 Auto Scaling trabaja con Amazon CloudWatch para recuperar las métricas de las instancias de servidor que ejecutan la aplicación.

Amazon EC2 Auto Scaling le permite tomar un grupo de EC2 instancias de Amazon y establecer varios parámetros para que el número de este grupo aumente o disminuya automáticamente. Amazon EC2 Auto Scaling puede añadir o eliminar EC2 instancias de Amazon de ese grupo para ayudarle a gestionar sin problemas los cambios de tráfico en su aplicación. 

 Amazon EC2 Auto Scaling también supervisa el estado de cada EC2 instancia de Amazon que lanza. Si alguna instancia termina inesperadamente, Amazon EC2 Auto Scaling detecta la terminación y lanza una instancia de reemplazo. Esta capacidad le permite mantener automáticamente un número fijo y deseado de EC2 instancias de Amazon. 

Elastic Beanstalk aprovisiona EC2 Amazon Auto Scaling para su aplicación. Puede editar la configuración de instancias de Amazon del entorno de Elastic Beanstalk con EC2 la pestaña **Auto Scaling dentro de la** pestaña del entorno de aplicaciones del Toolkit for AWS Visual Studio.

![\[Panel de configuración escalado automático de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling.png)


En la siguiente sección se explica cómo se configuran los parámetros de escalado automático para la aplicación. 

## Lanzar la configuración
<a name="create_deploy_NET.managing.as.launchconfig"></a>

Puede editar la configuración de lanzamiento para controlar el modo en que la aplicación de Elastic Beanstalk aprovisiona los recursos de EC2 Amazon Auto Scaling.

Los cuadros **Minimum Instance Count (Número mínimo de instancias)** y **Maximum Instance Count (Número máximo de instancias)** le permiten especificar el tamaño mínimo y máximo del grupo de escalado automático que la aplicación de Elastic Beanstalk utiliza.

![\[Ventana de configuración de lanzamiento de escalado automático de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling-launchconfig.png)


**nota**  
Para mantener un número fijo de EC2 instancias de Amazon, defina el **número mínimo de instancias** y el **número máximo de instancias** en el mismo valor.

El cuadro **Zonas de disponibilidad** te permite especificar el número de zonas de disponibilidad en las que quieres que estén tus EC2 instancias de Amazon. Es importante definir este número si desea crear aplicaciones tolerantes a errores. Si una zona de disponibilidad deja de funcionar, las instancias se ejecutarán en las otras zonas de disponibilidad. 

**nota**  
En la actualidad, no es posible especificar en qué zona de disponibilidad se encontrará la instancia. 

## Desencadenadores
<a name="create_deploy_NET.managing.as.trigger"></a>

Un *disparador* es un mecanismo de Amazon EC2 Auto Scaling que se configura para indicar al sistema cuándo *se quiere aumentar (escalar*) el número de instancias y cuándo se quiere disminuir (*escalar*) el número de instancias. Puedes configurar los activadores para que se *activen* en cualquier métrica publicada en Amazon CloudWatch, como el uso de la CPU, y determinar si se cumplen las condiciones que especificaste. Cuando se supera el umbral superior o inferior de las condiciones que ha especificado para la métrica durante el periodo de tiempo especificado, el disparador lanza un proceso de larga ejecución llamado *actividad de escalado*.

Puede definir un activador de escalado para la aplicación de Elastic Beanstalk mediante Toolkit AWS for Visual Studio.

![\[Disparador de escalado automático de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling-triggers.png)


Los activadores de Amazon EC2 Auto Scaling funcionan al observar una CloudWatch métrica de Amazon específica para una instancia. Se incluyen disparadores para el uso de la CPU, el tráfico de red y la actividad del disco. Use la opción **Trigger Measurement (Medición de desencadenador)** para seleccionar una métrica para el desencadenador.

En la siguiente lista se describen los parámetros de activación que puede configurar mediante la consola AWS de administración.
+ Puede especificar qué estadística debe usar el disparador. Puede seleccionar **Minimum (Mínimo)**, **Maximum (Máximo)**, **Sum (Suma)** o **Average (Media)** para **Trigger Statistic (Estadística de desencadenador)**.
+ En **Unit of Measurement (Unidad de medición)**, especifique la unidad de medida del disparador.
+ El valor del cuadro **Periodo de medición** especifica la frecuencia con la que Amazon CloudWatch mide las métricas de tu activador. El valor de **Breach Duration (Duración de la interrupción)** es la cantidad de tiempo que una métrica puede sobrepasar el límite definido (según lo especificado en **Upper Threshold (Umbral superior)** y **Lower Threshold (Umbral inferior)**) antes de que se active el disparador.
+ Para el **incremento de la escala de brechas superior** y el **incremento de la escala de brechas inferior**, especifica cuántas EC2 instancias de Amazon quieres añadir o eliminar al realizar una actividad de escalado. 

Para obtener más información sobre Amazon EC2 Auto Scaling, consulte la sección *Amazon EC2 Auto Scaling* en la [documentación de Amazon Elastic Compute Cloud](https://aws.amazon.com/documentation/ec2/).

# Configuración de notificaciones mediante el AWS kit de herramientas de Visual Studio
<a name="create_deploy_NET.container.sns"></a>

Elastic Beanstalk utiliza Amazon Simple Notification Service (Amazon SNS) para enviarle notificaciones sobre eventos importantes que afectan a la aplicación. Para habilitar las notificaciones de Amazon SNS, solo tiene que introducir su dirección de correo electrónico en el cuadro **Email Address (Dirección de correo electrónico)**. Para desactivar estas notificaciones, quite la dirección de correo electrónico del cuadro.

![\[Ventana de notificaciones de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-notifications.png)


# Configuración de contenedores.NET mediante el AWS kit de herramientas de Visual Studio
<a name="create_deploy_NET.container"></a>

 El panel **Container/.NET Options** le permite ajustar el comportamiento de sus EC2 instancias de Amazon y activar o desactivar la rotación de registros de Amazon S3. Puede usar el AWS Toolkit for Visual Studio para configurar la información del contenedor.

**nota**  
Puede modificar la configuración sin tiempo de inactividad intercambiando el CNAME de los entornos. Para obtener más información, consulte [Implementaciones Blue/Green (azul/verde) con Elastic Beanstalk](using-features.CNAMESwap.md).

Si lo desea, puede ampliar el número de parámetros. Para obtener información sobre cómo ampliar los parámetros, consulte [Opciones de configuración](ebextensions-optionsettings.md).

**Para obtener acceso al panel Container/.NET Options de su aplicación de Elastic Beanstalk**

1. En AWS Toolkit for Visual Studio, expanda el nodo de Elastic Beanstalk y el nodo de la aplicación. 

1. En **Explorador de AWS **, haga doble clic en su entorno de Elastic Beanstalk.

1. En la parte inferior del panel **Overview (Información general)**, haga clic en la pestaña **Configuration (Configuración)**.

1. En **Container (Contenedor)**, puede configurar las opciones del contenedor.   
![\[Panel de contenedor de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-container.png)

## Opciones del contenedor .NET
<a name="create_deploy_NET.container.vs.options"></a>

Puede elegir la versión de .NET Framework de la aplicación. Elija 2.0 o 4.0 en **Target runtime (Tiempo de ejecución objetivo)**. Seleccione **Enable 32-bit Applications (Habilitar aplicaciones de 32 bits)** si desea habilitar las aplicaciones de 32 bits.

## Application settings
<a name="create_deploy_NET.container.vs.options.envprop"></a>

La sección **Application Settings (Configuración de aplicación)** le permite especificar variables de entorno que se pueden leer desde el código de la aplicación. 

![\[Panel de contenedor de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-container-envproperties.png)


# Administración de cuentas
<a name="create_deploy_NET.accounts"></a>

## 
<a name="create_deploy_NET.accounts.details"></a>

Si desea configurar AWS cuentas diferentes para realizar diferentes tareas, como pruebas, puesta en escena y producción, puede agregar, editar y eliminar cuentas con el AWS Toolkit for Visual Studio.

**Para administrar varias cuentas**

1.  Vaya a Visual Studio y en el menú **Ver**, haga clic en **Explorador de AWS **.

1.  Junto a la lista **Account (Cuenta)**, haga clic en el botón **Add Account (Añadir cuenta)**.   
![\[AWS pestaña del explorador\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-aws-explorer-tab.png)

    Se abre el cuadro de diálogo **Add Account (Añadir cuenta)**.   
![\[Cuadro de diálogo Add Account (Añadir cuenta)\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-add-account.png)

1. Especifique la información solicitada. 

1.  Ahora, la información de la cuenta aparecerá en la pestaña **Explorador de AWS **. Cuando publique en Elastic Beanstalk, podrá seleccionar la cuenta que le gustaría utilizar. 

# Listado y conexión a instancias de servidor
<a name="create_deploy_NET.ec2connect"></a>

Puede ver una lista de las EC2 instancias de Amazon que ejecutan el entorno de aplicaciones de Elastic Beanstalk mediante el Toolkit AWS for Visual Studio o desde la consola de administración. AWS Puede conectarse a estas instancias a través de Conexión a Escritorio remoto. Para obtener información sobre cómo enumerar las instancias de su servidor y conectarse a ellas mediante la consola de AWS administración, consulte. [Listado y conexión a instancias de servidor](using-features.ec2connect.md) En la siguiente sección, se explica cómo ver y conectarse a las instancias de servidor mediante el AWS Toolkit for Visual Studio.

**Para ver las EC2 instancias de Amazon de un entorno y conectarse a ellas**

1.  En Visual Studio, en **AWS Explorer**, expanda el EC2 nodo **Amazon** y haga doble clic en **Instances**. 

1.  Haga clic con el botón derecho en el ID de EC2 instancia de la instancia de Amazon que se ejecuta en el balanceador de carga de su aplicación en la columna **Instancia** y seleccione **Abrir escritorio remoto** en el menú contextual.   
![\[Cuadro de diálogo Abrir Escritorio remoto)\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-rdp-login.png)

1.  Selecciona **Usar EC2 par de claves para iniciar sesión** y pega el contenido del archivo de clave privada que usaste para implementar la aplicación en el cuadro de **clave privada**. Si lo desea, también puede escribir el nombre de usuario y la contraseña en los cuadros de texto **User name (Nombre de usuario)** y **Password (Contraseña)**.
**nota**  
Si el par de claves está guardado dentro del conjunto de herramientas, el cuadro de texto no aparecerá.

1. Haga clic en **OK (Aceptar)**.

# Supervisión del estado de mantenimiento de la aplicación
<a name="create_deploy_NET.healthstatus"></a>

Cuando ejecuta un sitio web de producción, es importante saber que su aplicación está disponible y responde a las solicitudes. Para ayudarle a supervisar la capacidad de respuesta de su aplicación, Elastic Beanstalk cuenta con características con las que podrá supervisar las estadísticas de la aplicación y crear alertas que se activen cuando se superen determinados umbrales.

Para obtener información sobre la supervisión de estado proporcionada por Elastic Beanstalk, consulte [Informes de estado básicos](using-features.healthstatus.md).

Puede acceder a la información operativa de la aplicación mediante el AWS Toolkit for Visual Studio o AWS la Consola de administración.

En el conjunto de herramientas, se muestra el estado del entorno y la aplicación en el campo **Status (Estado)**.

![\[Estado de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-env-status.png)


**Para supervisar el estado de la aplicación**

1. En el AWS Toolkit for Visual Studio, **AWS en** el Explorador, expanda el nodo Elastic Beanstalk y, a continuación, expanda el nodo de la aplicación. 

1. Haga clic con el botón derecho en el entorno de Elastic Beanstalk y, a continuación, haga clic en **View Status (Ver estado)**.

1. En la pestaña del entorno de la aplicación, haga clic en **Monitoring (Supervisión)**.

   El panel **Monitoring (Supervisión)** contiene un conjunto de gráficos donde se muestra el uso que hace de los recursos un entorno de aplicación concreto.  
![\[Panel de supervisión de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-monitoring.png)
**nota**  
De forma predeterminada, el intervalo de tiempo está establecido en la última hora. Para modificar este valor, en la lista **Time Range (Intervalo de tiempo)**, haga clic en un intervalo de tiempo diferente.

Puede usar el AWS Toolkit for Visual Studio o AWS la Consola de administración para ver los eventos asociados a la aplicación.

**Para ver los eventos de la aplicación**

1. En el AWS Toolkit for Visual Studio, **AWS en** el Explorador, expanda el nodo Elastic Beanstalk y el nodo de la aplicación. 

1. Vaya a **Explorador de AWS **, haga clic con el botón derecho en el entorno de Elastic Beanstalk y, a continuación, haga clic en **Ver estado**. 

1. En la pestaña del entorno de la aplicación, haga clic en **Events (Eventos)**.  
![\[Panel de eventos de Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/images/aeb-vs-events.png)

# Implementación de aplicaciones de Elastic Beanstalk en .NET mediante herramientas de implementación AWS
<a name="deploy_NET_standalone_tool"></a>

AWS ofrece dos herramientas de línea de comandos para implementar aplicaciones.NET Core y ASP.NET Core en Elastic Beanstalk:
+ AWS Herramienta de **implementación.NET: una herramienta** de línea de comandos moderna que simplifica la implementación de aplicaciones.NET en AWS los servicios, incluido Elastic Beanstalk. Esta herramienta proporciona una experiencia interactiva y puede detectar automáticamente el mejor AWS servicio para su aplicación. Para obtener más información, consulte la [herramienta de implementación de .NET de AWS](https://github.com/aws/aws-dotnet-deploy?tab=readme-ov-file#aws-net-deployment-tool).
+ **AWS Extensiones para .NET CLI**: conjunto de extensiones CLI de.NET que proporcionan comandos para implementar aplicaciones de.NET Core en Elastic AWS Beanstalk y otros servicios. Estas extensiones se integran con el flujo de trabajo estándar de la CLI de .NET. Para obtener más información, consulte las [extensiones de AWS para la CLI de .NET](https://github.com/aws/aws-extensions-for-dotnet-cli?tab=readme-ov-file#aws-elastic-beanstalk-amazonelasticbeanstalktools).

# Migración de la aplicación .NET local a Elastic Beanstalk
<a name="dotnet-onpremmigration"></a>

AWS Elastic Beanstalk proporciona una ruta de migración simplificada para las aplicaciones de Windows que se ejecutan en Internet Information Services (IIS) a través de la interfaz de línea de comandos de Elastic Beanstalk (EB CLI). El **eb migrate** comando descubre automáticamente los sitios, aplicaciones y directorios virtuales de IIS, conserva sus configuraciones y los despliega en la nube. AWS 

Esta capacidad de migración integrada ofrece un enfoque más sencillo que reduce la complejidad y el tiempo que suelen asociarse a las migraciones a la nube. El proceso de migración ayuda a mantener la funcionalidad de la aplicación y la integridad de la configuración durante la transición a AWS.

Para obtener instrucciones completas y detalladas sobre cómo migrar las aplicaciones de IIS a AWS Elastic Beanstalk, consulte el [Migración de aplicaciones de IIS a Elastic Beanstalk](dotnet-migrating-applications.md) capítulo de esta guía.

# Recomendaciones para los componentes retirados de Windows Server en Elastic Beanstalk
<a name="dotnet-deprecation-recommendations"></a>

En este tema se proporcionan recomendaciones si sus aplicaciones se ejecutan actualmente en las ramificaciones de la plataforma retiradas de Windows Server 2012 R2. También aborda la compatibilidad obsoleta con las versiones del protocolo TLS 1.0 y 1.1 en los puntos finales de nuestra API de AWS servicio y en las sucursales de la plataforma afectadas.

## Se retiraron las ramificaciones de la plataforma Windows Server 2012 R2
<a name="dotnet-retired-branches"></a>

Elastic Beanstalk retiró las [sucursales de la plataforma Windows Server 2012 R2 el 4 de diciembre de](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html) 2023 y AMIs convirtió las asociadas a esas plataformas en privadas el 10 de abril de 2024. Esta acción impide la inicialización de instancias en los entornos de Windows Server 2012 que usen la AMI de Beanstalk predeterminada.

Si tiene algún entorno que se ejecute en ramificaciones de la plataforma retiradas de Windows Server, que están actualizadas y son totalmente compatibles:
+ Windows Server 2022 con IIS 10.0 versión 2.x
+ Windows Server 2019 con IIS 10.0 versión 2.x

Para obtener información completa sobre la migración, consulte [Migración desde versiones principales anteriores de la plataforma Windows Server](dotnet-v2migration.md#dotnet-v2migration.migration).

Para obtener más información acerca de la obsolescencia de la plataforma, consulte [Política de compatibilidad con plataformas Elastic Beanstalk](platforms-support-policy.md).

**nota**  
Si no puede migrar a estas plataformas totalmente compatibles, le recomendamos que utilice la imagen personalizada AMIs creada con Windows Server 2012 R2 o Windows Server 2012 R2 Core AMIs como imagen base, si aún no lo ha hecho. Para obtener instrucciones detalladas, consulte [Conservar el acceso a una Imagen de máquina de Amazon (AMI) de una plataforma retirada](using-features.customenv-env-copy.md). Póngase en contacto con el [centro de asistencia de AWS](https://console.aws.amazon.com/support/home#/) si necesita acceso temporal a una AMI mientras sigue uno de estos pasos de migración.

## Compatibilidad con TLS 1.2
<a name="tls-1-2-enforcement."></a>

El 31 de diciembre de 2023, AWS comenzó a aplicar plenamente la TLS 1.2 en todos los puntos finales de la AWS API. Esta acción eliminó la posibilidad de usar las versiones 1.0 y 1.1 de TLS con todas. AWS APIs Esto se comunicó originalmente el [28 de junio de 2022](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/). Para evitar el riesgo de que la disponibilidad se vea afectada, actualice los entornos que ejecuten las versiones de la plataforma identificadas aquí a una versión más reciente lo antes posible, si aún no lo ha hecho.

**Impacto potencial**  
Se ven afectadas las versiones de las plataformas de Elastic Beanstalk que ejecuten la versión 1.1 o una anterior de TLS. Las acciones del entorno que se ven afectadas por este cambio incluyen, entre otras, las siguientes: implementaciones de configuración, implementaciones de aplicaciones, escalado automático, lanzamiento de nuevo entorno, rotación de registros, informes de estado mejorados y registros de aplicación de publicación al bucket de Amazon S3 asociado a sus aplicaciones.

**Versiones de la plataforma Windows afectadas**  
Se recomienda a los clientes que tengan entornos de Elastic Beanstalk en la siguiente versión de la plataforma que actualicen cada uno de sus entornos correspondientes a la versión 2.8.3 o posterior de la plataforma Windows, lanzada el [18 de febrero de 2022.](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-02-18-windows.html)
+ Windows Server 2019: versión de la plataforma 2.8.2 o versiones anteriores

Se recomienda a los clientes que tengan entornos de Elastic Beanstalk en las siguientes versiones de plataforma que actualicen cada uno de sus entornos correspondientes a la versión 2.10.7 o posterior de la plataforma Windows, lanzada el [28 de diciembre de 2022.](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-12-28-windows.html)
+ Windows Server 2016: versión de la plataforma 2.10.6 o versiones anteriores
+ Windows Server 2012: todas las versiones de la plataforma (esta plataforma se retiró el [4 de diciembre de 2023](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html)) 
+ Windows Server 2008: todas las versiones de la plataforma (esta plataforma se retiró el [28 de octubre de 2019](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2019-10-28-windows.html)) 

Para obtener una lista de estas versiones de la plataforma de Windows Server, consulte [Plataformas admitidas](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) en la guía *Plataformas de AWS Elastic Beanstalk *. 

Para obtener más información y conocer las prácticas recomendadas sobre la actualización del entorno, consulte [Actualización de la versión de la plataforma del entorno de Elastic Beanstalk](using-features.platform.upgrade.md).