Projets sur AWS
Les bots se sont améliorés
avec .NET et AWS Toolkit for Visual Studio
Module 5 : déploiement et nettoyage
Dans ce module, vous déploierez le chatbot sur EC2 en utilisant AWS CodeBuild et AWS CodeDeploy ainsi que des ressources de nettoyage pour éviter les frais.
Présentation
Suivez les instructions pas à pas ci-dessous pour déployer l'application chatbot dans un premier temps, puis nettoyez les ressources. Cliquez sur le numéro de chaque étape pour développer la section correspondante.
Temps nécessaire
30 minutes
Services utilisés
CodeDeploy, CodeBuild, EC2, AWS CodeStar
Instructions de mise en œuvre
-
Étape 1 : déployer
-
Option 1 : déployer sur Linux Server
a. Dans la console AWS, cliquez sur Services, puis sélectionnez CodeStar sous Outils pour développeurs.
b. Cliquez sur Créer un nouveau projet et choisissez le modèle ASP.NET Core Web Application.
c. Fournissez le « Nom du projet », choisissez CodeCommit en tant que référentiel et cliquez sur Suivant.
d. Assurez-vous que la mention « AWS CodeStar souhaiterait obtenir l'autorisation de gérer les ressources AWS en votre nom » est cochée et cliquez sur Créer un projet.
e. Sélectionnez une paire de clés et assurez-vous que la mention « Je reconnais avoir accès au fichier de clés privé pour cette paire de clés (mytestkeypair.pem) et que sans ce fichier, je ne pourrai me connecter à mon instance ». est cochée.
f. Vous pouvez à présent choisir comment vous souhaitez modifier le code de votre projet. Vous pouvez toujours modifier ce choix, mais pour l'instant, cliquez sur « Outils de ligne de commande » et suivez les instructions de configuration pour le système d'exploitation de votre choix.
g. Dans Ligne de commande, si vous avez suivi les instructions, vous aurez cloné le référentiel du projet à partir de CodeCommit.
h. Vous pouvez utiliser différents produits et outils d'importation Git. Toutefois, si vous ne possédez aucun de ceux-ci, nous vous enverrons une méthode rapide pour le faire. Prenez le code que vous avez cloné depuis le référentiel Github dans le module 4 et remplacez par celui-ci l'ensemble du code dans le référentiel CodeCommit que vous venez de cloner (assurez-vous de supprimer l'intégralité de l'ancien code avant de coller le code Chatbot .NET).
i. Accédez au répertoire cloné dans la ligne de commande et procédez à l'exécution des commandes suivantes :1.
git add -A
2.git commit -m "adding Chatbot code"
3.git push origin master
j. Cliquez sur « Passer ». Un tableau de bord de votre code s'affichera. Vous y trouverez l'option Déploiement continu (qui n'est de que l'une des nombreuses autres options que nous vous encourageons à explorer).
k. Sous le répertoire du projet qui héberge le fichier de la solution Visual Studio, copiez le fichier appspec.yml et buildspec.yml.
l. Allez sous le répertoire du projet où se trouve le fichier de la solution Visual Studio, créez un dossier et nommez-le scripts.
m. Copiez l'ensemble des fichiers à partir du répertoire du déploiement Linux de votre référentiel cloné et collez-les dans le répertoire des scripts que vous avez créé à l'étape précédente.
n. Cliquez sur le lien Points de terminaison de l'application pour voir et tester l'application chatbot.⚐ REMARQUE : pour plus d'informations, consultez la documentation contenue dans le projet github.
-
Option 2 : déployer sur Windows Server
a. Connectez-vous à votre compte AWS, assurez-vous que vous êtes bien dans la région us-east-1 (Virginie du Nord) ou eu-west-1 (Irlande).
b. Connectez-vous à votre compte GitHub en utilisant vos informations d'identification GitHub.
c. Utilisez AWS CloudFormation pour créer votre pile d'infrastructure dans la région us-east-1 en cliquant sur le modèle. Vous pouvez également télécharger le modèle de CloudFormation ici et l'exécuter dans le service AWS CloudFormation de la région de votre choix.
d. Vous serez redirigé vers la page Web de la console AWS CloudFormation où s'affichera une page contenant les paramètres nécessaires à la création de vos ressources d'infrastructure. Indiquez les valeurs souhaitées pour les paramètres Nom de la pile et Application.
e. Ouvrez une autre fenêtre du navigateur et retournez à votre compte GitHub, cliquez sur Paramètres dans le compte GitHub puis sur Jetons d'accès personnels et créez un nouveau jeton avec les référentiels scopes et admin:repo_hook. Veillez à sélectionner TOUTES les sous-options pour les deux scripts susmentionnés.
f. Retournez à la page Web AWS CloudFormation, puis alimentez le paramètre GitHubOAuthToken avec la valeur de GitHub générée à l'étape précédente.
g. Sélectionnez le VPC dans lequel vous souhaitez que la solution soit déployée et le sous-réseau public (celui auquel est rattachée la passerelle Internet) qui appartient à ce VPC.
h. Sélectionnez un nom de paire de clés. Pour en savoir plus sur les noms de paires de clés, cliquez ici.
i. Changez de type d'instance si vous le souhaitez, sinon laissez la valeur par défaut fournie.
j. Dans le champ OSTtype, sélectionnez le système d'exploitation souhaité pour l'instance EC2 cible comme Windows et cliquez sur le bouton Suivant.
k. Laissez les options par défaut pour les sections Options et Avancé. Cliquez ensuite sur le bouton Suivant.
l. Au niveau de l'écran de révision, assurez-vous de cliquer sur la case située à côté de : « Je suis conscient qu'AWS CloudFormation pourrait créer des ressources IAM avec des noms personnalisés ».
m. Cliquez sur Créer la pile et observez le déroulement intégral du processus de création de la pile et de toutes les ressources nécessaires sous l'onglet « Événements » jusqu'à ce que le statut indique CREATE_COMPLETE.
n. Observez CodePipeline et regardez l'application passer par tout le processus de déploiement continu/intégration continue (DC/IC), de GitHub à CodeBuild puis à CodeDeploy qui la déploie sur EC2 à la fin 1
o. Une fois le déploiement réussi, allez dans l'onglet « sorties » de CloudFormation et cliquez sur la valeur de l'URL pour voir l'application Chatbot s'exécuter dans votre environnement.⚐ REMARQUE : pour plus d'informations, consultez la documentation contenue dans le projet GitHub.
-
-
Étape 2 : nettoyer et supprimer des ressources
-
Option 1 : instructions CodeStar
a. Allez à la page CodeStar dans la console.
b. Sélectionnez les ellipses dans le coin supérieur droit de votre projet. Consultez la capture d'écran ci-dessous.
c. Sélectionnez l'option Supprimer.
d. Saisissez le nom de votre projet pour confirmer la suppression. Décochez la case à cocher à côté de Supprimer les ressources AWS associées avec le projet CodeStar. En savoir plus cochée.
e. Cliquez sur le bouton Supprimer.
-
Option 2 : instructions CloudFormation
a. Allez à la page CloudFormation dans la console.
b. Sélectionnez votre pile.
c. Allez dans le menu déroulant Actions.
d. Sélectionnez l'option Supprimer une pile.
e. Cliquez sur le bouton Oui, supprimer.
-
-
Étape 3 : supprimer davantage de ressources
Lambda
a. Allez à la page Lambda dans la console.
b. Sélectionnez la fonction dans la liste en cliquant dans la bulle à gauche du titre de celle-ci.
c. Cliquez sur Actions, puis sur Supprimer.Lex
a. Allez à la page Lex dans la console.
b. Sélectionnez le bot dans la liste en cliquant dans la bulle à gauche du titre de celle-ci.
c. Cliquez sur Actions, puis sur Supprimer.Cognito
a. Allez à la page Cognito dans la console.
b. Cliquez sur Gérer les identités fédérées.
c. Cliquez sur l'identité fédérée.
d. Cliquez sur Modifier le groupe d'identités dans le coin supérieur droit.
e. Faites défiler vers le bas jusqu'à Supprimer le groupe d'identités et cliquez sur le bouton. Confirmez en cliquant sur le bouton rouge de suppression.⚐ REMARQUE : ces instructions se trouvent également dans le dossier de documentation à l'intérieur du projet GitHub.
Félicitations !
Vous avez conçu un Chatbot Amazon Lex sur .NET avec Amazon Web Services.
Partagez votre chatbot avec vos amis. Nous sommes impatients de voir ce que vous allez créer ensuite !