Implemente una aplicación ASP.NET tradicional en Elastic Beanstalk - AWS Kit de herramientas para Visual Studio

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.

Implemente una aplicación ASP.NET tradicional en Elastic Beanstalk

En esta sección se describe cómo usar el asistente Publicar en Elastic Beanstalk, incluido como parte del kit de herramientas de Visual Studio, para implementar una aplicación a través de Elastic Beanstalk. Para practicar, puede utilizar una instancia de un proyecto de inicio de aplicación web creado en Visual Studio o usar su propio proyecto.

nota

El asistente también es compatible con la implementación de aplicaciones ASP.NET Core. Para obtener información sobre ASP.NET Core, consulte la guía de herramientas de implementación deAWS .NET y laAWS tabla de contenido actualizada de Implementación en.

nota

Para poder utilizar el asistente Publish to Elastic Beanstalk (Publicar en Elastic Beanstalk), debe descargar e instalar Web Deploy. El asistente se basa en Web Deploy para implementar aplicaciones web y páginas web en servidores web de Internet Information Services (IIS).

Para crear un proyecto de inicio de aplicación web de muestra

  1. En Visual Studio, desde el menú File (Archivo), elija New (Nuevo) y, a continuación, elija Project (Proyecto).

  2. En el panel de navegación del cuadro de diálogo Nuevo proyecto, expanda Instalado, expanda Plantillas, expanda Visual C# y, a continuación, elija Web.

  3. En la lista de plantillas de proyectos web, elija cualquier plantilla que contenga las palabras Web y Application en su descripción. Para este ejemplo, elija ASP.NET Web Forms Application (Aplicación de formularios Web Forms ASP.NET).

  4. En el cuadro Name (Nombre), escriba AEBWebAppDemo.

  5. En el cuadro Location (Ubicación), escriba la ruta hasta una carpeta de soluciones en su equipo de desarrollo o elija (Examinar) y, a continuación, busque y elija una carpeta de soluciones y elija Select Folder (Seleccionar carpeta).

  6. Confirme que se ha seleccionado el cuadro Crear directorio para la solución. En la lista desplegable Solution (Solución), confirme que se ha seleccionado Create new solution (Crear solución nueva) y, a continuación, elija OK (Aceptar). Visual Studio creará una solución y un proyecto basados en la plantilla del proyecto ASP.NET Web Forms Application. Visual Studio mostrará, a continuación, Solution Explorer donde aparecerán la solución y el proyecto nuevos.

Para implementar una aplicación utilizando el asistente Publish to Elastic Beanstalk

  1. En el Explorador de soluciones, abra el menú contextual (haga clic con el botón derecho) de la carpeta de proyectos de AEBWebAppDemo del proyecto que creó en la sección anterior o abra el menú contextual de la carpeta de proyectos de su propia aplicación y elija Publicar enAWS Elastic Beanstalk.

    Aparece el asistente Publish to Elastic Beanstalk (Publicar en Elastic Beanstalk).

  2. En Perfil, en la lista desplegable Perfil de cuenta que se usará en la implementación, elija el perfil deAWS cuenta que desea usar para la implementación.

    De manera opcional, si tienes unaAWS cuenta que quieres usar, pero aún no has creado unAWS perfil para ella, puedes elegir el botón con el símbolo más (+) para añadir un perfil deAWS cuenta.

  3. En la lista desplegable Región, elija la región en la que desea que Elastic Beanstalk implemente la aplicación.

  4. En Deployment Target (Destino de implementación), puede elegir entre Create a new application environment (Crear un nuevo entorno de aplicación) para realizar una implementación inicial de una aplicación o Redeploy to an existing environment (Volver a implementar en un entorno existente) para volver a implementar una aplicación implementada anteriormente. (Es posible que las implementaciones anteriores se hayan realizado con el asistente o con la obsoleta herramienta de implementación independiente). Si elige Redeploy to an existing environment (Volver a implementar en un entorno existente), podría producirse un retraso mientras el asistente recupera información de implementaciones anteriores que se están ejecutando en este momento.

    nota

    Si elige Redeploy to an existing environment (Volver a implementar en un entorno existente), elija un entorno en la lista y, a continuación, elija Next (Siguiente); el asistente le llevará directamente a la página Application Options (Opciones de la aplicación). Si opta por esta ruta, avance hasta llegar a las instrucciones que aparecen más adelante en esta sección que describen cómo utilizar la página Application Options (Opciones de la aplicación).

  5. Elija Next (Siguiente).

  6. En la página Application Environment (Entorno de la aplicación), en el área Application (Aplicación), la lista desplegable Name (Nombre) propone un nombre predeterminado para la aplicación. Para cambiar el nombre predeterminado, seleccione otro nombre en la lista desplegable.

  7. En el área Entorno, en la lista desplegable de nombres, escriba un nombre para su entorno de Elastic Beanstalk. En este contexto, el término entorno hace referencia a la infraestructura que Elastic Beanstalk proporciona para su aplicación. Es posible que ya se haya propuesto un nombre predeterminado en esta lista desplegable. Si aún no se ha propuesto un nombre predeterminado, puede escribir uno o elegir uno en la lista desplegable, si hay nombres adicionales disponibles. El nombre del entorno no puede tener una longitud superior a 23 caracteres.

  8. En el área URL, el cuadro propone un subdominio predeterminado de .elasticbeanstalk.com que será la URL para su aplicación web. Para cambiar el subdominio predeterminado, escriba un nombre nuevo de subdominio.

  9. Elija Check availability (Comprobar disponibilidad) para comprobar que la dirección URL para su aplicación web no se esté utilizando ya.

  10. Si puede utilizarse la dirección URL para su aplicación web, elija Next (Siguiente).

  1. En la página de AWSopciones, en Amazon EC2 Launch Configuration, en la lista desplegable de tipos de contenedor, elija el tipo de imagen de máquina de Amazon (AMI) que se utilizará en la aplicación.

  2. En la lista desplegable de tipos de instancias, especifique el tipo de instancia de Amazon EC2 que desea utilizar. Para este ejemplo, recomendamos que utilice Micro. Esto reducirá al mínimo el costo asociado con la ejecución de la instancia. Para obtener más información sobre los costos de Amazon EC2, consulte la página Precios de EC2.

  3. En la lista desplegable de pares de claves, elija un key pair de instancias de Amazon EC2 para iniciar sesión en las instancias que se utilizarán para su aplicación.

  4. En el cuadro Use custom AMI (Utilizar AMI personalizada), puede especificar una AMI personalizada que sustituirá a la AMI especificada en la lista desplegable Container type (Tipo de contenedor). Para obtener más información sobre cómo crear una AMI personalizada, consulte Uso de AMI personalizadas en la Guía para desarrolladores deAWS Elastic Beanstalk y cree una AMI a partir de una instancia de Amazon EC2.

  5. Si desea lanzar sus instancias en una VPC, seleccione el cuadro Use a VPC (Usar una VPC).

  6. Si lo desea, si desea lanzar una única instancia de Amazon EC2 y, a continuación, implementar su aplicación en ella, seleccione la casilla Entorno de instancia única.

    Si selecciona esta casilla, Elastic Beanstalk seguirá creando un grupo de Auto Scaling, pero no lo configurará. Si desea configurar el grupo Auto Scaling más adelante, puede usar elAWS Management Console.

  7. Si desea controlar las condiciones bajo las cuales se implementa su aplicación a las instancias, seleccione el cuadro Enable Rolling Deployments (Habilitar implementaciones continuas). Únicamente puede seleccionar este cuadro si no ha seleccionado el cuadro Single instance environment (Entorno de instancia individual).

  8. Si su aplicación utilizaAWS servicios como Amazon S3 y DynamoDB, la mejor manera de proporcionar credenciales es utilizar un rol de IAM. En el área Permisos de aplicaciones implementados, puede elegir un rol de IAM existente o crear uno que el asistente utilizará para lanzar su entorno. Las aplicaciones que utilicen elAWS SDK for .NET usarán automáticamente las credenciales proporcionadas por este rol de IAM al realizar una solicitud a unAWS servicio.

  9. Si su aplicación accede a una base de datos de Amazon RDS, en la lista desplegable del área Acceso a bases de datos relacionales, seleccione las casillas situadas junto a los grupos de seguridad de Amazon RDS que el asistente actualice para que sus instancias de Amazon EC2 puedan acceder a esa base de datos.

  10. Elija Next (Siguiente).

    • Si seleccionó Use a VPC (Usar una VPC), aparecerá la página VPC Options (Opciones de VPC).

    • Si seleccionó Enable Rolling Deployments (Habilitar implementaciones continuas), pero no seleccionó Use a VPC (Usar una VPC), aparecerá la página Rolling Deployments (Implementaciones continuas). Avance hasta llegar a las instrucciones que aparecen más adelante en esta sección que describen cómo utilizar la página Rolling Deployments (Implementaciones continuas).

    • Si no seleccionó Use a VPC (Usar una VPC) o Enable Rolling Deployments (Habilitar implementaciones continuas), aparecerá la página Application Options (Opciones de la aplicación). Avance hasta llegar a las instrucciones que aparecen más adelante en esta sección que describen cómo utilizar la página Application Options (Opciones de la aplicación).

  11. Si seleccionó Use a VPC (Usar una VPC), especifique información en la página VPC Options (Opciones de VPC) para lanzar su aplicación en una VPC.

    Se tiene que haber creado ya la VPC. Si creó la VPC en el Toolkit for Visual Studio, el Toolkit for Visual Studio llenará esta página por usted. Si creó la VPC en la consolaAWS de administración, escriba la información sobre la VPC en esta página.

Consideraciones clave para la implementación en una VPC

  • La VPC necesita al menos un subred pública y una subred privada.

  • En la lista desplegable ELB Subnet (Red de ELB), especifique la subred pública. El Toolkit for Visual Studio implementa el balanceador de cargas de Elastic Load Balancing para su aplicación en la subred pública. La subred pública está asociada a una tabla de ruteo que tiene una entrada que señala a una gateway de Internet. Puede reconocer una puerta de enlace de Internet porque tiene un ID que comienza por igw- (por ejemplo, igw-83cddaex). Las subredes públicas que se crean con el Toolkit for Visual Studio tienen valores de etiqueta que las identifican como públicas.

  • En la lista desplegable Instances Subnet (Subred de instancias), especifique la subred privada. El Toolkit for Visual Studio implementa las instancias de Amazon EC2 de su aplicación en la subred privada.

  • Las instancias de Amazon EC2 de su aplicación se comunican desde la subred privada a Internet a través de una instancia de Amazon EC2 en la subred pública que realiza la traducción de direcciones de red (NAT). Para habilitar esta comunicación, necesitará un grupo de seguridad VPC que permita que el tráfico fluya desde la subred privada a la instancia NAT. Especifique este grupo de seguridad VPC en la lista desplegable Security Group (Grupo de seguridad).

Para obtener más información sobre cómo implementar una aplicación de Elastic Beanstalk en una VPC, consulte la Guía para desarrolladores deAWS Elastic Beanstalk.

  1. Una vez que haya completado toda la información en la página VPC Options (Opciones de VPC), elija Next (Siguiente).

    • Si seleccionó Enable Rolling Deployments (Habilitar implementaciones continuas), aparecerá la página Rolling Deployments (Implementaciones continuas).

    • Si no seleccionó Enable Rolling Deployments (Habilitar implementaciones continuas), aparecerá la página Application Options (Opciones de la aplicación). Avance hasta llegar a las instrucciones que aparecen más adelante en esta sección que describen cómo utilizar la página Application Options (Opciones de la aplicación).

  2. Si seleccionó Enable Rolling Deployments (Habilitar implementaciones continuas), debe especificar información en la página Rolling Deployments (Implementaciones continuas) para configurar cómo se implementan las versiones nuevas de las aplicaciones a las instancias en un entorno equilibrado de carga. Por ejemplo, si tiene cuatro instancias en su entorno y desea cambiar el tipo de instancia, puede configurar el entorno para cambiar dos instancias a la vez. Esto ayuda a garantizar que la aplicación se sigue ejecutando mientras se realizan cambios.

  3. En el área Application Versions (Versiones de la aplicación), elija una opción para controlar las implementaciones a un porcentaje o número de instancias a la vez. Especifique el porcentaje o el número deseado.

  4. En el área Environment Configuration (Configuración del entorno), seleccione el cuadro si desea especificar el número de instancias que permanecen en servicio durante las implementaciones. Si selecciona esta casilla, especifique el número máximo de instancias que deben modificarse a la vez, el número mínimo de instancias que deben permanecer en servicio a la vez, o ambos.

  5. Elija Next (Siguiente).

  6. En la página Application Options (Opciones de la aplicación), debe especificar información acerca de los ajustes de la compilación, de Internet Information Services (IIS) y de la aplicación.

  7. En el área Build and IIS Deployment Settings (Configuración de implementación de IIS y de compilación), en la lista desplegable Project build configuration (Configuración de proyecto de compilación), seleccione la configuración de compilación de destino. Si el asistente puede encontrarla, aparece Release (Versión), de lo contrario en el cuadro se muestra la configuración activa.

  8. En la lista desplegable App pool (Grupo de aplicaciones), seleccione la versión de .NET Framework que necesita su aplicación. Debería visualizarse la versión de .NET Framework correcta.

  9. Si su aplicación es de 32 bits, seleccione el cuadro Enable 32-bit applications (Habilitar aplicaciones de 32 bit).

  10. En el cuadro App path (Ruta de la aplicación), especifique la ruta que IIS utilizará para implementar la aplicación. De forma predeterminada, se especifica Default Web Site/ (Sitio web predeterminado/), que normalmente se traduce en la ruta c:\inetpub\wwwroot. Si especifica una ruta distinta a Default Web Site/ (Sitio web predeterminado/), el asistente pondrá un redireccionamiento en la ruta Default Web Site/ (Sitio web predeterminado/) que apunte a la ruta que ha especificado.

  11. En el área Configuración de la aplicación, en la casilla URL de verificación de Health, escriba una URL para que Elastic Beanstalk compruebe si la aplicación web sigue siendo responsiva. Esta URL es relativa a la URL del servidor raíz. De forma predeterminada, se especifica la URL del servidor raíz. Por ejemplo, si la URL completa es example.com/site-is-up.html, escribiría /site-is-up.html.

  12. En el área correspondiente a Key (Clave) y Value (Valor), puede especificar cualquier par de claves y valores que desee añadir al archivo Web.config de su aplicación.

    nota

    Aunque no se recomienda, puede utilizar el área de Clave y Valor para especificarAWS las credenciales con las que debe ejecutarse la aplicación. El enfoque preferido es especificar un rol de IAM en la lista desplegable de funciones Identity and Access Management de la página de AWSopciones. Sin embargo, si debe usarAWS credenciales en lugar de un rol de IAM para ejecutar la aplicación, elija en la fila de claves AWSAccessKey. En la fila Value (Valor), escriba la clave de acceso. Repita estos pasos para AWSSecretKey.

  13. Elija Next (Siguiente).

  14. En la página Review (Revisar), revise las opciones que configuró y seleccione el cuadro Open environment status window when wizard closes (Abrir ventana de estado de entorno cuando se cierra el asistente).

  15. Si todo parece estar correcto, elija Deploy (Implementar).

    nota

    Al implementar la aplicación, la cuenta activa incurrirá en cargos por losAWS recursos utilizados por la aplicación.

    La información sobre la implementación aparecerá en la barra de estado de Visual Studio y en la ventana Output (Salida). Esta operación puede tardar varios minutos. Cuando se haya completado la implementación, aparecerá un mensaje de confirmación en la ventana Output (Salida).

  16. Para eliminar la implementación, en elAWS Explorador, expanda el nodo Elastic Beanstalk, abra el menú contextual (haga clic con el botón derecho) del subnodo de la implementación y, a continuación, elija Eliminar (Eliminar). Este proceso de eliminación puede tardar unos minutos.