Kit SDK AWS .NET Guide AWS pour les développeurs .NET - Kit SDK AWS .NET: Guide AWS pour les développeurs .NET - Amazon.com
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Kit SDK AWS .NET: Guide AWS pour les développeurs .NET Copyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Table of Contents Guide AWS pour les développeurs .NET ............................................................................................... 1 Nous apprécions vos commentaires .............................................................................................. 1 Mise en route avec le Guide AWS pour .NET ........................................................................................ 2 Outils AWS pour les développeurs .NET ....................................................................................... 2 AWS Toolkit for Visual Studio ............................................................................................... 2 AWS Toolkit pour Microsoft Azure DevOps ............................................................................. 2 Outils AWS pour Windows PowerShell et PowerShell Core ....................................................... 2 AWS SDK for .NET ............................................................................................................. 3 Types de cloud computing .......................................................................................................... 3 Infrastructure en tant que service .......................................................................................... 3 Plate-forme en tant que service ............................................................................................ 3 Logiciel en tant que service ................................................................................................. 4 Modèles de déploiement de cloud ................................................................................................ 4 Mode de déploiement sur cloud ............................................................................................ 4 Modèle de déploiement hybride ............................................................................................ 4 Modèle de déploiement sur site ............................................................................................ 4 Création d'un compte AWS .......................................................................................................... 4 Créer un compte AWS ........................................................................................................ 4 Tarification ......................................................................................................................... 5 Applications Web ................................................................................................................................ 6 Types de sites web .................................................................................................................... 6 Hébergement de site web statique ........................................................................................ 6 Hébergement simple de sites web ........................................................................................ 6 Hébergement de site web d'entreprise ................................................................................... 6 Choisir où déployer votre application web ..................................................................................... 6 AWS Elastic Beanstalk ........................................................................................................ 7 Amazon Elastic Container Service ......................................................................................... 7 AWS Lambda ..................................................................................................................... 7 Déploiement d'applications Web à partir de Visual Studio ................................................................. 7 Déploiement d'une application ASP.NET sur Windows ............................................................. 7 Déploiement d'une application ASP.NET Core 2.0 sur AWS Elastic Beanstalk ............................. 10 Déploiement d'une application ASP.NET Core 2.0 sur Amazon Elastic Container Service .............. 12 Déploiement d'applications web à partir de Team Services .............................................................. 14 Déploiement d'une application ASP.NET à partir de Team Services vers AWS Elastic Beanstalk ..... 14 Création d'une version AWS Elastic Beanstalk dans Team Services .......................................... 15 Connexion à une instance déployée ............................................................................................ 15 Connexion à votre instance Windows ................................................................................... 15 Connexion à votre instance Linux ....................................................................................... 16 Utilisation de SQL Server .......................................................................................................... 17 Connexion à une instance SQL Server ............................................................................... 17 Utilisation de chaînes de connexion chiffrées ........................................................................ 17 Utilisation d'Amazon DynamoDB ................................................................................................ 19 Sélection d'un Modèle de programmation Amazon DynamoDB ................................................. 19 Gestion de l'état d'une session ASP.NET avec Amazon DynamoDB .......................................... 24 iii
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Nous apprécions vos commentaires Guide AWS pour les développeurs .NET Amazon Web Services est une plate-forme de services cloud sécurisés, avec une grande puissance de calcul, de stockage de bases de données, d'hébergement web et d'autres fonctionnalités pour aider les développeurs .NET à créer des applications sophistiquées en améliorant la flexibilité, la scalabilité et la fiabilité. Ce guide vous aidera à mieux comprendre les avantages qu'AWS offre aux développeurs.NET et explique comment choisir le service approprié pour votre scénario d'application .NET. Nous apprécions vos commentaires Le meilleur endroit pour contribuer est le Référentiel GitHub du Guide AWS pour développeurs .NET. Vous pouvez effectuer toutes ces merveilles ici : • Signaler un problème • Faire une suggestion • Contribuer du nouveau contenu • Améliorer le contenu existant • Consulter les problèmes et les suggestions Vous pouvez également ajouter des commentaires à l'aide de boutons de commentaire en bas de la page. Merci. 1
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Outils AWS pour les développeurs .NET Mise en route avec le Guide AWS pour .NET Recherchez les informations dont vous avez besoin sur le cloud computing, les modèles de déploiement de cloud, l'inscription à AWS, et bien plus encore pour vous aider à faire vos premiers pas avec les services AWS. Rubriques • Outils AWS pour les développeurs .NET (p. 2) • Types de cloud computing (p. 3) • Modèles de déploiement de cloud (p. 4) • Création d'un compte AWS (p. 4) Outils AWS pour les développeurs .NET Amazon fournit les outils suivants pour aider les développeurs .NET à travailler avec Amazon Web Services. AWS Toolkit for Visual Studio Toolkit for Visual Studio est un plug-in pour l'IDE Visual Studio qui vous facilite le développement, le débogage et le déploiement des applications .NET qui utilisent Amazon Web Services. Le Toolkit for Visual Studio fournit des modèles Visual Studio pour les services AWS et des assistants de déploiement pour les applications Web et les applications sans serveur. Vous pouvez utiliser AWS Explorer pour gérer les instances Amazon Elastic Compute Cloud, travailler avec les tableaux Amazon DynamoDB, publier des messages dans les files Amazon Simple Notification Service, et bien plus encore. Et vous n'avez pas besoin de quitter Visual Studio. Pour en savoir plus sur le téléchargement et l'installation du kit d'outils, consultez Installation d'AWS Toolkit for Visual Studio. AWS Toolkit pour Microsoft Azure DevOps AWS Toolkit pour Microsoft Azure DevOps (VSTS) ajoute des tâches afin de facilement créer et publier des pipelines dans VSTS et Team Foundation Server (TFS) pour travailler avec les services AWS. Vous pouvez utiliser Amazon S3, AWS Elastic Beanstalk, AWS CodeDeploy, AWS Lambda, AWS CloudFormation, Amazon Simple Queue Service (Amazon SQS) et Amazon Simple Notification Service (Amazon SNS). Vous pouvez également exécuter des commandes à l'aide du module Windows PowerShell et de l'interface de ligne de commande AWS. Pour faire vos premiers pas avec AWS Toolkit pour Microsoft Azure DevOps, consultez la page Outils AWS pour Microsoft Visual Studio Team Services. Outils AWS pour Windows PowerShell et PowerShell Core Les outils Outils AWS pour Windows PowerShell et AWS pour PowerShell Core sont des modules PowerShell qui reposent sur les fonctionnalités exposées par le kit AWS SDK pour .NET. Les outils AWS 2
Kit SDK AWS .NET Guide AWS pour les développeurs .NET AWS SDK for .NET PowerShell vous permettent d'écrire le script d'opérations sur vos ressources AWS à partir de la ligne de commande PowerShell. Bien que les applets de commande soient implémentées à l'aide des méthodes et clients de service à partir du SDK, les applets de commande fournissent une expérience PowerShell idiomatique pour spécifier les paramètres et gérer les résultats. Consultez Outils AWS pour Windows PowerShell pour commencer. Vous pouvez télécharger les outils, consultez des exemples de scénarios, et bien plus encore. Vous pouvez télécharger les outils AWS pour PowerShell Core à partir de la PowerShell Gallery. AWS SDK for .NET Le AWS SDK for .NET permet aux développeurs Windows de créer plus facilement des applications .NET qui exploitent des services d'infrastructure AWS rentables, scalables et fiables tels que Amazon Simple Storage Service, Amazon Elastic Compute Cloud, AWS Lambda et plus encore. Le AWS SDK for .NET prend en charge le développement sur n'importe quelle plate-forme prenant en charge les versions 3.5 ou ultérieures de .NET Framework. Le AWS SDK for .NET cible .NET Standard 1.3. Vous pouvez l'utiliser avec .NET Core 1.x ou .NET Core 2.0. Pour démarrer, consultez le AWS SDK for .NET Developer Guide. Types de cloud computing Le cloud computing constitue un moyen simple d'accéder aux serveurs, aux bases de données et à tout un ensemble de services d'applications sur Internet. Une plate-forme de services cloud comme Amazon Web Services détient et gère le matériel réseau requis pour ces services d'applications. Vous allouez et utilisez ainsi uniquement les ressources dont vous avez besoin par l'intermédiaire d'une application Web, l'outil de ligne de commande ou le kit SDK. Il existe trois modèles principaux de cloud computing. Chaque modèle représente une partie différente de la pile du cloud computing, comme suit : • Infrastructure en tant que service (IaaS) • Plate-forme en tant que service (PaaS) • Logiciel en tant que service (SaaS) Infrastructure en tant que service L'infrastructure en tant que service (IaaS) contient les blocs de construction fondamentaux de l'informatique dans le cloud. En général, elle fournit un accès à des fonctionnalités de mise en réseau, à des ordinateurs (virtuels ou sur du matériel dédié) et à de l'espace de stockage de données. En tant que développeur, vous pouvez utiliser IaaS pour héberger un site web ASP.NET, configurer et arrêter les environnements de développement ou de test, déployer des applications de calcul à haute performance et tirer profit des ressources de mise en réseau et de sécurité. Plate-forme en tant que service La plate-forme en tant que service (PaaS) élimine la nécessité pour votre organisation de gérer l'infrastructure sous-jacente (généralement le matériel et les systèmes d'exploitation). La PaaS vous permet de vous concentrer sur le déploiement et la gestion de vos applications. Vous êtes ainsi plus efficace, car vous n'avez pas à vous soucier de l'approvisionnement des ressources, de la planification des capacités, 3
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Logiciel en tant que service de la maintenance logicielle, de l'application de correctifs ou de toute autre charge indifférenciée liée à l'exécution de votre application. Logiciel en tant que service Le logiciel en tant que service (SaaS) vous propose un produit fini exécuté et géré par le fournisseur de service. Dans la plupart des cas, les personnes qui font référence au service SaaS pensent aux applications des utilisateurs finaux. En tant que .NET, vous pouvez écrire une application ou intégrer une application fournie sous forme de service. Modèles de déploiement de cloud Il existe trois modèles de déploiement de cloud : cloud, hybride et sur site. Mode de déploiement sur cloud Une application basée sur le cloud est entièrement déployée dans le cloud. Tous ses composants sont en outre exécutés dans le cloud. Les applications dans le cloud ont été créées dans le cloud ou migrées à partir d'une infrastructure existante pour tirer parti des avantages du cloud computing. Les applications basées sur le cloud peuvent être créées sur des éléments d'infrastructure de niveau inférieur ou utiliser des services de niveau supérieur qui fournissent une abstraction des exigences en matière de gestion, d'architecture et de mise à l'échelle de l'infrastructure de base. Modèle de déploiement hybride Un déploiement hybride permet d'associer une infrastructure et des applications entre des ressources basées sur le cloud et des ressources existantes qui ne sont pas situées dans le cloud. Le déploiement hybride le plus répandu se fait entre le cloud et une infrastructure sur site existante, pour élargir et développer l'infrastructure d'une organisation dans le cloud, tout en connectant les ressources de ce dernier au système interne. Modèle de déploiement sur site Le déploiement des ressources sur site grâce aux outils de gestion des ressources et de virtualisation est parfois appelé « cloud privé ». Le déploiement sur site ne fournit pas la plupart des avantages du cloud computing. Toutefois, il est parfois utilisé pour sa capacité à fournir des ressources dédiées. Dans la plupart des cas, ce modèle de déploiement est identique à l'infrastructure informatique héritée et fait appel à la gestion des applications et aux technologies de virtualisation pour tester et accroître l'utilisation des ressources. Création d'un compte AWS Vous avez besoin d'un compte AWS pour utiliser AWS SDK for .NET afin d'accéder à n'importe quel service AWS. Vous avez également besoin d'informations d'identification pour les services individuels, comme Amazon S3 ou Amazon EC2. Vous obtenez ces informations d'identification dans un profil pour le AWS SDK for .NET lorsque vous créez votre premier exemple d'application [ajouter lien]. Créer un compte AWS 1. Ouvrez http://aws.amazon.com/ et choisissez Create a Free Account (Créer un compte gratuit). Il est probable que cette opération soit indisponible dans votre navigateur si vous vous êtes déjà connecté à 4
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Tarification AWS Management Console auparavant. Dans ce cas, choisissez Se connecter à un autre compte, puis Créer un nouveau compte AWS. 2. Suivez les instructions à l'écran. Dans le cadre de la procédure d'inscription, vous recevrez un appel téléphonique et vous saisirez un code PIN en utilisant le clavier numérique de votre téléphone. Après avoir créé un compte AWS, vous pouvez utiliser AWS CloudFormation via la AWS Management Console, le AWS CloudFormation, l'API ou l'CLI AWS. Tarification AWS utilise le principe du paiement à l'utilisation pour la tarification de plus de 70 services de cloud. Avec AWS, vous ne payez que pour les services dont vous avez besoin, tant que vous continuez à les utiliser et ce, sans contrat à long terme ou gestion de licence complexe. Vous ne payez que les services que vous utilisez, et si vous cessez de vous en servir, aucun coût additionnel ou frais de résiliation ne vous sera facturé. Pour plus d'informations sur la tarification AWS, consultez la page de détails de chaque produit à l'adresse http://aws.amazon.com. Par exemple, consultez aws.amazon.com/s3/pricing pour la tarification Amazon Simple Storage Service. Pour afficher l'activité en cours de votre compte et gérer votre compte à tout moment, accédez à http:// aws.amazon.com et choisissez My Account/Billing and Cost Management Dashboard (Mon compte/ Tableau de bord Facturation et gestion des frais). 5
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Types de sites web Applications Web Amazon Web Services propose des solutions d'hébergement dans le cloud pour fournir des sites et applications Web. AWS fournit la prise en charge du développement .NET et d'autres plates-formes, possède des centres de données à travers le monde et peut augmenter et diminuer dynamiquement les ressources avec des fluctuations du trafic sur le site Web. Avec les modèles de tarification flexibles, AWS ne vous facture que les ressources que vous utilisez. Types de sites web Hébergement de site web statique Les sites web statiques délivrent des fichiers HTML, JavaScript, des images, des vidéos et d'autres fichiers pour les visiteurs de votre site Web. Ils ne contiennent aucun code d'application côté serveur, comme ASP.NET ou PHP. Ils sont généralement utilisés pour créer des sites de marketing ou personnels. ASP.NET et les applications web ASP.NET Core nécessitent généralement un hébergement de site web simple ou d'entreprise. Envisagez d'utiliser l'hébergement de site web statique lorsque votre site web ne contient pas de scripts côté serveur, est rarement modifié et a besoin de mise à l'échelle pour les intervalles de trafic dense. Des sites web statiques sont optimaux pour les clients qui n'ont pas à gérer d'infrastructure. Hébergement simple de sites web Les sites web simples se composent généralement d'un seul serveur sous Linux, Unix ou Windows avec une pile de développement, comme ASP.NET. Ils offrent un point de départ simple pour un site web ayant la possibilité de se développer à l'avenir. Les sites web simples nécessitent l'administration informatique du serveur web et ne sont pas conçus pour être hautement disponibles ou scalables au-delà de quelques serveurs. Envisagez d'utiliser l'hébergement de site web simple lorsqu'il est peu probable que votre site web soit dimensionné au-delà de cinq serveurs, et que vous voulez gérer votre propre serveur web et ses ressources. Hébergement de site web d'entreprise Les sites web d'entreprise utilisent des serveurs et services AWS, et exploitent généralement plusieurs centres de données (ou zones de disponibilité). Ils dimensionnent dynamiquement les ressources en fonction de la demande et doivent être hautement disponibles. Il existe souvent différentes piles de développement utilisées pour les différentes parties de l'application. Envisagez d'utiliser l'hébergement de site web d'entreprise lorsque votre site web a besoin de serveurs web dans au moins deux centres de données, a besoin de dimensionnement ou a besoin de capacités élevées en matière d'UC. L'hébergement de site web d'entreprise est idéal pour ceux qui ont besoin de contrôle maximal et la flexibilité de la configuration, et de gérer leur propre serveur web. Choisir où déployer votre application web Vous disposez de plusieurs options de déploiement sur Amazon Web Services. Vous pouvez choisir l'approche automatique, principalement de répondre à quelques questions de configuration initiale et laisser 6
Kit SDK AWS .NET Guide AWS pour les développeurs .NET AWS Elastic Beanstalk AWS se charger du reste. Ou vous pouvez choisir l'option manuelle entièrement configurable, l'ajustement de DNS, les programmes de scalabilité automatique et d'autres aspects de votre environnement de déploiement. AWS Elastic Beanstalk AWS Elastic Beanstalk est un service simple à utiliser pour déployer et mettre à l'échelle des applications Web développées avec .NET. Il vous suffit de déployer votre application et Elastic Beanstalk gère automatiquement les détails du déploiement des capacités, de l'équilibrage de la charge, de la mise à l'échelle et de la surveillance de l'état de l'application. Vous conservez la maîtrise totale des ressources AWS alimentant votre application et pouvez accéder aux ressources sous-jacentes à tout moment. Elastic Beanstalk prend en charge plusieurs plates-formes pour différentes versions de l'infrastructure de programmation .NET et de Windows Server. Il prend également en charge des conteneurs Docker. Amazon Elastic Container Service Amazon Elastic Container Service est un service hautement scalable et de haute performance de gestion de conteneurs, qui permet d'exécuter, de gérer et d'arrêter facilement des conteneurs Docker dans un cluster d'instances Amazon EC2. Amazon ECS est une bonne option si vous avez une application .NET Core conteneurisée. AWS Lambda AWS Lambda vous permet d'exécuter des fonctions ou des applications sans serveur .NET Core sans avoir à mettre en service ou gérer des serveurs. Vous obtenez un dimensionnement flexible et une haute disponibilité et aucune capacité inutilisée, car il n'y a aucun frais lorsque votre code n'est pas en cours d'exécution. Lambda est une bonne option si vous souhaitez vraiment bénéficier du calcul sans serveur. Déploiement d'applications Web à partir de Visual Studio Vous pouvez déployer vos applications Web vers AWS sans quitter Visual Studio à l'aide de Toolkit for Visual Studio. Rubriques • Déploiement d'une application ASP.NET sur Windows (p. 7) • Déploiement d'une application ASP.NET Core 2.0 sur AWS Elastic Beanstalk (p. 10) • Déploiement d'une application ASP.NET Core 2.0 sur Amazon Elastic Container Service (p. 12) Déploiement d'une application ASP.NET sur Windows Vous pouvez utiliser l'assistant Publish to AWS Elastic Beanstalk (Publier à AWS Elastic Beanstalk), fourni avec le Toolkit for Visual Studio, pour déployer une application sur Elastic Beanstalk. Pour vous exercer, 7
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Déploiement d'une application ASP.NET sur Windows vous pouvez utiliser le projet de démarrage de l'instance d'une application web intégrée à Visual Studio ou votre propre projet. Créer un échantillon de projet de démarrage d'application web 1. Dans Visual Studio, choisissez File (Fichier), New (Nouveau), Project (Projet). 2. Dans le panneau de navigation de la boîte de dialogue New Project (Nouveau projet), développez Installed (Installé), développez Templates (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 Applications (.NET Framework). 4. Dans la case Name (Nom), tapez WebAppDemo. Choisissez un Location (Emplacement) et vérifiez que la case Create directory for solution (Créer un annuaire pour la solution) est cochée. Choisissez ensuite OK. 5. Dans la boîte de dialogue New ASP.NET Web Application (Nouvelle application web AST .NET), choisissez Web Forms (Formulaires web) ou MVC, puis choisissez OK. Visual Studio crée une solution et un projet basés sur le modèle de projet d'application que vous avez sélectionné. Ensuite, Visual Studio affiche l'Explorateur de solutions dans lequel apparaissent la nouvelle solution et le nouveau projet. Déployer une application à l'aide de l'assistant Publish to Elastic Beanstalk 1. Dans l'Explorateur de solutions, ouvrez le menu contextuel (clic droit) du dossier WebAppDemo du projet, ou ouvrez le menu contextuel du projet pour votre propre application, puis choisissez Publish to AWS Elastic Beanstalk (Publier dans AWS Elastic Beanstalk). L'assistant Publish to Elastic Beanstalk (Publier dans AWS Elastic Beanstalk) s'ouvre. 2. Dans Profile (Profil), dans la liste déroulante Account profile to use for deployment (Compte de profil à utiliser pour le déploiement), choisissez le profil du compte AWS que vous souhaitez utiliser pour le déploiement. Ce compte de profil est utilisé uniquement pour le déploiement. Vous pouvez spécifier vos informations d'identification d'application séparément, si nécessaire. Si vous disposez éventuellement d'un compte AWS que vous souhaitez utiliser, mais que vous ne lui avez pas encore créé de profil, vous pouvez choisir le bouton avec le symbole plus (+) pour lui en ajouter un. 3. Dans la liste Region (Région), choisissez la région AWS dans laquelle vous souhaitez qu'Elastic Beanstalk déploie l'application. 4. Dans Deployment Target (Cible de déploiement), choisissez Create a new application environment (Créer un nouvel environnement d'application). Si vous souhaitez redéployer une application précédemment déployée, vous choisissez Redeploy to an existing environment (Redéployer vers un environnement existant). 5. Choisissez Suivant. Sur la page Application Environment (Environnement d'application), dans la zone Application, le Name (Nom) se règle par défaut sur WebAppDemo. 6. Dans Environnement, dans la liste Nom, choisissez WebAppDemo-dev. Dans ce contexte, le terme environnement se rapporte à l'infrastructure qu'Elastic Beanstalk alloue pour votre application. 7. Choisissez Vérifier la disponibilité pour vous assurer que l'URL par défaut de domaine EBWebAppDemo-dev de votre application web n'est pas déjà en cours d'utilisation. S'il est en cours d'utilisation, essayez d'autres noms jusqu'à ce que l'URL demandée est disponible. 8. Choisissez Suivant. 8
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Déploiement d'une application ASP.NET sur Windows 9. Dans la liste Paire de clés, choisissez une paire de clés d'instance Amazon EC2 à utiliser pour vous connecter aux instances utilisées pour votre application. Sélectionnez et saisissez un nom de clé. Nous avons utilisé « MyKeyPair » dans cet exemple. Nous vous recommandons de lancer votre instance avec une paire de clés afin de vous connecter à celui-ci avec SSH ou RDP à l'avenir. 10.Veillez à ce que Utiliser sans VPC par défaut, Single instance environment (Environnement d'instance unique), et Enable Rolling Deployments (Autoriser les déploiements continus) ne soient pas sélectionnés. Vous pouvez ajouter ces options ultérieurement. Le cas échéant, si vous avez un groupe de sécurité de base de données Amazon Relational Database Service avec une base de données à laquelle vous souhaitez que votre application ait accès, sélectionnez-le dans la liste Relational Database Access (Accès de base de données relationnelle). Il sera modifié pour autoriser l'accès depuis les instances Amazon EC2 hébergeant votre application. Choisissez Suivant. 1. Sur la page Autorisations, choisissez Suivant pour accepter les paramètres par défaut. 2. Sur la page Applications Options (Options d'applications), choisissez Suivant pour accepter les paramètres par défaut. 3. Sur la page Révision, sélectionnez Open environment status window when wizard closes (Ouvrir la fenêtre d'état d'environnement lorsque l'assistant se ferme) et Generate AWSDeploy configuration (Générer une configuration AWSDeploy). Cliquez sur Choisir, tapez dans WebAppDemo, puis choisissez Save (Enregistrer). 4. Choisissez Deploy (Déployer) pour déployer à Elastic Beanstalk. Note Lorsque vous déployez l'application, le compte actif occasionne des frais pour les ressources AWS utilisées par cette dernière. Les informations sur le déploiement apparaissent dans la barre d'état Visual Studio et la fenêtre Events (Événements) de la page d'environnement. Le déploiement peut prendre plusieurs minutes à compléter. Une fois terminé, vous verrez un événement INFO vert indiquant que le lancement d'environnement a réussi. Choisissez l'URL pour afficher le site web. Supprimer un déploiement AWS Elastic Beanstalk Résiliez un environnement, supprimez l'application. Vous pouvez utiliser Toolkit for Visual Studio pour supprimer un déploiement. Dans AWS Explorer, développez le nœud Elastic Beanstalk, ouvrez le menu contextuel (clic droit) pour le sous-nœud du déploiement, puis choisissez Terminate Environment (Résilier l'environnement). Le processus de résiliation peut prendre quelques minutes. Vous pouvez surveiller le statut de résiliation dans l'onglet d'événement de l'affichage d'environnement. Une fois le déploiement résilié, développez le nœud Elastic Beanstalk dans AWS Explorer, ouvrez le menu contextuel (clic droit) pour le sous-nœud du déploiement, puis choisissez Supprimer. 9
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Déploiement d'une application ASP.NET Core 2.0 sur AWS Elastic Beanstalk Déploiement d'une application ASP.NET Core 2.0 sur AWS Elastic Beanstalk Vous pouvez utiliser l'assistant Publish to AWS Elastic Beanstalk (Publier dans AWS Elastic Beanstalk), fourni avec le Toolkit for Visual Studio, pour déployer une application ASP.NET Core 2.0 ciblant Windows sur Elastic Beanstalk. Créer un échantillon de projet de démarrage d'application web 1. Dans Visual Studio, choisissez File (Fichier), New (Nouveau), Project (Projet). 2. Dans le panneau de navigation de la boîte de dialogue New Project (Nouveau projet), développez Installed (Installé), développez Templates (Modèles), développez Visual C#, puis choisissez Web. 3. Dans la liste des modèles de projet web, choisissez ASP.NET Core Web Application. 4. Dans la zone Name (Nom), tapez WebAppDemo, puis choisissez OK pour procéder au prochain écran. 5. Confirmez la sélection de NET Core et ASP.NET Core 2.0, puis sélectionnez le modèle d'application Web Application. 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 pour procéder à la prochaine page. 7. Confirmez la sélection de NET Core et ASP.NET Core 2.0, puis sélectionnez le modèle d'application Web Application. Déployer une application ASP.NET Core 2.0 à l'aide de l'assistant Publish to AWS Elastic Beanstalk 1. Dans l'Explorateur de solutions, ouvrez le menu contextuel (clic droit) du dossier de projet WebAppDemo ou ouvrez le menu contextuel du projet de votre propre application. Ensuite, choisissez Publish to AWS Elastic Beanstalk (Publier dans AWS Elastic Beanstalk). L'assistant Publish to Elastic Beanstalk (Publier dans AWS Elastic Beanstalk) s'ouvre. 2. Dans Profile (Profil), dans la liste déroulante Account profile to use for deployment (Compte de profil à utiliser pour le déploiement), choisissez le profil du compte AWS que vous souhaitez utiliser pour le déploiement. Ce compte de profil est utilisé uniquement pour le déploiement. Vous spécifiez d'autres informations d'identification séparément dans l'assistant. Si vous disposez éventuellement d'un compte AWS que vous souhaitez utiliser, mais que vous ne lui avez pas encore créé de profil, vous pouvez choisir le bouton avec le symbole plus (+) pour lui en ajouter un. 3. Dans la liste Region (Région), choisissez la région AWS dans laquelle vous souhaitez qu'Elastic Beanstalk déploie l'application. 4. Dans Deployment Target (Cible de déploiement), choisissez Create a new application environment (Créer un nouvel environnement d'application). Si vous souhaitez redéployer une application précédemment déployée, vous choisissez Redeploy to an existing environment (Redéployer vers un environnement existant). 5. Choisissez Suivant. Sur la page Application Environment (Environnement d'application), dans la zone Application, le Name (Nom) se règle par défaut sur WebAppDemo. 1. Dans la zone Environnement, dans la liste Nom, choisissez WebAppDemo-dev. Dans ce contexte, le terme environnement se rapporte à l'infrastructure qu'Elastic Beanstalk alloue pour votre application. 10
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Déploiement d'une application ASP.NET Core 2.0 sur AWS Elastic Beanstalk 2. Choisissez Vérifier la disponibilité pour vous assurer que l'URL par défaut de domaine EBWebAppDemo-dev de votre application web n'est pas déjà en cours d'utilisation. S'il est en cours d'utilisation, essayez d'autres noms jusqu'à ce que l'URL demandée est disponible. 3. Choisissez Suivant. 4. Dans la liste déroulante Paire de clés, choisissez une paire de clés d'instance Amazon EC2 à utiliser pour vous connecter aux instances qui seront utilisées pour votre application. Sélectionnez et saisissez un nom de clé. Nous avons utilisé « MyKeyPair » dans cet exemple. Nous vous recommandons de lancer votre instance avec une paire de clés afin de vous connecter à celui-ci avec SSH ou RDP à l'avenir. 5. Veillez à ce que Utiliser sans VPC par défaut, Single instance environment (Environnement d'instance unique), et Enable Rolling Deployments (Autoriser les déploiements continus) ne soient pas sélectionnés. Vous pouvez ajouter ces options ultérieurement. Le cas échéant, si vous avez un groupe de sécurité de base de données Amazon Relational Database Service avec une base de données à laquelle vous souhaitez que votre application ait accès, sélectionnez-le dans la liste Relational Database Access (Accès de base de données relationnelle). Il sera modifié pour autoriser l'accès depuis les instances Amazon EC2 hébergeant votre application. Choisissez Suivant. 6. Sur la page Autorisations, choisissez Suivant pour accepter les paramètres par défaut. 7. Sur la page Applications Options (Options d'applications), choisissez Suivant pour accepter les paramètres par défaut. 8. Sur la page Révision, vérifiez les options que vous avez configurées. Choisissez Open environment status window when wizard closes (Ouvrir la fenêtre d'état d'environnement lorsque l'assistant se ferme) et Enregistrement de paramètres de projet pour aws-beanstalk-tools-defaults.json et configurez le déploiement de ligne de commande. Vous pouvez utiliser le fichier de paramètres pour effectuer des déploiements futurs à partir de la ligne de commande à l'aide de l'interface de ligne de commande .NET. 9. Si tout vous paraît correct, choisissez Déploiement. Note Lorsque vous déployez l'application, le compte actif occasionne des frais pour les ressources AWS utilisées par cette dernière. Les informations sur le déploiement apparaissent dans la barre d'état Visual Studio et la fenêtre Events (Événements) de la page d'environnement. Le déploiement peut prendre plusieurs minutes à compléter. Une fois terminé, vous verrez un événement INFO vert indiquant que le lancement d'environnement a réussi. Choisissez l'URL pour afficher le site web. Développez la capacité Votre environnement Elastic Beanstalk inclut un groupe Auto Scaling qui gère les instances Amazon EC2 de votre environnement. Dans un environnement à instance unique, le groupe Auto Scaling s'assure qu'il y a toujours une instance en cours d'exécution. Dans un environnement à charge équilibrée, vous configurez le groupe avec une gamme d'instances à exécuter et l'Auto Scaling Amazon EC2 ajoute ou supprime les instances en fonction de la charge requise par vos besoins. Vous pouvez configurer la façon dont Auto Scaling Amazon EC2 fonctionne en modifiant la Capacity (Capacité) sur la page Auto Scaling pour votre application dans AWS Explorer. 1. Dans Visual Studio 2017, sélectionnez View (Afficher), puis choisissez AWS Explorer s'il n'est pas déjà visible. 11
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Déploiement d'une application ASP.NET Core 2.0 sur Amazon Elastic Container Service 2. Dans AWS Explorer, développez le nœud Elastic Beanstalk, puis double-cliquez sur le nœud votre environnement d'application. Dans cet exemple, c'est EBWebAppDemo-dev. 3. Choisissez Auto Scaling. 4. Configurer les paramètres de scalabilité automatique. Pour vous assurer qu'il y ait un minimum de deux instances de votre application en cours d'exécution, ajustez le Nombre minimum d'instances à 2. Vous pouvez également augmenter ou diminuer le Nombre maximum d'instances en fonction de la demande. Pour plus d'informations sur les paramètres de scalabilité automatique et les déclencheurs, consultez Auto Scaling Group. 5. Choisissez Appliquer les modifications. Suppression d'un déploiement AWS Elastic Beanstalk Vous pouvez utiliser Toolkit for Visual Studio pour supprimer une application. Dans AWS Explorer, développez le nœud Elastic Beanstalk, ouvrez le menu contextuel (clic droit) pour l'application que vous souhaitez supprimer, puis choisissez Supprimer. Vous pouvez également résilier un environnement de déploiement. Dans AWS Explorer, développez le nœud Elastic Beanstalk, développez le nœud de votre application, ouvrez le menu contextuel (clic droit) de l'environnement que vous souhaitez résilier, puis sélectionnez Terminate Environment (Supprimer l'environnement). Le processus de résiliation peut prendre quelques minutes. Vous pouvez surveiller le statut de résiliation dans l'onglet d'événement de l'affichage d'environnement. Déploiement d'une application ASP.NET Core 2.0 sur Amazon Elastic Container Service Cette section décrit comment utiliser l'assistant Publish Container to AWS (Publier un conteneur dans AWS), fourni dans le cadre de Toolkit for Visual Studio, pour déployer une application de conteneur ASP.NET Core 2.0 ciblant Linux via Amazon ECS à l'aide du type de lancement Fargate. Dans la mesure où une application web est destinée à s'exécuter en continu, elle sera déployée sous la forme d'un service. Accès à l'assistant Publier un conteneur dans AWS Pour déployer une application de conteneur ASP.NET Core 2.0 ciblant Linux, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et sélectionnez Publish Container to AWS (Publier un conteneur dans AWS). Vous pouvez également sélectionner Publish Container to AWS (Publier un conteneur dans AWS) dans le menu Génération de Visual Studio. Créer un échantillon de projet de démarrage d'application web 1. Dans Visual Studio, choisissez File (Fichier), New (Nouveau), Project (Projet). 2. Dans le panneau de navigation de la boîte de dialogue New Project (Nouveau projet), développez Installed (Installé), développez Templates (Modèles), développez Visual C#, puis choisissez Web. 3. Dans la liste des modèles de projet web, choisissez ASP.NET Core Web Application. 4. Dans la zone Name (Nom), tapez WebAppDemo, puis choisissez OK pour procéder à la prochaine page. 5. Confirmez la sélection de NET Core et ASP.NET Core 2.0, puis sélectionnez le modèle d'application Web Application. 6. Choisissez Enable Docker Support (Activer le support Docker), choisissez Linux en tant que système d'exploitation, puis choisissez OK. Visual Studio 2017 génère le projet. 12
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Déploiement d'une application ASP.NET Core 2.0 sur Amazon Elastic Container Service Utilisez l'assistant Publier un conteneur dans AWS 1. Dans l'Explorateur de solutions, ouvrez le menu contextuel (clic droit) pour accéder au dossier du WebAppDemo du 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 Publish Container to AWS (Publier un conteneur dans AWS). L'assistant Publish Container to AWS (Publier un conteneur dans AWS) apparaît. 2. Dans Profile (Profil), dans la liste déroulante Account profile to use for deployment (Compte de profil à utiliser pour le déploiement), choisissez le profil du compte AWS que vous souhaitez utiliser pour le déploiement. Ce compte de profil est utilisé uniquement pour le déploiement. Vous pouvez spécifier d'autres informations d'identification séparément dans l'assistant. Si vous disposez éventuellement d'un compte AWS que vous souhaitez utiliser, mais que vous ne lui avez pas encore créé de profil, vous pouvez choisir le bouton avec le symbole plus (+) pour lui en ajouter un. 3. Dans la liste Region (Région), choisissez la région USA Est (Virginie du Nord) ou une autre région proposant Fargate. 4. Choisissez Service on an ECS Cluster (Service sur un cluster ECS) en tant que Deployment Target (Cible de déploiement). Veillez à ce que Enregistrer les paramètres de projet pour aws-ecs-tools- defaults.json et configurer le déploiement de ligne de commande soit sélectionné. Vous pouvez utiliser le fichier de paramètres pour effectuer des déploiements futurs à l'aide de la ligne de commande avec l'CLI .NET. 5. Sur la page Launch Configuration (Configuration de lancement), dans la liste ECS Cluster, choisissez Create an empty cluster (Créer un cluster vide), puis nommez le cluster WebAppDemo. Vérifiez que le Launch Type (Type de lancement) est défini sur FARGATE. 6. Dans la zone Network Configuration (Configuration de réseau), choisissez Create New (Créer nouveau) pour créer un nouveau groupe de sécurité, puis choisissez Next (Suivant). 7. Sur la page Service Configuration (Configuration de service), dans la liste Service, choisissez Create New (Créer nouveau). L'assistant fournit un nom de service par défaut. 8. Mettre à jour le Nombre de tâches à 2. Chaque tâche se mappe à une instance de votre conteneur. Si l'une échoue, les autres peuvent être disponibles. Sélectionnez Suivant 9. Sur la page Application Load Balancer Configuration (Configuration d'un équilibreur de charge d'application) choisissez Configure Application Load Balancer (Configurer l'équilibreur de charge d'application). Dans la liste Équilibreur de charge, choisissez Créer nouveau. L'assistant fournit des valeurs par défaut pour les champs connexes. Choisissez Suivant. 10.Sur la page Configuration d'un équilibreur de charge d'application, dans la liste Task Definition (Définition de tâche), choisissez Create New (Créer nouveau). La liste Container (Conteneur) doit également être définie sur Create New (Créer nouveau). Acceptez les noms et autres valeurs par défaut. 11.Choisissez Publish. Note Lorsque vous déployez l'application, le compte actif occasionne des frais pour les ressources AWS utilisées par cette dernière. Des événements sont affichés pendant le déploiement. L'assistant se ferme automatiquement une fois l'opération terminée avec succès. Pour modifier cela, décochez la case située en bas de la page. Vous trouverez l'URL de vos nouvelles instances dans AWS Explorer. Développez Amazon ECS, puis développez les Clusters, et cliquez sur votre cluster. 13
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Déploiement d'applications web à partir de Team Services Déploiement d'applications web à partir de Team Services Le AWS Toolkit pour Microsoft Azure DevOps (VSTS) ajoute des tâches afin de facilement créer et publier des pipelines dans VSTS et Team Foundation Server (TFS) pour travailler avec les services AWS. Rubriques • Déploiement d'une application ASP.NET à partir de Team Services vers AWS Elastic Beanstalk (p. 14) • Création d'une version AWS Elastic Beanstalk dans Team Services (p. 15) Déploiement d'une application ASP.NET à partir de Team Services vers AWS Elastic Beanstalk Vous pouvez utiliser le déploiement des tâches Elastic Beanstalk, fourni dans le cadre du AWS Toolkit pour Microsoft Azure DevOps, pour déployer une application ASP.NET vers une seule application Elastic Beanstalk existante en une étape. 1. Dans Team Services, choisissez l'onglet Projects (Projets). Sélectionnez le projet à déployer, puis choisissez Build & Release (Créer et publier). 2. Sur la page Build Definitions (Définitions de création), choisissez + New definition (+ Nouvelle définition). 3. Sur la page Select a template (Sélectionner un modèle), sélectionnez ASP.NET, puis choisissez Apply (Appliquer). 4. Ajout la tâche de déploiement Elastic Beanstalk Choisissez Add Task (Ajouter la tâche). Dans le volet de droite Add tasks (Ajouter des tâches), tapez aws dans la barre de recherche, faites défiler l'écran à AWS Elastic Beanstalk Deploy Application (Déployer application AWS Elastic Beanstalk), puis choisissez Add (Ajouter). 5. Sur la page Process (Processus), choisissez Deploy to AWS Elastic Beanstalk (Déployer à AWS Elastic Beanstalk) pour configurer des détails de déploiement. Choisissez AWS Credentials (Informations d'identification AWS), puis choisissez les informations d'identification que l'agent de génération utilisera pour l'accès à Elastic Beanstalk. 6. Choisissez la Région AWS pour votre déploiement Elastic Beanstalk. 7. Fournissez un Application Name (Nom d'application) et un Environment Name (Nom d'environnement) pour le déploiement. Par exemple : ContosoUniversity et ContosoUniversity-dev. 8. Dans la liste Deployment Bundle Type (Type de solution groupée de déploiement), choisissez ASP.NET (Source : Web Deploy Archive), puis spécifiez l'emplacement Web Deploy Archive (Archive de déploiement web). Il s'agit d'un fichier .zip nommé en fonction de votre application. Par exemple, $(build.artifactstagingdirectory)\ContosoUniversity.zip. Pour obtenir l'archive de déploiement web (le package de sortie) du dossier, choisissez Build Solution (Solution de création) dans la Process list (Liste de processus), puis examinez PackageLocation dans l'entrée MSBuild Arguments. 9. Dans la boîte Version Label (Étiquette de version) saisissez $(Build.BuildNumber). Si vous ne fournissez pas d'étiquette de version, une de celles-ci sera automatiquement générée selon la date et l'heure. 10.Sélectionnez Save & queue (Enregistrer et mettre en attente). Dans la boîte de dialogue Queue build (Création de file d'attente), choisissez Queue (File d'attente). Vous pouvez voir la progression du déploiement dans la console de création. 14
Kit SDK AWS .NET Guide AWS pour les développeurs .NET Création d'une version AWS Elastic Beanstalk dans Team Services Création d'une version AWS Elastic Beanstalk dans Team Services Vous pouvez utiliser le déploiement des tâches AWS Elastic Beanstalk, fourni dans le cadre du AWS Toolkit pour Microsoft Azure DevOps, pour créer une application ASP.NET afin de déployer plusieurs applications Elastic Beanstalk existantes. 1. Dans Team Services, choisissez l'onglet Projects (Projets). Sélectionnez le projet à déployer, puis choisissez Build & Release (Créer et publier). Le processus est le même pour Visual Studio Team Services. 2. Sur la page Build Definitions (Définitions de création), choisissez + New definition (+ Nouvelle définition). 3. Sur la page Select a template (Sélectionner un modèle), sélectionnez ASP.NET, puis choisissez Apply (Appliquer). 4. Ajout la tâche de déploiement Elastic Beanstalk Choisissez Add Task (Ajouter la tâche). Dans le volet de droite Add tasks (Ajouter des tâches), tapez aws dans la barre de recherche, faites défiler l'écran à AWS Elastic Beanstalk Create Version (Créer version AWS Elastic Beanstalk), puis choisissez Add (Ajouter). 5. Sur la page Process (Processus), choisissez AWS Elastic Beanstalk Create Version (Créer version AWS Elastic Beanstalk) pour configurer des détails de déploiement. Choisissez AWS Credentials (Informations d'identification AWS), puis choisissez les informations d'identification que l'agent de génération utilisera pour l'accès à Elastic Beanstalk. 6. Choisissez la Région AWS pour votre déploiement Elastic Beanstalk. 7. Indiquez le Application Name (Nom de l'application) pour le déploiement. L'application doit exister. 8. Dans la liste Deployment Bundle Type (Type de solution groupée de déploiement), choisissez ASP.NET (Source : Web Deploy Archive), puis spécifiez l'emplacement Web Deploy Archive (Archive de déploiement web). Il s'agit d'un fichier .zip nommé en fonction de votre application. Par exemple $(build.artifactstagingdirectory)\ContosoUniversity.zip. Pour obtenir l'archive de déploiement web (le package de sortie) du dossier, choisissez Build Solution (Solution de création) dans la Process list (Liste de processus), puis examinez PackageLocation dans l'entrée MSBuild Arguments. 9. Dans la boîte Version Label (Étiquette de version) saisissez $(Build.BuildNumber). Si vous ne fournissez pas d'étiquette de version, une de celles-ci sera automatiquement générée selon la date et l'heure. 10.Choisissez Save & queue (Enregistrer et mettre en attente). Dans la boîte de dialogue Queue build (Création de file d'attente), choisissez Queue (File d'attente). Vous pouvez voir la progression des tâches dans la console de création. Connexion à une instance déployée Apprenez comment vous connecter à une instance Linux ou Windows et transférer des fichiers entre votre ordinateur local et votre instance. Rubriques • Connexion à votre instance Windows (p. 15) • Connexion à votre instance Linux (p. 16) Connexion à votre instance Windows Les instances Amazon Elastic Compute CloudAmazon EC2 créées à partir de la plupart des Amazon Machine Images (AMI) de Windows vous permettent de vous connecter à l'aide des services de bureau à 15
Vous pouvez aussi lire