Proyectos en AWS
Los bots ahora son aún mejores
con .NET y AWS Toolkit for Visual Studio
Módulo 5: implementación y eliminación
En este módulo implementará el chatbot en EC2 mediante AWS CodeBuild y AWS CodeDeploy e incluso eliminará los recursos que se usen durante este módulo para evitar incurrir en cargos.
Información general
Siga las siguientes instrucciones paso a paso para implementar la aplicación de chatbot y luego eliminar los recursos. Para expandir la sección, haga clic en cada número de paso
Tiempo de realización
30 minutos
Servicios utilizados:
CodeDeploy, CodeBuild, EC2
Instrucciones de implementación
-
Paso 1: implementar
-
Opción 1: implementación en un servidor de Linux
a. En la consola de AWS, haga clic en Servicios y, a continuación, seleccione CodeStar en Herramientas para desarrolladores.
b. Haga clic en Crear nuevo proyecto y elija la plantilla de aplicación web ASP.NET Core.
c. Complete el campo “Nombre del proyecto”, elija CodeCommit como su repositorio y haga clic en Siguiente.
d. Asegúrese de que la opción “AWS CodeStar solicita permiso para administrar recursos de AWS en su nombre” esté marcada y haga clic en Crear proyecto.
e. Seleccione un par de claves y asegúrese de que la opción “Reconozco que tengo acceso al archivo de clave privada para este par de claves (mytestkey.pem) y que, sin este archivo, no podré iniciar sesión en mi instancia.” esté marcada.
f. Ahora puede elegir cómo desea editar el código del proyecto. Siempre puede cambiar esta elección, pero por ahora haga clic en “Herramientas de línea de comando” y siga las instrucciones de configuración para el sistema operativo elegido.
g. En la línea de comandos, si siguió las instrucciones, debería haber clonado el repositorio del proyecto de CodeCommit.
h. Puede usar distintos productos e importadores de Git. Sin embargo, en caso de que no tenga ninguno de ellos, abordaremos una manera rápida y manual de hacer esto. Tome el código que clonó del repositorio de GitHub del Módulo 4 y reemplace todo el código en el repositorio CodeCommit que clonó recientemente con este (asegúrese de eliminar todo el código anterior antes de pegar el código del chatbot de .NET).
i. Ingrese en el directorio clonado en la línea de comandos y ejecute los siguientes comandos:
i. git add .
ii. git commit -m “agregando el código de chatbot”
iii. git push
j. Haga clic en Omitir y se abrirá un panel del código en implementación continua (entre muchas otras opciones que lo alentamos a explorar):
k. En el directorio del proyecto que aloja el archivo de la solución de Visual Studio, copie los archivos appspec.yml y buildspec.yml.
l. En el directorio del proyecto que aloja el archivo de la solución de Visual Studio, cree una carpeta con el nombre scripts.
m. Copie todos los archivos del directorio Implementación de Linux de su repositorio clonado y péguelos en el directorio scripts creado en el paso anterior.
n. Haga clic en el enlace Puntos de enlace de la aplicación para ver y probar la aplicación de chatbot.⚐ Nota: Para obtener información adicional, busque la documentación ubicada dentro del proyecto de GitHub en la carpeta Documentation > Step By Step Deployment of dotNet Chatbot - Linux.pdf
-
Opción 2: implementación en un servidor de Windows
a. Inicie sesión en su cuenta de AWS, asegúrese de que está en la región us-east-1 (Norte de Virginia) o eu-west-1 (Irlanda)
b. Inicie sesión en su cuenta de GitHub con sus credenciales de GitHub
c. Utilice AWS CloudFormation para crear su pila de infraestructura haciendo clic aquí: <botón para el enlace de la plantilla>
d. Se lo dirigirá a la página web de la consola de AWS CloudFormation y se le presentará una pantalla para que proporcione los parámetros necesarios a fin de crear sus recursos de infraestructura. Complete los valores que desee para los parámetros Nombre de la pila y Aplicación
e. Abra otra ventana del navegador y vuelva a su cuenta de Github, haga clic en Configuración y luego en Tokens de acceso personal y cree un nuevo token con los campos repo y admin:repo_hook. Asegúrese de seleccionar TODAS las opciones secundarias para los dos scripts mencionados.
f. Vuelva a la página web de AWS CloudFormation y complete el parámetro GitHubOAuthToken con el valor de GitHub generado en el paso anterior.
g. Seleccione el VPC en el que desea que se implemente la solución, la Subred pública (la que tiene gateway de Internet conectada) que pertenece a ese VPC.
h. Seleccione el nombre del par de llaves
i. Si lo desea, cambie el tipo de instancia. De lo contrario, deje el valor predeterminado que se ha proporcionado.
j. En el campo OSTtype seleccione el sistema operativo que desea para la instancia EC2 de destino como Windows y haga clic en el botón Siguiente
k. Para las secciones Opciones y Avanzado, deje las opciones predeterminadas y haga clic en el botón Siguiente
l. En la pantalla de revisión asegúrese de hacer clic en la casilla junto a: “Reconozco que AWS CloudFormation podría crear recursos de IAM con nombres personalizados”.
m. Crear pila y vea cómo la pila completa y todos los recursos necesarios se crean en la pestaña Eventos hasta que el estado diga CREATE_COMPLETE.
n. Échele un vistazo a CodePipeline y vea cómo la aplicación pasa por todo el proceso de CD/CI desde GitHub a CodeBuild y CodeDeploy que la implementa en EC2 al final 1
o. Una vez que se haya implementado con éxito, vaya a la pestaña de salidas en CloudFormation, haga clic en el valor de la URL y vea la aplicación Chatbot en ejecución en su entorno⚐ NOTA: Para obtener información adicional, busque la documentación ubicada dentro del proyecto de GitHub en la carpeta Documentation > Step By Step Deployment of dotNet Chatbot - Linux.pdf
-
-
Paso 2: eliminar recursos
-
Opción 1: instrucciones para CodeStar
a. Diríjase a la página de CodeStar en la consola
b. Seleccione las “…” en la esquina superior derecha de su proyecto
c. Seleccione la opción Eliminar
d. Escriba el nombre de su proyecto para confirmar la eliminación. Desactive la casilla de verificación junto a “Mantener los recursos asociados de AWS pero eliminar el proyecto en AWS Codestar. Más información”
e. Pulse el botón Eliminar
-
Opción 2: instrucciones para CloudFormation
a. Diríjase a la página de CloudFormation en la consola
b. Seleccione su pila
c. Vaya al menú desplegable Acciones
d. Seleccione la opción Eliminar pila
e. Pulse el botón Sí, eliminar
-
-
Paso 3: eliminar recursos adicionales
Lambda
a. Diríjase a la página de Lambda en la consola.
b. Seleccione su función en la lista haciendo clic en la burbuja a la izquierda de su título.
c. Presione las acciones y haga clic en Eliminar.Lex
a. Diríjase a la página de Lex en la consola.
b. Seleccione su bot en la lista haciendo clic en la burbuja a la izquierda de su título.
c. Presione las acciones y haga clic en Eliminar.Cognito
a. Diríjase a la página de Cognito en la consola.
b. Haga clic en Administrar identidades federadas
c. Haga clic en su identidad federada.
d. Haga clic en Editar grupo de identidades en la esquina superior derecha.
e. Desplácese hacia abajo hasta Eliminar grupo de identidades y haga clic en el botón. Luego confirme haciendo clic en el botón rojo de eliminación.⚐ NOTA: Estas instrucciones también se encuentran dentro del proyecto de GitHub en la carpeta Documentation > dotNet Chatbot CleanUp and Deletion Instructions.pdf