Déploiement d'une application ASP.NET traditionnelle sur Elastic Beanstalk - AWS Boîte à outils avec Amazon Q

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déploiement d'une application ASP.NET traditionnelle sur Elastic Beanstalk

Cette section explique comment utiliser l'assistant Publier sur Elastic Beanstalk, fourni dans le cadre de la Toolkit for Visual Studio, pour déployer une application via Elastic Beanstalk. Pour vous exercer, vous pouvez utiliser le projet de démarrage de l'instance d'une application web intégré à Visual Studio ou votre propre projet.

Note

L'assistant prend également en charge le déploiement des applications ASP.NET Core. Pour plus d'informations sur ASP.NET Core, consultez le guide des outils de déploiementAWS .NET et laAWS table des matières mise à jour.

Note

Avant de pouvoir utiliser l'assistant Publish to Elastic Beanstalk (Publier dans Elastic Beanstalk), vous devez télécharger et installer Web Deploy. L'assistant s'appuie sur Web Deploy pour déployer des applications et des sites web sur des serveurs web IIS (Internet Information Services).

Pour créer un exemple de projet de démarrage d'une application web

  1. Dans Visual Studio, dans le menu Fichier, choisissez Nouveau, puis choisissez Projet.

  2. Dans le panneau de navigation de la boîte de dialogue New Project (Nouveau projet), développez Installations, développez Modèles, développez Visual C#, puis choisissez Web.

  3. Dans la liste des modèles de projet web, choisissez-en un contenant les mots Web et Application dans sa description. Pour cet exemple, choisissez ASP.NET Web Forms Application (Application de formulaires web ASP.NET).

    New Project window showing ASP.NET web application templates for Visual C# in .NET Framework 4.5.
  4. Dans la case Nom, tapez AEBWebAppDemo.

  5. Dans la zone Emplacement, saisissez le chemin vers un dossier de solution sur votre machine de développement ou choisissez Parcourir, puis naviguez jusqu'à un dossier de solution, choisissez-le, et choisissez Select Folder (Sélectionner un dossier).

  6. Vérifiez que la case Create directory for solution (Créer un répertoire pour la solution) est cochée. Dans la liste déroulante Solution, vérifiez que la case Create new solution (Créer une nouvelle solution) est cochée, et choisissez OK. Visual Studio crée une solution et un projet basés sur le modèle de projet ASP.NET Web Forms Application. Ensuite, Visual Studio affiche l'Explorateur de solutions dans lequel apparaissent la nouvelle solution et le nouveau projet.

    Solution Explorer window showing project structure with folders and files for a web application.

Pour déployer une application à l'aide de l'assistant Publish to Elastic Beanstalk (Publier dans Elastic Beanstalk)

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel (clic droit) du dossier deWebAppDemo projet AEB correspondant au projet que vous avez créé dans la section précédente, ou ouvrez le menu contextuel du dossier de projet de votre propre application, puis choisissez Publier surAWS Elastic Beanstalk.

    Solution Explorer context menu showing "Publish to AWS..." option for AEBWebAppDemo project.

    L'assistant Publish to Elastic Beanstalk (Publier dans Elastic Beanstalk) s'ouvre.

    Publish to AWS Elastic Beanstalk wizard interface for creating or redeploying an application environment.
  2. Dans Profil, dans la liste déroulante Profil du compte à utiliser pour le déploiement, choisissez le profil deAWS compte que vous souhaitez utiliser pour le déploiement.

    Si vous avez unAWS compte que vous souhaitez utiliser, mais que vous n'avez pas encore créé de profil deAWS compte pour ce compte, vous pouvez cliquer sur le bouton avec le symbole plus (+) pour ajouter un profil deAWS compte.

  3. Dans la liste déroulante Région, choisissez la région dans laquelle vous souhaitez qu'Elastic Beanstalk déploie l'application.

  4. Dans Cible de déploiement, vous pouvez choisir Create a new application environment (Créer un nouvel environnement d’application) pour procéder au déploiement initial d'une application ou Redeploy to an existing environment (Redéployer vers un environnement existant) pour redéployer une application précédemment déployée. (Les déploiements précédents ont peut-être été effectués à l'aide de l'assistant ou de l'outil de déploiement autonome obsolète.) Si vous choisissez Redeploy to an existing environment (Redéployer vers un environnement existant), il vous faudra sans doute patienter le temps que l'assistant récupère les informations des déploiements précédents actuellement en cours d'exécution.

    Note

    Si vous choisissez Redeploy to an existing environment (Redéployer vers un environnement existant), choisissez un environnement dans la liste, puis choisissez Suivant, l'assistant vous amène directement à la page Application Options (Options de l'application). Si vous choisissez cette option, ignorez les instructions fournies ultérieurement dans cette section qui décrivent comment utiliser la page Application Options (Options de l'application).

  5. Choisissez Next (Suivant).

    Application Environment setup page for AWS with fields for name, environment, and URL.
  6. Sur la page Application Environment (Environnement de l’application), dans la zone Application, la liste déroulante Nom propose un nom par défaut pour l'application. Vous pouvez le modifier en en choisissant un différent de celui de la liste déroulante.

  7. Dans la zone Environnement, dans la liste déroulante Nom, saisissez le nom de votre environnement Elastic Beanstalk. Dans ce contexte, le terme environnement fait référence à l'infrastructure fournie par Elastic Beanstalk pour votre application. Un nom par défaut peut-être déjà proposé dans cette liste déroulante. Si un nom par défaut n'est pas déjà proposé, vous pouvez en saisir un ou en choisir un dans la liste déroulante, si des noms supplémentaires sont disponibles. Le nom de l'environnement ne peut pas dépasser 23 caractères.

  8. Dans la zone URL, le champ propose un sous-domaine par défaut .elasticbeanstalk.com qui correspond à l'URL de votre application web. Vous pouvez modifier le sous-domaine par défaut en en saisissant un nouveau.

  9. Choisissez Vérifier la disponibilité pour vous assurer que l'URL de votre application web n'est pas déjà utilisée.

  10. Si vous pouvez l'utiliser, choisissez Suivant.

AWS EC2 launch configuration settings for deploying an application to Amazon Web Services.
  1. Sur la page AWSOptions, dans Configuration de lancement d'Amazon EC2, dans la liste déroulante Type de conteneur, choisissez un type Amazon Machine Image (AMI) qui sera utilisé pour votre application.

  2. Dans la liste déroulante Type d'instance, spécifiez le type d'instance Amazon EC2 à utiliser. Pour cet exemple, nous vous conseillons d'utiliser Micro. Cela permettra de minimiser les coûts associés à l'exécution de l'instance. Pour plus d'informations sur les coûts Amazon EC2, consultez la page de Tarification EC2.

  3. Dans la liste déroulante des paires de clés, choisissez une key pair d'instance Amazon EC2 à utiliser pour vous connecter aux instances qui seront utilisées pour votre application.

  4. Dans le champ Use custom AMI (Utiliser une AMI personnalisée), vous pouvez éventuellement spécifier une AMI personnalisée qui remplacera celle indiquée dans la liste déroulante Container type (Type de conteneur). Pour plus d'informations sur la création d'une AMI personnalisée, consultez la section Utilisation d'AMI personnalisées dans le guide du développeurAWS Elastic Beanstalk et la section Création d'une AMI à partir d'une instance Amazon EC2.

  5. Si vous souhaitez éventuellement lancer vos instances dans un VPC, cochez la case Use a VPC (Utiliser un VPC).

  6. Si vous souhaitez lancer une instance Amazon EC2 unique, puis y déployer votre application, cochez la case Environnement à instance unique.

    Si vous cochez cette case, Elastic Beanstalk créera toujours un groupe Auto Scaling, mais ne le configurera pas. Si vous souhaitez configurer le groupe Auto Scaling ultérieurement, vous pouvez utiliser leAWS Management Console.

  7. Si vous souhaitez éventuellement contrôler les conditions de déploiement de votre application sur les instances, cochez la case Enable Rolling Deployments (Autoriser la propagation des déploiements). Vous pouvez cochez cette case uniquement si vous n'avez pas coché la case Single instance environment (Environnement à instance unique).

  8. Si votre application utiliseAWS des services tels qu'Amazon S3 et DynamoDB, le meilleur moyen de fournir des informations d'identification est d'utiliser un rôle IAM. Dans la zone Autorisations des applications déployées, vous pouvez choisir un rôle IAM existant ou en créer un que l'assistant utilisera pour lancer votre environnement. Les applications utilisant leAWS SDK for .NET utiliseront automatiquement les informations d'identification fournies par ce rôle IAM lorsqu'elles adressent une demande à unAWS service.

  9. Si votre application accède à une base de données Amazon RDS, dans la liste déroulante de la zone Accès à la base de données relationnelle, cochez les cases à côté des groupes de sécurité Amazon RDS que l'assistant mettra à jour afin que vos instances Amazon EC2 puissent accéder à cette base de données.

  10. Choisissez Next (Suivant).

    • Si vous avez coché la case Use a VPC (Utiliser un VPC), la page VPC Options (Options du VPC) apparaît.

    • Si vous avez coché la case Enable Rolling Deployments (Autoriser la propagation des déploiements), mais pas la case Use a VPC (Utiliser un VPC), la page Rolling Deployments (Propagation des déploiements) apparaît. Ignorez les instructions fournies ultérieurement dans cette section qui décrivent comment utiliser la page Rolling Deployments (Propagation des déploiements).

    • Si vous n'avez pas coché la case Use a VPC (Utiliser un VPC) ou Enable Rolling Deployments (Autoriser la propagation des déploiements), la page Application Options (Options de l’application) apparaît. Ignorez les instructions fournies ultérieurement dans cette section qui décrivent comment utiliser la page Application Options (Options de l'application).

  11. Si vous avez coché la case Use a VPC (Utiliser un VPC), spécifiez les informations sur la page VPC Options (Options du VPC) pour lancer votre application dans un VPC.

    VPC Options interface for configuring AWS Elastic Beanstalk application deployment settings.

    Le VPC doit déjà avoir été créé. Si vous avez créé le VPC dans la Toolkit for Visual Studio, la Toolkit for Visual Studio remplira cette page pour vous. Si vous avez créé le VPC dans la consoleAWS de gestion, saisissez les informations relatives à votre VPC sur cette page.

Principaux éléments à prendre en compte pour le déploiement sur un VPC

  • Votre VPC a besoin d'au moins un sous-réseau public et un sous-réseau privé.

  • Dans la liste déroulante ELB Subnet (Sous-réseau ELB), spécifiez le sous-réseau public. La Toolkit for Visual Studio déploie l'équilibreur de charge Elastic Load Balancing pour votre application sur le sous-réseau public. Le sous-réseau public est associé à une table de routage possédant une entrée qui pointe vers une passerelle Internet. Vous pouvez identifier une passerelle Internet car son ID commence par igw- (par exemple, igw-83cddaex). Les sous-réseaux publics que vous créez à l'aide de la Toolkit for Visual Studio possèdent des valeurs de balise qui les identifient comme publics.

  • Dans la liste déroulante Instances Subnet (Sous-réseau d’instances), spécifiez le sous-réseau privé. La Toolkit for Visual Studio déploie les instances Amazon EC2 de votre application sur le sous-réseau privé.

  • Les instances Amazon EC2 de votre application communiquent depuis le sous-réseau privé vers Internet via une instance Amazon EC2 du sous-réseau public qui effectue la traduction d'adresses réseau (NAT). Pour activer cette communication, vous avez besoin d'un groupe de sécurité VPC qui autorise le trafic à circuler du sous-réseau privé vers l'instance NAT. Spécifiez ce groupe de sécurité VPC dans la liste déroulante Groupe de sécurité.

Pour plus d'informations sur la façon de déployer une application Elastic Beanstalk sur un VPC, consultez le guide du développeurAWS Elastic Beanstalk.

  1. Une fois que vous avez rempli toutes les informations sur la page VPC Options (Options du VPC), choisissez Suivant.

    • Si vous avez coché la case Enable Rolling Deployments (Autoriser la propagation des déploiements), la page Rolling Deployments (Propagation des déploiements) apparaît.

    • Si vous n'avez pas coché la case Enable Rolling Deployments (Autoriser la propagation des déploiements), la page Application Options (Options de l’application) apparaît. Ignorez les instructions fournies ultérieurement dans cette section qui décrivent comment utiliser la page Application Options (Options de l'application).

  2. Si vous avez coché la case Enable Rolling Deployments (Autoriser la propagation des déploiements), vous spécifiez les informations sur la page Rolling Deployments (Propagation des déploiements) pour configurer le déploiement des nouvelles versions de vos applications sur les instances d'un environnement à charge équilibrée. Par exemple, si vous disposez de quatre instances dans votre environnement et que vous souhaitez modifier le type d'instance, vous pouvez configurer l'environnement pour modifier deux instances à la fois. Ceci permet de veiller à ce que votre application soit toujours en cours d'exécution pendant que vous y apportez des modifications.

    Rolling Deployments configuration interface for AWS application updates and environment settings.
  3. Dans la zone Versions de l'application, choisissez une option pour contrôler les déploiements sur un pourcentage ou un nombre d'instances à la fois. Spécifiez le pourcentage ou le nombre souhaité.

  4. (Facultatif) Dans la zone Configuration de l'environnement, cochez la case si vous souhaitez éventuellement spécifier le nombre d'instances qui restent en service pendant les déploiements. Si vous cochez cette case, spécifiez le nombre maximum d'instances qui doivent être modifiées à la fois, le nombre minimum d'instances qui doivent rester en service à la fois, ou les deux.

  5. Choisissez Next (Suivant).

  6. Sur la page Application Options (Options de l'application), vous spécifiez les informations sur les paramètres de génération, d'Internet Information Services (IIS) et d'application.

    Application Options interface for configuring build and deployment settings for AWS.
  7. Dans la zone Build and IIS Deployment Settings (Paramètres de déploiement build et IIS), dans la liste déroulante Project build configuration (Configuration de la génération de projet), choisissez la configuration de la génération cible. Si l'assistant peut la trouver, Publier apparaît, sinon la configuration active s'affiche dans cette zone.

  8. Dans la liste déroulante App pool (Groupe d’applications), choisissez la version .NET Framework requise pour votre application. La version .NET Framework correcte doit déjà être affichée.

  9. Si votre application est en 32 bits, cochez la case Activer les applications 32 bits.

  10. Dans le champ App path (Chemin d’application), spécifiez le chemin que les IIS utiliseront pour déployer l'application. Par défaut, Default Web Site/(Site Internet par défaut/) est spécifié, ce qui se traduit généralement par le chemin c:\inetpub\wwwroot. Si vous spécifiez un chemin différent de Default Web Site/(Site Internet par défaut/), l'assistant place une redirection dans le chemin Default Web Site/(Site Internet par défaut/) qui pointe vers le chemin que vous avez spécifié.

  11. Dans la zone Paramètres de l'application, dans la zone URL de vérification de l'Health, saisissez une URL pour qu'Elastic Beanstalk vérifie si votre application Web répond toujours. Cette URL est relative à l'URL du serveur racine. L'URL du serveur racine est spécifiée par défaut. Par exemple, si l'URL complète est example.com/site-is-up.html, vous saisirez /site-is-up.html.

  12. Dans la zone Clé et Valeur, vous pouvez spécifier n'importe quelle paire clé/valeur que vous souhaitez ajouter au fichier Web.config de votre application.

    Note

    Bien que cela ne soit pas recommandé, vous pouvez utiliser la zone Clé et Valeur pour spécifier lesAWS informations d'identification sous lesquelles votre application doit s'exécuter. L'approche préférée consiste à spécifier un rôle IAM dans la liste déroulante Rôle de Identity and Access Management sur la page AWSOptions. Toutefois, si vous devez utiliser desAWS informations d'identification au lieu d'un rôle IAM pour exécuter votre application, dans la ligne Clé, choisissez AWSAccessKey. Sur la ligne Valeur, saisissez la clé d'accès. Répétez ces étapes pour AWSSecretKey.

  13. Choisissez Next (Suivant).

    Review window for publishing an application to AWS Elastic Beanstalk with deployment details.
  14. Sur la page Révision, examinez les options que vous avez configuré, et cochez la case Open environment status window when wizard closes (Ouvrir la fenêtre du statut de l’environnement quand l’assistant ferme).

  15. Si tout vous paraît correct, choisissez Déploiement.

    Note

    Lorsque vous déployez l'application, le compte actif est facturé pour lesAWS ressources utilisées par l'application.

    Les informations sur le déploiement apparaissent dans la barre d'état Visual Studio et la fenêtre Sortie. Cette opération peut prendre plusieurs minutes. Lorsque le déploiement est terminé, un message de confirmation s'affiche dans la fenêtre Sortie.

  16. Pour supprimer le déploiement, développez le nœud Elastic Beanstalk dansAWS Explorer, ouvrez le menu contextuel (clic droit) pour le sous-nœud pour le déploiement, puis choisissez Supprimer. Le processus de suppression peut prendre quelques minutes.