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.
QuickStart: implementar una aplicación .NET Core en Elastic Beanstalk
En este tutorial de QuickStart se detalla el proceso de creación de una aplicación .NET Core en Linux y su implementación en un entorno de AWS Elastic Beanstalk.
nota
Este tutorial de QuickStart pretende servir de ejemplo. No utilice la aplicación creada en este tutorial para el tráfico de producción.
Secciones
- Cuenta de AWS
- Requisitos previos
- Paso 1: crear una aplicación de .NET Core en Linux
- Paso 2: ejecutar la aplicación a nivel local
- Paso 3: implementar la aplicación .NET Core en Linux con la CLI de EB
- Paso 4: ejecutar la aplicación en Elastic Beanstalk
- Paso 5: Eliminar
- Recursos deAWS para su aplicación
- Siguientes pasos
- Implementar con la consola de Elastic Beanstalk
Cuenta de AWS
Si aún no es cliente de AWS, necesitará crear una cuenta de AWS. Cuando lo haga, tendrá acceso a Elastic Beanstalk y otros servicios de AWS que necesita.
Si ya tiene una cuenta de AWS, puede pasar a Requisitos previos.
Registro en una Cuenta de AWS
Si no dispone de una Cuenta de AWS, siga estos pasos para crear una.
Procedimiento para registrarse en Cuenta de AWS
Abra https://portal.aws.amazon.com/billing/signup
. Siga las instrucciones que se le indiquen.
Parte del procedimiento de registro consiste en recibir una llamada telefónica e indicar un código de verificación en el teclado del teléfono.
Al registrarse en una Cuenta de AWS, se crea un Usuario raíz de la cuenta de AWS. 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.
AWS le enviará un email de confirmación cuando complete el proceso de registro. Puede ver la actividad de la cuenta y administrar la cuenta en cualquier momento entrando en https://aws.amazon.com/
Creación de un usuario con acceso administrativo
Después de registrarse para obtener una Cuenta de AWS, proteja su Usuario raíz de la cuenta de AWS, habilite AWS IAM Identity Center y cree un usuario administrativo para no utilizar el usuario raíz en las tareas cotidianas.
Protección de Usuario raíz de la cuenta de AWS
-
Inicie sesión en AWS Management Console
como propietario de la cuenta; para ello, elija Usuario raíz e introduzca el correo electrónico de su Cuenta de AWS. 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 en la Guía del usuario de AWS Sign-In.
-
Active la autenticación multifactor (MFA) para el usuario raíz.
Para obtener instrucciones, consulte Habilitación de un dispositivo MFA virtual para su usuario raíz de la Cuenta de AWS (consola) en la Guía del usuario de IAM.
Creación de un usuario con acceso administrativo
-
Activar IAM Identity Center.
Consulte las instrucciones en Activar AWS IAM Identity Center en la Guía del usuario de AWS IAM Identity Center.
-
En IAM Identity Center, conceda acceso administrativo a un usuario.
Para ver un tutorial sobre cómo utilizar Directorio de IAM Identity Center como origen de identidad, consulte Configuración del acceso de los usuarios con el Directorio de IAM Identity Center predeterminado en la Guía del usuario de AWS IAM Identity Center.
Iniciar sesión como usuario con acceso de administrador
-
Para iniciar sesión con el usuario de IAM Identity Center, utilice 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 IAM Identity Center, consulte Inicio de sesión en el portal de acceso de AWS en la Guía del usuario de AWS Sign-In.
Concesión de acceso a usuarios adicionales
-
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 en la Guía del usuario de AWS IAM Identity Center.
-
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 en la Guía del usuario de AWS IAM Identity Center.
Requisitos previos
nota
Las cuentas de AWS creadas después del 1 de octubre de 2024 deben configurar temporalmente una opción para crear correctamente un nuevo entorno. Al igual que con las cuentas nuevas, pero solo en las regiones en las que la cuenta aún no tenga un entorno, las cuentas existentes deben realizar la misma acción. Para obtener más información, consulte Plantillas de lanzamiento.
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 del sistema ($) y del nombre del directorio actual, si es aplicable.
~/eb-project$ this is a command
this is output
En Linux y macOS, puede utilizar el administrador de shell y paquetes preferido. En Windows, puede instalar Windows Subsystem para Linux
CLI DE EB
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 Instalar la interfaz de línea de comando de Elastic Beanstalk y Configuración de la CLI de EB.
.NET Core en Linux
Si no tiene el SDK de .NET instalado en su máquina local, puede instalarlo en el enlace Descargar .NET
Verifique la instalación del SDK de .NET con el siguiente comando.
~$ dotnet --info
Paso 1: crear una aplicación de .NET Core en Linux
Cree el directorio del proyecto.
~$ mkdir eb-dotnetcore
~$ cd eb-dotnetcore
A continuación, cree un ejemplo de aplicación Hello World mediante los siguientes comandos.
~/eb-dotnetcore$
dotnet new web --name HelloElasticBeanstalk
~/eb-dotnetcore$cd HelloElasticBeanstalk
Paso 2: ejecutar la aplicación a nivel local
Para implementar la aplicación localmente, ejecute el siguiente comando.
~/eb-dotnetcore/HelloElasticBeasntalk$ dotnet run
El resultado debería tener un aspecto similar al texto siguiente.
Building... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7294 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5052 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]
nota
El comando dotnet
selecciona un puerto de forma aleatoria al ejecutar la aplicación localmente. En este ejemplo, el puerto es 5052. 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:
en su navegador. Para este ejemplo específico, el comando es port
http://localhost:5052
. El navegador web debería mostrar «Hello World!».
Paso 3: implementar la aplicación .NET Core en Linux con la CLI de EB
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 Linux
Compila y publica tu aplicación en una carpeta para implementarla en el entorno de Elastic Beanstalk que vas a crear.
~$
cd eb-dotnetcore/HelloElasticBeanstalk
~/eb-dotnetcore/HelloElasticBeanstalk$dotnet publish -o site
-
Navegue hasta el directorio del sitio en el que acaba de publicar la aplicación.
~/eb-dotnetcore/HelloElasticBeanstalk$
cd site
-
Inicialice el repositorio de la CLI de EB con el comando eb init.
Tenga en cuenta los siguientes detalles relacionados con la versión de la ramificación de la plataforma que especifique en el comando:
Sustituya
en el siguiente comando por la versión más reciente de la ramificación de la plataforma .NET 6 en AL2023.x.y.z
Para encontrar la versión más reciente de la ramificación de la plataforma, consulte Plataformas compatibles con .NET Core en Linux en la guía Plataformas de AWS Elastic Beanstalk.
Un ejemplo del nombre de una pila de soluciones que incluye el número de versión es
64bit-amazon-linux-2023-v3.1.1-running-.net-6
. En este ejemplo, la versión de la ramificación es 3.1.1.
~eb-dotnetcore/HelloElasticBeanstalk/site$
eb init -p 64bit-amazon-linux-2023-v
Application dotnetcore-tutorial has been created.x.y.z
-running-.net-6 dotnetcore-tutorial --region us-east-2Este comando crea una aplicación llamada
dotnetcore-tutorial
y configura el repositorio local para crear entornos con la versión de la plataforma de -NET Core en Linux especificada en el comando. -
(Opcional) Ejecute de nuevo eb init para configurar un par de claves predeterminadas de forma que pueda usar SSH para conectarse a la instancia EC2 donde se ejecuta la aplicación.
~eb-dotnetcore/HelloElasticBeanstalk/site$
eb init
Do you want to set up SSH for your instances? (y/n):y
Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]Seleccione un par de claves si ya tiene uno o siga las instrucciones para crear uno. Si no ve el símbolo del sistema o más adelante necesita cambiar la configuración, ejecute eb init -i.
-
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.
a
~eb-dotnetcore/HelloElasticBeanstalk/site$
eb create dotnet-tutorial
Elastic Beanstalk tarda aproximadamente cinco minutos en crear el entorno.
Paso 4: ejecutar la aplicación en Elastic Beanstalk
Cuando finalice el proceso de creación del entorno, abra el sitio web con eb open.
~eb-dotnetcore/HelloElasticBeanstalk/site$ eb open
¡Enhorabuena! Ha implementado una aplicación .NET Core en Linux con Elastic Beanstalk. Se abre una ventana del navegador con el nombre de dominio creado para su aplicación.
Paso 5: Eliminar
Cuando termine de trabajar con la aplicación, puede terminar el entorno. Elastic Beanstalk cancela todos los recursos de AWS asociados a su entorno.
Utilice el comando siguiente de la CLI de EB para terminar su entorno de Elastic Beanstalk.
~eb-dotnetcore/HelloElasticBeanstalk/site$ eb terminate
Recursos deAWS para su aplicación
Acaba de crear una aplicación de instancia única. Sirve como un ejemplo de aplicación sencillo con una sola instancia de EC2, por lo que no requiere equilibrio de carga ni escalado automático. Para aplicaciones de instancia única, Elastic Beanstalk crea los siguientes recursos de AWS:
-
EC2 instance (Instancia 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 balanceador de carga llegue a la instancia 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.
-
Amazon CloudWatch alarms (Alarmas de Amazon CloudWatch): dos alarmas de CloudWatch que monitorizan la carga de las instancias del entorno y que se activan si la carga es demasiado alta o demasiado baja. Cuando se activa una alarma, en respuesta, el grupo de Auto Scaling aumenta o reduce los recursos.
-
Pila de AWS CloudFormation. Elastic Beanstalk utiliza AWS CloudFormation para lanzar los recursos en su entorno y propagar los cambios de configuración. Los recursos se definen en una plantilla que puede verse en la consola de AWS CloudFormation
. -
Nombre de dominio: nombre de dominio que direcciona el tráfico a la aplicación web con el formato
subdominio
.región
.elasticbeanstalk.com.
Elastic Beanstalk administra todos estos recursos. Cuando termina su entorno, Elastic Beanstalk termina todos los recursos que este contiene.
Siguientes pasos
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 Explorar entorno en el capítulo Introducción de esta guía.
Después de que implemente una aplicación de ejemplo o dos y esté listo para comenzar a desarrollar y ejecutar las aplicaciones de .NET Core en Linux de forma local, consulte Configuración del entorno de desarrollo .NET Core en Linux para Elastic Beanstalk.
Implementar con la consola de Elastic Beanstalk
También puede utilizar la consola de Elastic Beanstalk para lanzar ele ejemplo de aplicación. Para ver los pasos detallados, consulte Crear ejemplo de aplicación en el capítulo Introducción de esta guía.