

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'applications .NET Windows avec Elastic Beanstalk
<a name="create_deploy_NET"></a>

**Consultez le *.NET on AWS Developer Center***  
  
Vous êtes-vous déjà rendu dans notre *centre de développement .Net* ? C'est notre guichet unique pour tout ce qui concerne .NET AWS.  
Pour plus d'informations, consultez le [.NET on AWS Developer Center](https://aws.amazon.com/developer/language/net).

Ce chapitre fournit des instructions pour configurer et déployer vos applications Web ASP.NET et .NET Core pour AWS Elastic Beanstalk Windows sur. Elastic Beanstalk facilite le déploiement, la gestion et le dimensionnement de vos applications Web .NET (Windows) à l'aide d'Amazon Web Services.

Vous pouvez déployer votre application en quelques minutes à l'aide de l'interface de ligne de commande Elastic Beanstalk (EB CLI) ou de la console Elastic Beanstalk. Après avoir déployé votre application Elastic Beanstalk, vous pouvez continuer à utiliser l'EB CLI pour gérer votre application et votre environnement, ou vous pouvez utiliser la console Elastic Beanstalk, ou le. AWS CLI APIs

Ce chapitre propose les didacticiels suivants :
+ [QuickStart pour .NET Core sous Windows](dotnet-quickstart.md)— Step-by-step instructions pour créer et déployer une application Windows *Hello World* .NET Core à l'aide de l'interface de ligne de commande EB.
+ [QuickStart pour ASP.NET](aspnet-quickstart.md)— Step-by-step instructions pour créer et déployer une application *Hello World* ASP.NET à l'aide du AWS Toolkit for Visual Studio.

Si vous avez besoin d'aide pour le développement d'applications Windows .NET Core, vous pouvez vous rendre à plusieurs endroits :
+  [Forum de développement .NET](https://forums.aws.amazon.com/forum.jspa?forumID=61) : postez vos questions et recevez des commentaires.
+ [.NET Developer Center](https://aws.amazon.com/net/) : guichet unique pour des exemples de code, de la documentation, des outils et des ressources supplémentaires.
+ AWS Documentation du [SDK pour .NET](https://aws.amazon.com/documentation/sdk-for-net/) : découvrez comment configurer le SDK et exécuter des exemples de code, les fonctionnalités du SDK et des informations détaillées sur les opérations d'API du SDK.

**Note**  
Cette plate-forme ne prend pas en charge les environnements de travail. Pour en savoir plus, consultez [Environnements de travail Elastic Beanstalk](using-features-managing-env-tiers.md). 

**Topics**
+ [QuickStart: Déployer une application .NET Core sous Windows sur Elastic Beanstalk](dotnet-quickstart.md)
+ [QuickStart: Déployer une application ASP.NET sur Elastic Beanstalk](aspnet-quickstart.md)
+ [Configuration de votre environnement de développement .NET](dotnet-devenv.md)
+ [Utilisation de la plateforme Windows Elastic Beanstalk .NET](create_deploy_NET.container.console.md)
+ [Ajout d'une instance de base de données Amazon RDS à votre environnement d'application .NET](create_deploy_NET.rds.md)
+ [Le AWS Toolkit for Visual Studio](dotnet-toolkit.md)
+ [Migration de votre application .NET sur site vers Elastic Beanstalk](dotnet-onpremmigration.md)
+ [Recommandations pour les composants retirés de Windows Server sur Elastic Beanstalk](dotnet-deprecation-recommendations.md)

# QuickStart: Déployer une application .NET Core sous Windows sur Elastic Beanstalk
<a name="dotnet-quickstart"></a>

Ce QuickStart didacticiel explique le processus de création d'une application .NET Core sous Windows et son déploiement dans un AWS Elastic Beanstalk environnement.

**Non destiné à une utilisation en production**  
Les exemples sont fournis à titre de démonstration uniquement. N'utilisez pas d'exemples d'applications en production.

**Topics**
+ [Votre AWS compte](#dotnet-quickstart-aws-account)
+ [Conditions préalables](#dotnet-quickstart-prereq)
+ [Étape 1 : Création d'une application .NET Core sous Windows](#dotnet-quickstart-create-app)
+ [Étape 2 : Exécutez votre application localement](#dotnet-quickstart-run-local)
+ [Étape 3 : Déployez votre application .NET Core sous Windows avec l'EB CLI](#dotnet-quickstart-deploy)
+ [Étape 4 : Exécutez votre application sur Elastic Beanstalk](#dotnet-quickstart-run-eb-ap)
+ [Étape 5 : nettoyer](#go-tutorial-cleanup)
+ [AWS ressources pour votre application](#dotnet-quickstart-eb-resources)
+ [Étapes suivantes](#dotnet-quickstart-next-steps)
+ [Déployez avec la console Elastic Beanstalk](#dotnet-quickstart-console)

## Votre AWS compte
<a name="dotnet-quickstart-aws-account"></a>

Si vous n'êtes pas encore AWS client, vous devez créer un AWS compte. L'inscription vous permet d'accéder à Elastic Beanstalk AWS et aux autres services dont vous avez besoin.

Si vous avez déjà un AWS compte, vous pouvez passer à[Conditions préalables](#dotnet-quickstart-prereq).

### Créez un AWS compte
<a name="dotnet-quickstart-aws-account-procedure"></a>

#### Inscrivez-vous pour un Compte AWS
<a name="sign-up-for-aws"></a>

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

**Pour vous inscrire à un Compte AWS**

1. Ouvrez l'[https://portal.aws.amazon.com/billing/inscription.](https://portal.aws.amazon.com/billing/signup)

1. Suivez les instructions en ligne.

   Dans le cadre de la procédure d’inscription, vous recevrez un appel téléphonique ou un SMS et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

   Lorsque vous vous inscrivez à un Compte AWS, un *Utilisateur racine d'un compte AWS*est créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les [tâches nécessitant un accès utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à [https://aws.amazon.com/](https://aws.amazon.com/)et en choisissant **Mon compte**.

#### Création d’un utilisateur doté d’un accès administratif
<a name="create-an-admin"></a>

Une fois que vous vous êtes inscrit à un utilisateur administratif Compte AWS, que vous Utilisateur racine d'un compte AWS l'avez sécurisé AWS IAM Identity Center, que vous l'avez activé et que vous en avez créé un, afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.

**Sécurisez votre Utilisateur racine d'un compte AWS**

1.  Connectez-vous en [AWS Management Console](https://console.aws.amazon.com/)tant que propriétaire du compte en choisissant **Utilisateur root** et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe.

   Pour obtenir de l’aide pour vous connecter en utilisant l’utilisateur racine, consultez [Connexion en tant qu’utilisateur racine](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) dans le *Guide de l’utilisateur Connexion à AWS *.

1. Activez l’authentification multifactorielle (MFA) pour votre utilisateur racine.

   Pour obtenir des instructions, consultez la section [Activer un périphérique MFA virtuel pour votre utilisateur Compte AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) dans le guide de l'utilisateur *IAM*.

**Création d’un utilisateur doté d’un accès administratif**

1. Activez IAM Identity Center.

   Pour obtenir des instructions, consultez [Activation d’ AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Dans IAM Identity Center, octroyez un accès administratif à un utilisateur.

   Pour un didacticiel sur l'utilisation du Répertoire IAM Identity Center comme source d'identité, voir [Configurer l'accès utilisateur par défaut Répertoire IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) dans le *Guide de AWS IAM Identity Center l'utilisateur*.

**Connexion en tant qu’utilisateur doté d’un accès administratif**
+ Pour vous connecter avec votre utilisateur IAM Identity Center, utilisez l’URL de connexion qui a été envoyée à votre adresse e-mail lorsque vous avez créé l’utilisateur IAM Identity Center.

  Pour obtenir de l'aide pour vous connecter en utilisant un utilisateur d'IAM Identity Center, consultez la section [Connexion au portail AWS d'accès](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) dans le *guide de l'Connexion à AWS utilisateur*.

**Attribution d’un accès à d’autres utilisateurs**

1. Dans IAM Identity Center, créez un ensemble d’autorisations qui respecte la bonne pratique consistant à appliquer les autorisations de moindre privilège.

   Pour obtenir des instructions, consultez [Création d’un ensemble d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Attribuez des utilisateurs à un groupe, puis attribuez un accès par authentification unique au groupe.

   Pour obtenir des instructions, consultez [Ajout de groupes](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

## Conditions préalables
<a name="dotnet-quickstart-prereq"></a>

Pour suivre les procédures décrites dans ce guide, vous aurez besoin d'un shell ou d'un terminal de ligne de commande pour exécuter des commandes. Les commandes sont affichées dans des listes précédées d'un symbole d'invite (>) et du nom du répertoire en cours, le cas échéant.

```
C:\eb-project> this is a command
this is output
```

### INTERFACE DE LIGNE DE COMMANDE (CLI) EB
<a name="dotnet-quickstart-prereq.ebcli"></a>

Ce tutoriel utilise également l'interface de ligne de commande Elastic Beanstalk (CLI EB). Pour de plus amples informations sur l'installation et la configuration de la CLI EB, veuillez consulter [Installation de la CLI EB avec un script de configuration (recommandé)](eb-cli3.md#eb-cli3-install) et [Configuration de l'interface de ligne de commande EB](eb-cli3-configuration.md).

### .NET Core sous Windows
<a name="dotnet-quickstart-prereq.runtime"></a>

Si le SDK .NET n'est pas installé sur votre ordinateur local, vous pouvez l'installer en suivant le lien [Télécharger .NET](https://dotnet.microsoft.com/en-us/download) sur le site Web de [documentation .NET](https://learn.microsoft.com/en-us/dotnet/).

Vérifiez votre installation du SDK .NET en exécutant la commande suivante.

```
C:\> dotnet --info
```

## Étape 1 : Création d'une application .NET Core sous Windows
<a name="dotnet-quickstart-create-app"></a>

Créez un répertoire de projet.

```
C:\> mkdir eb-dotnetcore
C:\> cd eb-dotnetcore
```

Créez ensuite un exemple d'application de service RESTful Web Hello World en exécutant les commandes suivantes.

```
C:\eb-dotnetcore> dotnet new web --name HelloElasticBeanstalk
C:\eb-dotnetcore> cd HelloElasticBeanstalk
```

## Étape 2 : Exécutez votre application localement
<a name="dotnet-quickstart-run-local"></a>

Exécutez la commande suivante pour exécuter votre application localement.

```
C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet run
```

Le résultat doit ressembler au texte suivant.

```
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:7222
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5228
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]
      Content root path: C:\Users\Administrator\eb-dotnetcore\HelloElasticBeanstalk
```

**Note**  
La `dotnet` commande sélectionne un port au hasard lors de l'exécution locale de l'application. Dans cet exemple, le port est 5228. Lorsque vous déployez l'application dans votre environnement Elastic Beanstalk, elle s'exécute sur le port 5000.

Entrez l'adresse URL `http://localhost:port` dans votre navigateur Web. Pour cet exemple spécifique, la commande est`http://localhost:5228`. Le navigateur Web doit afficher « Hello World \$1 ».

## Étape 3 : Déployez votre application .NET Core sous Windows avec l'EB CLI
<a name="dotnet-quickstart-deploy"></a>

Exécutez les commandes suivantes pour créer un environnement Elastic Beanstalk pour cette application.

 

**Pour créer un environnement et déployer votre application .NET Core sous Windows**

1. Exécutez les commandes suivantes dans le `HelloElasticBeanstalk` répertoire pour publier et compresser votre application.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet publish -o site
   C:\eb-dotnetcore\HelloElasticBeasntalk> cd site
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> Compress-Archive -Path * -DestinationPath ../site.zip
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> cd ..
   ```

1. Créez un nouveau fichier dans l'`HelloElasticBeanstalk`appel `aws-windows-deployment-manifest.json` avec le contenu suivant : 

   ```
   {
       "manifestVersion": 1,
       "deployments": {
           "aspNetCoreWeb": [
           {
               "name": "test-dotnet-core",
               "parameters": {
                   "appBundle": "site.zip",
                   "iisPath": "/",
                   "iisWebSite": "Default Web Site"
               }
           }
           ]
       }
   }
   ```

1. Initialisez votre référentiel de la CLI EB avec la commande **eb init** :

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb init -p iis dotnet-windows-server-tutorial --region us-east-2
   ```

   Cette commande crée une application nommée `dotnet-windows-server-tutorial` et configure votre référentiel local pour créer des environnements dotés de la dernière version de la plate-forme Windows Server.

1. Créez un environnement et déployez-y votre application avec **eb create**. Elastic Beanstalk crée automatiquement un fichier zip pour votre application et le démarre sur le port 5000.

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb create dotnet-windows-server-env
   ```

   Il faut environ cinq minutes à Elastic Beanstalk pour créer votre environnement.

## Étape 4 : Exécutez votre application sur Elastic Beanstalk
<a name="dotnet-quickstart-run-eb-ap"></a>

Lorsque le processus de création de votre environnement est terminé, ouvrez votre site Web avec**eb open**.

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb open
```

Félicitations \$1 Vous avez déployé une application .NET Core sur Windows avec Elastic Beanstalk \$1 Celle-ci ouvre une fenêtre de navigation en utilisant le nom de domaine créé pour votre application.

## Étape 5 : nettoyer
<a name="go-tutorial-cleanup"></a>

Vous pouvez mettre fin à votre environnement lorsque vous avez fini d'utiliser votre application. Elastic Beanstalk AWS met fin à toutes les ressources associées à votre environnement.

Pour terminer votre environnement Elastic Beanstalk avec l'EB CLI, exécutez la commande suivante.

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb terminate
```

## AWS ressources pour votre application
<a name="dotnet-quickstart-eb-resources"></a>

Vous venez de créer une application à instance unique. Il s'agit d'un exemple d'application simple avec une seule instance EC2. Il ne nécessite donc pas d'équilibrage de charge ni de dimensionnement automatique. Pour les applications à instance unique, Elastic Beanstalk crée les ressources suivantes : AWS 
+ **Instance EC2** – Une machine virtuelle Amazon EC2 configurée pour exécuter des applications web sur la plateforme de votre choix.

  Chaque plateforme exécute un ensemble distinct de logiciels, de fichiers de configuration et de scripts pour prendre en charge une version de langage, une infrastructure ou un conteneur web spécifiques, ou une combinaison de ces éléments. La plupart des plateformes utilisent Apache ou nginx comme proxy inverse qui traite le trafic web devant votre application web, lui transmet les demandes, traite les ressources statiques et génère des journaux d'accès et d'erreurs.
+ **Groupe de sécurité de l'instance** – Un groupe de sécurité Amazon EC2 configuré pour autoriser le trafic entrant sur le port 80. Cette ressource autorise le trafic HTTP provenant de l'équilibreur de charge à atteindre l'instance EC2 qui exécute votre application web. Par défaut, le trafic n'est pas autorisé sur les autres ports.
+ **Compartiment Amazon S3** – Emplacement de stockage pour votre code source, les journaux et autres artefacts qui sont créés lorsque vous utilisez Elastic Beanstalk.
+ ** CloudWatch Alarmes Amazon** : deux CloudWatch alarmes qui surveillent la charge sur les instances de votre environnement et sont déclenchées si la charge est trop élevée ou trop faible. Lorsqu'une alarme est déclenchée, votre groupe Auto Scaling s'adapte en fonction, à la hausse ou à la baisse.
+ **CloudFormation stack** — Elastic CloudFormation Beanstalk utilise pour lancer les ressources de votre environnement et propager les modifications de configuration. Les ressources sont définies dans un modèle, que vous pouvez afficher dans la [console CloudFormation](https://console.aws.amazon.com/cloudformation).
+  **Nom de domaine** : nom de domaine qui mène à votre application Web dans le formulaire **subdomain*. *region*.elasticbeanstalk.com*. 

Elastic Beanstalk gère toutes ces ressources. Lorsque vous arrêtez votre environnement, Elastic Beanstalk arrête toutes les ressources qu'il contient.

## Étapes suivantes
<a name="dotnet-quickstart-next-steps"></a>

Dès que vous disposez d'un environnement exécutant une application, vous pouvez à tout moment déployer une nouvelle version de l'application ou une application totalement différente. Le déploiement d'une nouvelle version d'application est très rapide, car il n'est pas nécessaire de mettre en service ni de redémarrer les instances EC2. Vous pouvez également explorer votre nouvel environnement à l'aide de la console Elastic Beanstalk. Pour connaître les étapes détaillées, consultez la section [Explorez votre environnement](GettingStarted.md#GettingStarted.Explore) dans le chapitre *Mise* en route de ce guide.

**Essayez d'autres didacticiels**  
Si vous souhaitez essayer d'autres didacticiels avec différents exemples d'applications, consultez[QuickStart pour ASP.NET](aspnet-quickstart.md).

Une fois que vous avez déployé un ou deux exemples d'applications et que vous êtes prêt à commencer à développer et à exécuter des applications .NET Core sur Windows localement, voir [Configuration de votre environnement de développement .NET](dotnet-devenv.md) 

## Déployez avec la console Elastic Beanstalk
<a name="dotnet-quickstart-console"></a>

Vous pouvez également utiliser la console Elastic Beanstalk pour lancer l'exemple d'application. Pour connaître les étapes détaillées, voir [Création d'un exemple d'application](GettingStarted.md#GettingStarted.CreateApp) dans le chapitre *Mise* en route de ce guide.

# QuickStart: Déployer une application ASP.NET sur Elastic Beanstalk
<a name="aspnet-quickstart"></a>

Ce QuickStart didacticiel explique le processus de création d'une application ASP.NET et de son déploiement dans un AWS Elastic Beanstalk environnement.

**Non destiné à une utilisation en production**  
Les exemples sont destinés uniquement à des fins de démonstration. N'utilisez pas d'exemples d'applications en production.

**Topics**
+ [Votre AWS compte](#aspnet-quickstart-aws-account)
+ [Conditions préalables](#aspnet-quickstart-prereq)
+ [Étape 1 : créer une application ASP.NET](#aspnet-quickstart-create-app)
+ [Étape 2 : Exécutez votre application localement](#aspnet-quickstart-run-local)
+ [Étape 3 : Déployez votre application ASP.NET avec AWS Toolkit for Visual Studio](#aspnet-quickstart-deploy)
+ [Étape 4 : Exécutez votre application sur Elastic Beanstalk](#aspnet-quickstart-run-eb-ap)
+ [Étape 5 : nettoyer](#aspnet-quickstart-cleanup)
+ [AWS ressources pour votre application](#aspnet-quickstart-eb-resources)
+ [Étapes suivantes](#aspnet-quickstart-next-steps)
+ [Déployez avec la console Elastic Beanstalk](#aspnet-quickstart-console)

## Votre AWS compte
<a name="aspnet-quickstart-aws-account"></a>

Si vous n'êtes pas encore AWS client, vous devez créer un AWS compte. L'inscription vous permet d'accéder à Elastic Beanstalk AWS et aux autres services dont vous avez besoin.

Si vous avez déjà un AWS compte, vous pouvez passer à[Conditions préalables](#aspnet-quickstart-prereq).

### Créez un AWS compte
<a name="aspnet-quickstart-aws-account-procedure"></a>

#### Inscrivez-vous pour un Compte AWS
<a name="sign-up-for-aws"></a>

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

**Pour vous inscrire à un Compte AWS**

1. Ouvrez l'[https://portal.aws.amazon.com/billing/inscription.](https://portal.aws.amazon.com/billing/signup)

1. Suivez les instructions en ligne.

   Dans le cadre de la procédure d’inscription, vous recevrez un appel téléphonique ou un SMS et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

   Lorsque vous vous inscrivez à un Compte AWS, un *Utilisateur racine d'un compte AWS*est créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les [tâches nécessitant un accès utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à [https://aws.amazon.com/](https://aws.amazon.com/)et en choisissant **Mon compte**.

#### Création d’un utilisateur doté d’un accès administratif
<a name="create-an-admin"></a>

Une fois que vous vous êtes inscrit à un utilisateur administratif Compte AWS, que vous Utilisateur racine d'un compte AWS l'avez sécurisé AWS IAM Identity Center, que vous l'avez activé et que vous en avez créé un, afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.

**Sécurisez votre Utilisateur racine d'un compte AWS**

1.  Connectez-vous en [AWS Management Console](https://console.aws.amazon.com/)tant que propriétaire du compte en choisissant **Utilisateur root** et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe.

   Pour obtenir de l’aide pour vous connecter en utilisant l’utilisateur racine, consultez [Connexion en tant qu’utilisateur racine](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) dans le *Guide de l’utilisateur Connexion à AWS *.

1. Activez l’authentification multifactorielle (MFA) pour votre utilisateur racine.

   Pour obtenir des instructions, consultez la section [Activer un périphérique MFA virtuel pour votre utilisateur Compte AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) dans le guide de l'utilisateur *IAM*.

**Création d’un utilisateur doté d’un accès administratif**

1. Activez IAM Identity Center.

   Pour obtenir des instructions, consultez [Activation d’ AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Dans IAM Identity Center, octroyez un accès administratif à un utilisateur.

   Pour un didacticiel sur l'utilisation du Répertoire IAM Identity Center comme source d'identité, voir [Configurer l'accès utilisateur par défaut Répertoire IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) dans le *Guide de AWS IAM Identity Center l'utilisateur*.

**Connexion en tant qu’utilisateur doté d’un accès administratif**
+ Pour vous connecter avec votre utilisateur IAM Identity Center, utilisez l’URL de connexion qui a été envoyée à votre adresse e-mail lorsque vous avez créé l’utilisateur IAM Identity Center.

  Pour obtenir de l'aide pour vous connecter en utilisant un utilisateur d'IAM Identity Center, consultez la section [Connexion au portail AWS d'accès](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) dans le *guide de l'Connexion à AWS utilisateur*.

**Attribution d’un accès à d’autres utilisateurs**

1. Dans IAM Identity Center, créez un ensemble d’autorisations qui respecte la bonne pratique consistant à appliquer les autorisations de moindre privilège.

   Pour obtenir des instructions, consultez [Création d’un ensemble d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Attribuez des utilisateurs à un groupe, puis attribuez un accès par authentification unique au groupe.

   Pour obtenir des instructions, consultez [Ajout de groupes](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

## Conditions préalables
<a name="aspnet-quickstart-prereq"></a>

Ce QuickStart didacticiel explique comment créer une application « Hello World » et comment la déployer dans un environnement Elastic Beanstalk avec Visual Studio et le. AWS Toolkit for Visual Studio

### Visual Studio
<a name="aspnet-quickstart-prereq.vs"></a>

Pour télécharger et installer Visual Studio, suivez les instructions de la [page de téléchargement](https://visualstudio.microsoft.com/downloads/) de Visual Studio. Cet exemple utilise Visual Studio 2022. Lors de l'installation de Visual Studio, sélectionnez les éléments spécifiques suivants :
+ Dans l'onglet **Charges de travail**, sélectionnez **ASP.NET et développement Web**.
+ Dans l'onglet **Composants individuels**, sélectionnez les **outils de développement .NET Framework 4.8 et les** **modèles de projet et d'élément .NET Framework**.

### AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-prereq.aws-vs-tk"></a>

Pour télécharger et configurer, AWS Toolkit for Visual Studio suivez les instructions de la rubrique [Mise](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/getting-set-up.html) en route du Guide de l' AWS Toolkit for Visual Studio utilisateur. 

## Étape 1 : créer une application ASP.NET
<a name="aspnet-quickstart-create-app"></a>

Créez ensuite une application que vous déploierez dans un environnement Elastic Beanstalk. Nous allons créer une application Web ASP.NET « Hello World ».

**Pour créer une application ASP.NET**

1. Lancez Visual Studio. Dans le menu **Fichier**, sélectionnez **Nouveau**, puis **Projet**.

1. La boîte de dialogue **Créer un nouveau projet** s'affiche. Sélectionnez l'**application Web ASP.NET (.NET Framework)**, puis sélectionnez **Suivant**.

1. Dans la boîte de dialogue **Configurer votre nouveau projet**, entrez `eb-aspnet` le **nom de votre projet**. Dans le menu déroulant **Framework**, sélectionnez **.NET Framework 4.8**, puis sélectionnez **Créer**.

   Notez le répertoire du projet. Dans cet exemple, le répertoire du projet est`C:\Users\Administrator\source\repos\eb-aspnet\eb-aspnet`.

1. La boîte de dialogue **Créer une nouvelle application Web ASP.NET** s'affiche. Sélectionnez le modèle **vide**. Sélectionnez ensuite **Créer**.

   À ce stade, vous avez créé un projet d'application Web ASP.NET vide à l'aide de Visual Studio. Nous allons maintenant créer un formulaire Web qui servira de point d'entrée à l'application Web ASP.NET.

1. Dans le menu **Projet**, sélectionnez **Ajouter un nouvel élément**. Sur la page **Ajouter un nouvel élément**, sélectionnez **Formulaire Web** et nommez-le`Default.aspx`. Sélectionnez ensuite **Ajouter**.

1. Ajoutez ce qui suit à `Default.aspx:`

   ```
   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="eb_aspnet.Default" %>
   
   <!DOCTYPE html>
   
   <html xmlns="https://www.w3.org/1999/xhtml">
   <head runat="server">
       <title>Hello Elastic Beanstalk!</title>
   </head>
   <body>
       <form id="body" runat="server">
           <div>
               Hello Elastic Beanstalk! This is an ASP.NET on Windows Server application.
           </div>
       </form>
   </body>
   </html>
   ```

## Étape 2 : Exécutez votre application localement
<a name="aspnet-quickstart-run-local"></a>

Dans Visual Studio, dans le menu **Debug**, sélectionnez **Démarrer le débogage** pour exécuter votre application localement. La page doit afficher « Hello Elastic Beanstalk \$1 Il s'agit d'une application ASP.NET sur Windows Server. »

## Étape 3 : Déployez votre application ASP.NET avec AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-deploy"></a>

Suivez ces étapes pour créer un environnement Elastic Beanstalk et y déployer votre nouvelle application.

**Pour créer un environnement et déployer votre application ASP.NET**

1. Dans l'**Explorateur de solutions**, cliquez avec le bouton droit sur votre application, puis sélectionnez **Publier sur AWS Elastic Beanstalk**.

1. Choisissez un nom pour votre nouvelle application et votre nouvel environnement Elastic Beanstalk.

1. Au-delà de ce point, vous pouvez continuer avec les paramètres par défaut fournis par Elastic Beanstalk ou modifier les options et les paramètres à votre guise.

1. Sur la page de **révision**, sélectionnez **Déployer**. Cela va empaqueter votre application Web ASP.NET et la déployer sur Elastic Beanstalk.

   Il faut environ cinq minutes à Elastic Beanstalk pour créer votre environnement. La fonctionnalité de déploiement Elastic Beanstalk surveille votre environnement jusqu'à ce qu'il devienne disponible avec le code nouvellement déployé. Dans l'onglet **Env : < **environment name** >**, vous verrez l'état de votre environnement.

## Étape 4 : Exécutez votre application sur Elastic Beanstalk
<a name="aspnet-quickstart-run-eb-ap"></a>

Lorsque le processus de création de votre environnement est terminé, l'onglet **Env : < **environment name** >** affiche des informations sur votre environnement et votre application, notamment l'URL du domaine permettant de lancer votre application. Sélectionnez cette URL dans cet onglet ou copiez-la et collez-la dans votre navigateur Web.

Félicitations \$1 Vous avez déployé une application ASP.NET avec Elastic Beanstalk \$1

## Étape 5 : nettoyer
<a name="aspnet-quickstart-cleanup"></a>

Lorsque vous avez fini d'utiliser votre application, vous pouvez arrêter votre environnement dans le AWS Toolkit for Visual Studio.

**Pour résilier votre environnement**

1. Développez le nœud Elastic Beanstalk et le nœud d'application dans **AWS Explorer** (Explorateur AWS ). Cliquez avec le bouton droit la souris sur votre environnement d'application et sélectionnez **Terminate Environment (Résilier l'environnement)**.

1. Lorsque vous y êtes invité, sélectionnez **Oui (Yes)** afin de confirmer que vous souhaitez résilier l'environnement. Il faudra quelques minutes à Elastic Beanstalk pour arrêter les ressources en cours d'exécution dans l' AWS environnement.

## AWS ressources pour votre application
<a name="aspnet-quickstart-eb-resources"></a>

Vous venez de créer une application à instance unique. Il s'agit d'un exemple d'application simple avec une seule instance EC2, de sorte qu'il ne nécessite pas d'équilibrage de charge ni de dimensionnement automatique. Pour les applications à instance unique, Elastic Beanstalk crée les ressources suivantes : AWS 
+ **Instance EC2** – Une machine virtuelle Amazon EC2 configurée pour exécuter des applications web sur la plateforme de votre choix.

  Chaque plateforme exécute un ensemble distinct de logiciels, de fichiers de configuration et de scripts pour prendre en charge une version de langage, une infrastructure ou un conteneur web spécifiques, ou une combinaison de ces éléments. La plupart des plateformes utilisent Apache ou nginx comme proxy inverse qui traite le trafic web devant votre application web, lui transmet les demandes, traite les ressources statiques et génère des journaux d'accès et d'erreurs.
+ **Groupe de sécurité de l'instance** – Un groupe de sécurité Amazon EC2 configuré pour autoriser le trafic entrant sur le port 80. Cette ressource autorise le trafic HTTP provenant de l'équilibreur de charge à atteindre l'instance EC2 qui exécute votre application web. Par défaut, le trafic n'est pas autorisé sur les autres ports.
+ **Compartiment Amazon S3** – Emplacement de stockage pour votre code source, les journaux et autres artefacts qui sont créés lorsque vous utilisez Elastic Beanstalk.
+ ** CloudWatch Alarmes Amazon** : deux CloudWatch alarmes qui surveillent la charge sur les instances de votre environnement et sont déclenchées si la charge est trop élevée ou trop faible. Lorsqu'une alarme est déclenchée, votre groupe Auto Scaling s'adapte en fonction, à la hausse ou à la baisse.
+ **CloudFormation stack** : Elastic CloudFormation Beanstalk utilise pour lancer les ressources de votre environnement et propager les modifications de configuration. Les ressources sont définies dans un modèle, que vous pouvez afficher dans la [console CloudFormation](https://console.aws.amazon.com/cloudformation).
+  **Nom de domaine** : nom de domaine qui permet d'accéder à votre application Web dans le formulaire **subdomain*. *region*.elasticbeanstalk.com*. 

Elastic Beanstalk gère toutes ces ressources. Lorsque vous arrêtez votre environnement, Elastic Beanstalk arrête toutes les ressources qu'il contient.

## Étapes suivantes
<a name="aspnet-quickstart-next-steps"></a>

Dès que vous disposez d'un environnement exécutant une application, vous pouvez à tout moment déployer une nouvelle version de l'application ou une application totalement différente. Le déploiement d'une nouvelle version d'application est très rapide, car il n'est pas nécessaire de mettre en service ni de redémarrer les instances EC2. Vous pouvez également explorer votre nouvel environnement à l'aide de la console Elastic Beanstalk. Pour connaître les étapes détaillées, consultez la section [Explorez votre environnement](GettingStarted.md#GettingStarted.Explore) dans le chapitre *Mise* en route de ce guide.

**Essayez d'autres didacticiels**  
Si vous souhaitez essayer d'autres didacticiels avec différents exemples d'applications, consultez[QuickStart pour .NET Core sous Windows](dotnet-quickstart.md).

Une fois que vous avez déployé un ou deux exemples d'applications et que vous êtes prêt à commencer à développer et à exécuter des applications ASP.NET localement, voir [Configuration de votre environnement de développement .NET](dotnet-devenv.md) 

## Déployez avec la console Elastic Beanstalk
<a name="aspnet-quickstart-console"></a>

Vous pouvez également utiliser la console Elastic Beanstalk pour lancer l'exemple d'application. Pour connaître les étapes détaillées, voir [Création d'un exemple d'application](GettingStarted.md#GettingStarted.CreateApp) dans le chapitre *Mise* en route de ce guide.

# Configuration de votre environnement de développement .NET
<a name="dotnet-devenv"></a>

Cette rubrique fournit des instructions pour configurer un environnement de développement .NET Windows afin de tester votre application localement avant de la déployer AWS Elastic Beanstalk. Il fait également référence à des sites Web qui fournissent des instructions d'installation pour des outils utiles.

**Topics**
+ [Installation d'un IDE](#dotnet-devenv-ide)
+ [Installation du AWS Toolkit for Visual Studio](#dotnet-devenv-toolkit)

Si vous devez gérer AWS des ressources depuis votre application, installez le AWS SDK pour .NET. Par exemple, vous pouvez utiliser Amazon S3 pour stocker et récupérer des données.

Avec le AWS SDK pour .NET, vous pouvez démarrer en quelques minutes avec un seul package téléchargeable comprenant des modèles de projet Visual Studio, AWS la bibliothèque .NET, des exemples de code C\$1 et de la documentation. Des exemples pratiques sont fournis dans C\$1 sur la façon d'utiliser les bibliothèques pour créer des applications. Nous vous proposons des didacticiels vidéo en ligne et des documents de référence pour vous aider à utiliser les bibliothèques et les exemples de code.

Consultez la [page d'accueil AWS SDK pour .NET](https://aws.amazon.com/sdk-for-net/) pour plus d'informations et des instructions d'installation.

## Installation d'un IDE
<a name="dotnet-devenv-ide"></a>

Les environnements de développement intégrés (IDEs) fournissent un large éventail de fonctionnalités qui facilitent le développement d'applications. Si vous n'avez pas utilisé un IDE pour le développement .NET, essayez Visual Studio Community pour démarrer.

Visitez la page [Visual Studio Community](https://www.visualstudio.com/vs/community/) pour télécharger et installer Visual Studio Community.

## Installation du AWS Toolkit for Visual Studio
<a name="dotnet-devenv-toolkit"></a>

Il s'[AWS Toolkit for Visual Studio](dotnet-toolkit.md)agit d'un plug-in open source pour l'IDE Visual Studio qui permet aux développeurs de développer, de déboguer et de déployer plus facilement des applications .NET à l'aide AWS de. Consultez la [page d'accueil Toolkit for Visual Studio](https://aws.amazon.com/visualstudio/) pour obtenir des instructions d'installation.

# Utilisation de la plateforme Windows Elastic Beanstalk .NET
<a name="create_deploy_NET.container.console"></a>

Cette rubrique explique comment configurer, créer et exécuter vos applications Web ASP.NET et .NET Core pour Windows sur Elastic Beanstalk.

AWS Elastic Beanstalk prend en charge un certain nombre de plateformes pour différentes versions du framework de programmation .NET et de Windows Server. Consultez [.NET sur Windows Server avec IIS](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) dans le document *Plateformes AWS Elastic Beanstalk * pour obtenir une liste complète.

Elastic [Beanstalk propose](command-options.md) des options de configuration que vous pouvez utiliser pour personnaliser le logiciel qui s'exécute EC2 sur les instances de votre environnement Elastic Beanstalk. Vous pouvez configurer des variables d'environnement nécessaires pour votre application, activer la rotation des journaux sur Amazon S3 et définir les paramètres de .NET framework.

Des options de configuration sont disponibles dans la console Elastic Beanstalk pour [modifier la configuration d'un environnement en cours d'exécution](environment-configuration-methods-after.md). Pour éviter de perdre la configuration de votre environnement en le résiliant, vous pouvez utiliser des [configurations enregistrées](environment-configuration-savedconfig.md) pour enregistrer vos paramètres et les appliquer par la suite à un autre environnement.

Pour enregistrer les paramètres dans votre code source, vous pouvez inclure des [fichiers de configuration](ebextensions.md). Les paramètres des fichiers de configuration sont appliquées chaque fois que vous créez un environnement ou que vous déployez votre application. Vous pouvez également utiliser des fichiers de configuration pour installer des packages, exécuter des scripts ou effectuer d'autres opérations de personnalisation d'instance lors des déploiements.

Les paramètres appliqués dans la console Elastic Beanstalk remplacent les mêmes paramètres des fichiers de configuration, s'ils existent. Cela vous permet d'utiliser les paramètres par défaut dans les fichiers de configuration et de les remplacer par des paramètres spécifiques à l'environnement dans la console. Pour de plus amples informations sur la priorité et les autres méthodes de modification des paramètres, veuillez consulter [Options de configuration](command-options.md).

## Configuration de votre environnement .NET dans la console Elastic Beanstalk
<a name="dotnet-console"></a>

Vous pouvez utiliser la console Elastic Beanstalk pour activer la rotation des journaux sur Amazon S3, configurer des variables que votre application peut lire depuis l'environnement et modifier les paramètres de .NET Framework.

**Pour configurer votre environnement .NET dans la console Elastic Beanstalk**

1. Ouvrez la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk), puis **dans la liste des régions, sélectionnez votre**. Région AWS

1. Dans le panneau de navigation, choisissez **Environments** (Environnements), puis choisissez le nom de votre environnement dans la liste.

1. Dans le panneau de navigation, choisissez **Configuration**.

1. Dans la catégorie de configuration **Mises à jour, surveillance et journalisation**, sélectionnez **Modifier**.

### Options de conteneur
<a name="dotnet-console-framework"></a>
+ **Cibler l'exécution .NET** – Réglez sur `2.0` pour exécuter CLR v2.
+ **Activer les applications 32 bits** – Réglez sur `True` pour exécuter des applications 32 bits.

### Options du journal
<a name="dotnet-console-logs"></a>

La section Options du journal a deux paramètres :
+ **Instance profile (Profil d'instance)** – Spécifie le profil d'instance qui est autorisé à accéder au compartiment Amazon S3 associé à votre application.
+ **Activer la rotation des fichiers journaux vers Amazon S3** : indique si les fichiers journaux des EC2 instances Amazon de votre application sont copiés dans le compartiment Amazon S3 associé à votre application.

### Propriétés de l'environnement
<a name="dotnet-console-properties"></a>

La section **Propriétés de l'environnement** vous permet de définir les paramètres de configuration de l'environnement sur EC2 les instances Amazon qui exécutent votre application. Ces paramètres sont passés en tant que paires clé-valeur à l'application. Utilisez `System.GetEnvironmentVariable` pour les lire. Des clés identiques peuvent exister dans `web.config` et en tant que propriétés de l'environnement. Utilisez l'espace de noms `System.Configuration` pour lire les valeurs de `web.config`.

```
NameValueCollection appConfig = ConfigurationManager.AppSettings;
string endpoint = appConfig["API_ENDPOINT"];
```

Pour plus d'informations, consultez [Variables d'environnement et autres paramètres du logiciel](environments-cfg-softwaresettings.md).

## Espace de noms aws:elasticbeanstalk:container:dotnet:apppool
<a name="dotnet-namespaces"></a>

Vous pouvez utiliser un [fichier de configuration](ebextensions.md) pour définir des options de configuration et exécuter d'autres tâches de configuration d'instance pendant les déploiements. Les options de configuration peuvent être [spécifiques à la plate-forme](command-options-specific.md) ou s'appliquer à [toutes les plateformes](command-options-general.md) du service Elastic Beanstalk dans son ensemble. Les options de configuration sont organisées en *espaces de noms.*

La plateforme .NET définit les options dans l'espace de noms `aws:elasticbeanstalk:container:dotnet:apppool` que vous pouvez utiliser pour configurer l'environnement d'exécution .NET.

L'exemple de fichier de configuration suivant affiche des paramètres pour chacune des options disponibles dans cet espace de noms :

**Example .ebextensions/dotnet-settings.config**  

```
option_settings:
  aws:elasticbeanstalk:container:dotnet:apppool:
    Target Runtime: 2.0
    Enable 32-bit Applications: True
```

Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. En plus des fichiers de configuration, vous pouvez également définir des options de configuration à l'aide de la console, de configurations enregistrées, de la CLI EB ou d' AWS CLI. Pour plus d'informations, consultez [Options de configuration](command-options.md).

# Migration entre les principales versions de la plateforme Windows Server pour Elastic Beanstalk
<a name="dotnet-v2migration"></a>

AWS Elastic Beanstalk dispose de plusieurs versions majeures de sa plateforme Windows Server. Cette page couvre les améliorations principales de chaque version majeure et les éléments que vous devez prendre en compte avant de migrer vers une version ultérieure.

La plateforme Windows Server est actuellement à la version 2 (v2). Si votre application utilise une version de plateforme Windows Server antérieure à v2, nous vous recommandons de migrer vers v2.

## Nouveautés des versions majeures de la plateforme Windows Server
<a name="dotnet-v2migration.diffs"></a>

### Plateforme Windows Server V2
<a name="dotnet-v2migration.diffs.v2"></a>

La version 2 (v2) de la plateforme Windows Server pour Elastic Beanstalk a été [publiée en février 2019](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2019-02-21-windows-v2.html). La V2 aligne le comportement de la plateforme Windows Server sur celui des plateformes Linux Elastic Beanstalk pour plusieurs aspects importants. Le V2 est entièrement rétrocompatible avec la V1, ce qui facilite la migration à partir de la V1.

La plateforme Windows Server prend désormais en charge les fonctionnalités suivantes :
+ *Gestion des versions* : chaque version reçoit un nouveau numéro et vous pouvez consulter les versions précédentes (qui sont toujours disponibles) lors de la création et de la gestion des environnements.
+ *État amélioré* – Pour plus de détails, veuillez consulter [Rapports et surveillance de l'état de santé améliorés dans Elastic Beanstalk](health-enhanced.md).
+ Déploiements *immuables* et *propagés avec un lot supplémentaire* – Pour de plus amples informations sur les stratégies de déploiement, veuillez consulter [Déploiement d'applications dans des environnements Elastic Beanstalk](using-features.deploy-existing-version.md).
+ *Mises à jour immuables* – Pour de plus amples informations sur les types de mises à jour, veuillez consulter [Configuration changes](environments-updating.md).
+ *Mises à jour gérées de la plateforme* – Pour de plus amples informations, veuillez consulter [Mises à jour gérées de la plateforme](environment-platform-update-managed.md).

**Note**  
Les nouvelles fonctionnalités de déploiement et de mise à jour dépendent des rapports améliorés sur l'état de santé. Activez la fonctionnalité correspondante pour les utiliser. Pour plus d'informations, consultez [Activation des rapports améliorés sur l'état Elastic Beanstalk](health-enhanced-enable.md).

### Plateforme Windows Server V1
<a name="dotnet-v2migration.diffs.v1"></a>

La version 1.0.0 (v1) de la plateforme Windows Server pour Elastic Beanstalk a été publiée en octobre 2015. Cette version modifie l'ordre dans lequel Elastic Beanstalk traite les commandes dans les [fichiers de configuration](ebextensions.md) lors de la création et des mises à jour d'un environnement.

Les versions antérieures de la plateforme ne comportent pas de numéro dans le nom de pile de solutions :
+ Windows Server 64 bits 2012 R2 exécutant IIS 8.5
+ Windows Server Core 64 bits 2012 R2 exécutant IIS 8.5
+ Windows Server 64 bits 2012 exécutant IIS 8
+ Windows Server 64 bits 2008 R2 exécutant IIS 7.5

Dans les versions antérieures, l'ordre de traitement des fichiers de configuration n'est pas cohérent. Pendant la création de l'environnement, les commandes `Container Commands` sont exécutées une fois que la source de l'application est déployée dans IIS. Lors d'un déploiement dans un environnement en cours d'exécution, les commandes de conteneur sont exécutées avant le déploiement de la nouvelle version. Lors d'un ajustement à la hausse, les fichiers de configuration ne sont pas traités du tout.

En outre, IIS démarre avant l'exécution des commandes de conteneur. Ce comportement a conduit certains clients à mettre en place des solutions de contournement dans les commandes de conteneur. Elles consistent à mettre en veille le serveur IIS avant l'exécution des commandes et à le redémarrer une fois l'exécution terminée.

La version 1 corrige le problème d'incohérence et aligne le comportement de la plateforme Windows Server sur celui des plateformes Linux Elastic Beanstalk. Sur la plateforme v1, Elastic Beanstalk exécute toujours les commandes de conteneur avant de démarrer le serveur IIS.

Les piles de solutions de la plateforme v1 comportent la mention `v1` après la version de Windows Server :
+ Windows Server 64 bits 2012 R2 v1.1.0 exécutant IIS 8.5
+ Windows Server Core 64 bits 2012 R2 v1.1.0 exécutant IIS 8.5
+ Windows Server 64 bits 2012 v1.1.0 exécutant IIS 8
+ Windows Server 64 bits 2008 R2 v1.1.0 exécutant IIS 7.5

En outre, la plateforme v1 extrait le contenu du bundle de fichiers source de votre application dans `C:\staging\` avant d'exécuter les commandes de conteneur. Une fois que l'exécution des commandes de conteneur est terminée, le contenu de ce dossier est compressé en fichier .zip et déployé dans IIS. Ce processus vous permet de modifier le contenu du bundle source de votre application à l'aide des commandes ou d'un script avant le déploiement.

## Migration à partir de versions majeures antérieures de la plateforme Windows Server
<a name="dotnet-v2migration.migration"></a>

Consultez cette section pour prendre connaissance des considérations relatives à la migration avant de mettre à jour votre environnement. Pour mettre à jour votre plateforme d'environnement vers une version plus récente, consultez [Mise à jour de la version de la plateforme de votre environnement Elastic Beanstalk](using-features.platform.upgrade.md).

### De V1 vers V2
<a name="dotnet-v2migration.migration.fromv1"></a>

La plateforme Windows Server v2 ne prend pas en charge .NET Core 1.x et 2.0. Si vous migrez votre application à partir de Windows Server v1 vers v2 et que votre application utilise l'une de ces versions .NET Core, mettez à jour votre application vers une version .NET Core prise en charge par la v2. Pour obtenir la liste des versions prises en charge, consultez [.NET sur Windows Server avec IIS](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) dans les *Plateformes AWS Elastic Beanstalk *.

Si votre application utilise une Amazon Machine Image (AMI) personnalisée, créez une AMI personnalisée basée sur une AMI de plate-forme Windows Server v2. Pour en savoir plus, consultez la section [Utilisation d'une image machine Amazon (AMI) personnalisée dans votre environnement Elastic Beanstalk](using-features.customenv.md).

**Note**  
Les fonctionnalités de déploiement et de mise à jour qui sont nouvelles dans Windows Server v2 dépendent des rapports améliorés sur l'état de santé. Lorsque vous migrez un environnement vers v2, les rapports améliorés sur l'état de santé sont désactivés. Activez-les pour utiliser ces fonctionnalités. Pour plus d'informations, consultez [Activation des rapports améliorés sur l'état Elastic Beanstalk](health-enhanced-enable.md).

### À partir de versions antérieures à la V1
<a name="dotnet-v2migration.migration.fromv0"></a>

Outre les considérations concernant la migration à partir de la v1, si vous migrez votre application à partir d'une pile de solutions Windows Server antérieure à la v1 et que vous utilisez actuellement des commandes de conteneur, supprimez toutes les commandes que vous avez ajoutées pour contourner les incohérences de traitement lors de la migration vers une version plus récente. Depuis la v1, l'exécution complète des commandes de conteneur est garantie avant l'application source qui est déployée et avant le démarrage d'IIS. Vous pouvez ainsi apporter des modifications à la source dans `C:\staging` et modifier sans problème les fichiers de configuration IIS au cours de cette étape.

Par exemple, vous pouvez utiliser le AWS CLI pour télécharger un fichier DLL vers la source de votre application depuis Amazon S3 :

`.ebextensions\copy-dll.config`

```
container_commands:
  copy-dll:
    command: aws s3 cp s3://amzn-s3-demo-bucket/dlls/large-dll.dll .\lib\
```

Pour de plus amples informations sur l'utilisation des fichiers de configuration, veuillez consulter [Personnalisation d'environnement avancée avec fichiers de configuration (`.ebextensions`)](ebextensions.md).

# Exécution de plusieurs applications et d'applications ASP.NET Core avec un manifeste de déploiement
<a name="dotnet-manifest"></a>

Vous pouvez utiliser un manifeste de déploiement pour indiquer à Elastic Beanstalk comment déployer votre application. Avec cette méthode, vous n'avez pas besoin d'utiliser `MSDeploy` pour générer une solution groupée source pour une seule application ASP.NET qui s'exécute sur le chemin d'accès racine de votre site Web. À la place, vous pouvez utiliser un fichier manifeste afin d'exécuter plusieurs applications sur différents chemins. Vous pouvez également demander à Elastic Beanstalk de déployer et d'exécuter l'application avec ASP.NET Core. Vous pouvez également utiliser un manifeste de déploiement pour configurer un groupe d'applications dans lequel exécuter vos applications.

Les manifestes de déploiement ajoutent la prise en charge des [applications .NET Core](#dotnet-manifest-dotnetcore) à Elastic Beanstalk. Vous pouvez déployer une application .NET Framework sans manifeste de déploiement. Toutefois, les applications .NET Core nécessitent un manifeste de déploiement pour s'exécuter sur Elastic Beanstalk. Lors de l'utilisation d'un manifeste de déploiement, vous créez une archive de site pour chaque application, puis regroupez les archives de site dans un second fichier ZIP contenant le manifeste de déploiement.

Les manifestes de déploiement ajoutent également la possibilité d'[exécuter plusieurs applications sur des chemins d'accès différents](#dotnet-manifest-multiapp). Un manifeste de déploiement définit un ensemble de cibles de déploiement, dotées chacune d'une archive de site et d'un chemin d'accès sur lequel elle doit être exécutée par IIS. Par exemple, vous pouvez exécuter une API web sur le chemin d'accès `/api` pour répondre aux demandes asynchrones, et une application web sur le chemin d'accès racine qui utilise l'API.

Vous pouvez utiliser un manifeste de déploiement pour [configurer les sites Web IIS avec des liaisons personnalisées et des chemins physiques](#dotnet-manifest-websites). Cela vous permet de configurer des sites Web qui écoutent sur des ports ou des noms d'hôtes spécifiques avant de déployer vos applications.

Vous pouvez également utiliser un manifeste de déploiement pour [exécuter plusieurs applications à l'aide de groupes d'applications dans IIS ou Kestrel](#dotnet-manifest-apppool). Vous pouvez configurer un pool d'applications pour redémarrer périodiquement vos applications, exécuter des applications 32 bits ou utiliser une version spécifique du runtime .NET Framework.

Pour une personnalisation complète, vous pouvez [écrire vos propres scripts de déploiement](#dotnet-manifest-custom) sous Windows PowerShell et indiquer à Elastic Beanstalk les scripts à exécuter pour installer, désinstaller et redémarrer votre application.

Les manifestes de déploiement et les fonctionnalités associées requièrent une plateforme Windows Server [version 1.2.0 ou ultérieure](dotnet-v2migration.md).

Pour obtenir des informations détaillées sur toutes les options de configuration, les propriétés et les fonctionnalités avancées disponibles, telles que le fait d'ignorer les réinitialisations IIS, consultez la référence du [schéma du manifeste de déploiement](dotnet-manifest-schema.md).

**Topics**
+ [Applications .NET core](#dotnet-manifest-dotnetcore)
+ [Exécution de plusieurs applications](#dotnet-manifest-multiapp)
+ [Configuration des sites Web IIS](#dotnet-manifest-websites)
+ [Utilisation du routage des demandes d'application (ARR)](#dotnet-manifest-arr)
+ [Configuration de groupes d'applications](#dotnet-manifest-apppool)
+ [Définition de déploiements personnalisés](#dotnet-manifest-custom)
+ [Référence du schéma du manifeste de déploiement](dotnet-manifest-schema.md)

## Applications .NET core
<a name="dotnet-manifest-dotnetcore"></a>

Vous pouvez utiliser un manifeste de déploiement pour exécuter des applications .NET Core sur Elastic Beanstalk. .NET Core est une version multiplateforme de .NET qui inclut un outil de ligne de commande (`dotnet`). Vous pouvez l'utiliser pour générer une application, l'exécuter localement et la préparer en vue de sa publication.

Pour exécuter une application .NET Core sur Elastic Beanstalk, vous pouvez exécuter `dotnet publish` et placer la sortie dans une archive ZIP, en excluant les répertoires contenant des fichiers. Placez l'archive de site dans un bundle de fichiers source avec un manifeste de déploiement, avec une cible de déploiement de type `aspNetCoreWeb`.

Le manifeste de déploiement suivant exécute une application .NET Core à partir d'une archive de site nommée `dotnet-core-app.zip` sur le chemin d'accès racine.

**Example aws-windows-deployment-manifest.json - .NET core**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "archive": "dotnet-core-app.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Regroupez le manifeste et l'archive de site dans un fichier ZIP pour créer un bundle de fichiers source.

**Example dotnet-core-bundle.zip**  

```
.
|-- aws-windows-deployment-manifest.json
`-- dotnet-core-app.zip
```

L'archive de site contient le code d'application compilé, les dépendances et le fichier `web.config`.

**Example dotnet-core-app.zip**  

```
.
|-- Microsoft.AspNetCore.Hosting.Abstractions.dll
|-- Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
|-- Microsoft.AspNetCore.Hosting.dll
|-- Microsoft.AspNetCore.Http.Abstractions.dll
|-- Microsoft.AspNetCore.Http.Extensions.dll
|-- Microsoft.AspNetCore.Http.Features.dll
|-- Microsoft.AspNetCore.Http.dll
|-- Microsoft.AspNetCore.HttpOverrides.dll
|-- Microsoft.AspNetCore.Server.IISIntegration.dll
|-- Microsoft.AspNetCore.Server.Kestrel.dll
|-- Microsoft.AspNetCore.WebUtilities.dll
|-- Microsoft.Extensions.Configuration.Abstractions.dll
|-- Microsoft.Extensions.Configuration.EnvironmentVariables.dll
|-- Microsoft.Extensions.Configuration.dll
|-- Microsoft.Extensions.DependencyInjection.Abstractions.dll
|-- Microsoft.Extensions.DependencyInjection.dll
|-- Microsoft.Extensions.FileProviders.Abstractions.dll
|-- Microsoft.Extensions.FileProviders.Physical.dll
|-- Microsoft.Extensions.FileSystemGlobbing.dll
|-- Microsoft.Extensions.Logging.Abstractions.dll
|-- Microsoft.Extensions.Logging.dll
|-- Microsoft.Extensions.ObjectPool.dll
|-- Microsoft.Extensions.Options.dll
|-- Microsoft.Extensions.PlatformAbstractions.dll
|-- Microsoft.Extensions.Primitives.dll
|-- Microsoft.Net.Http.Headers.dll
|-- System.Diagnostics.Contracts.dll
|-- System.Net.WebSockets.dll
|-- System.Text.Encodings.Web.dll
|-- dotnet-core-app.deps.json
|-- dotnet-core-app.dll
|-- dotnet-core-app.pdb
|-- dotnet-core-app.runtimeconfig.json
`-- web.config
```

## Exécution de plusieurs applications
<a name="dotnet-manifest-multiapp"></a>

Vous pouvez exécuter plusieurs applications à l'aide d'un manifeste de déploiement en définissant plusieurs cibles de déploiement.

Le manifeste de déploiement suivant configure deux applications .NET Core. L'`WebApiSampleApp`application implémente une API Web simple et envoie des requêtes asynchrones sur le `/api` chemin. L'application `DotNetSampleApp` est une application Web qui sert les demandes à la racine du chemin d'accès.

**Example aws-windows-deployment-manifest.json - plusieurs applications**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "WebAPISample",
        "parameters": {
          "appBundle": "WebApiSampleApp.zip",
          "iisPath": "/api"
        }
      },
      {
        "name": "DotNetSample",
        "parameters": {
          "appBundle": "DotNetSampleApp.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Un exemple d'application avec plusieurs applications est disponible ici :
+ **Ensemble de sources déployable** [- -v2.zip dotnet-multiapp-sample-bundle](samples/dotnet-multiapp-sample-bundle-v2.zip)
+ **Code source** : [dotnet-multiapp-sample-source-v2.zip](samples/dotnet-multiapp-sample-source-v2.zip)

## Configuration des sites Web IIS
<a name="dotnet-manifest-websites"></a>

Vous pouvez configurer les sites Web IIS avec des liaisons personnalisées et des chemins physiques à l'aide du manifeste de déploiement. Cela est utile lorsque vous devez configurer des sites Web qui écoutent sur des ports spécifiques, utilisent des noms d'hôtes personnalisés ou diffusent du contenu provenant de répertoires spécifiques.

Le manifeste de déploiement suivant configure un site Web IIS personnalisé qui écoute sur HTTP avec un numéro de port spécifique et un chemin physique personnalisé :

**Example aws-windows-deployment-manifest.json - Configuration du site Web IIS**  

```
{
  "manifestVersion": 1,
  "iisConfig": {
    "websites": [
      {
        "name": "MyCustomSite",
        "physicalPath": "C:\inetpub\wwwroot\mysite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "mysite.local"
          }
        ]
      }
    ]
  },
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "appBundle": "dotnet-core-app.zip",
          "iisWebSite": "MyCustomSite",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

Dans cet exemple :
+ Un site Web nommé MyCustomSite « » est créé avec un chemin physique personnalisé
+ Le site Web possède une liaison HTTP sur le port 8080 avec un nom d'hôte spécifique
+ L'application ASP.NET Core est déployée sur ce site Web personnalisé à l'aide du paramètre `iisWebSite`

## Utilisation du routage des demandes d'application (ARR)
<a name="dotnet-manifest-arr"></a>

Les modules Application Request Routing (ARR) et URL Rewrite sont préinstallés et disponibles dans Elastic Beanstalk Windows. AMIs Ces modules permettent des scénarios de routage avancés et la manipulation d'URL via la configuration IIS à l'aide d'extensions Web ou de la configuration d'applications.

L'exemple suivant montre un manifeste de déploiement simple qui configure un site Web avec un port personnalisé, combiné à une configuration ebextensions qui définit le routage ARR de base :

**Example aws-windows-deployment-manifest.json - Configuration ARR simple**  

```
{
  "manifestVersion": 1,
  "iisConfig": {
    "websites": [
      {
        "name": "ARRSite",
        "physicalPath": "C:\\inetpub\\wwwroot\\arrsite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "localhost"
          }
        ]
      }
    ]
  },
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "BackendApp",
        "parameters": {
          "appBundle": "backend-app.zip",
          "iisWebSite": "ARRSite",
          "iisPath": "/backend"
        }
      }
    ]
  }
}
```

La configuration ARR se fait par le biais d'ebextensions. La configuration suivante définit les règles de routage ARR de base :

**Example .ebextensions/arr-config.config - Configuration ARR de base**  

```
files:
  "C:\\temp\\configure-arr.ps1":
    content: |
      # Enable ARR proxy at server level
      Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/proxy' -Name 'enabled' -Value 'True'
      
      # Clear any existing global rules to avoid conflicts
      Clear-WebConfiguration -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/rewrite/globalRules'

      # Add global rule to route all requests to backend
      Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' `
        -Filter 'system.webServer/rewrite/globalRules' `
        -Name '.' `
        -Value @{
          name = 'Route_to_Backend'
          stopProcessing = 'True'
          match = @{ url = '^(?!backend/)(.*)' }
          action = @{
            type = 'Rewrite'
            url = 'http://localhost:8080/backend/{R:1}'
          }
        }

container_commands:
  01_configure_arr:
    command: powershell -ExecutionPolicy Bypass -File "C:\\temp\\configure-arr.ps1"
    waitAfterCompletion: 0
```

Cette configuration crée un site Web sur le port 8080 et configure ARR pour acheminer toutes les demandes entrantes vers l'application principale exécutée sur ce site.

## Configuration de groupes d'applications
<a name="dotnet-manifest-apppool"></a>

Vous pouvez prendre en charge plusieurs applications dans votre environnement Windows. Vous avez le choix entre deux approches :
+ Vous pouvez utiliser le modèle out-of-process d'hébergement avec le serveur Web Kestrel. Avec ce modèle, vous configurez plusieurs applications pour qu'elles s'exécutent dans un groupe d'applications.
+ Vous pouvez utiliser le modèle d'hébergement en cours, avec lequel vous utilisez plusieurs groupes d'applications pour exécuter plusieurs applications avec une seule application dans chaque groupe. Si vous utilisez le serveur IIS et que vous avez besoin d'exécuter plusieurs applications, vous devez utiliser cette approche.

Pour configurer Kestrel de façon à exécuter plusieurs applications dans un groupe d'applications, ajoutez `hostingModel="OutofProcess"` dans le fichier `web.config`. Considérez les exemples suivants.

**Example web.config - pour le modèle d'hébergement Kestrel out-of-process**  

```
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add 
    name="aspNetCore" 
    path="*" verb="*" 
    modules="AspNetCoreModuleV2" 
    resourceType="Unspecified" />
</handlers>
<aspNetCore 
    processPath="dotnet" 
    arguments=".\CoreWebApp-5-0.dll" 
    stdoutLogEnabled="false" 
    stdoutLogFile=".\logs\stdout" 
    hostingModel="OutofProcess" />
</system.webServer>
</location>
</configuration>
```

**Example aws-windows-deployment-manifest.json - applications multiples**  

```
{
"manifestVersion": 1,
  "deployments": {"msDeploy": [
      {"name": "Web-app1",
        "parameters": {"archive": "site1.zip",
          "iisPath": "/"
        }
      },
      {"name": "Web-app2",
        "parameters": {"archive": "site2.zip",
          "iisPath": "/app2"
        }
      }
    ]
  }
}
```

IIS ne prend pas en charge plusieurs applications dans un groupe d'applications car il utilise le modèle d'hébergement en cours. Par conséquent, vous devez configurer plusieurs applications en affectant chaque application à un groupe d'applications. En d'autres termes, n'affectez qu'une seule application à un groupe d'applications.

Vous pouvez configurer IIS pour qu'il utilise différents groupes d'applications dans le fichier `aws-windows-deployment-manifest.json`. Effectuez les mises à jour suivantes lorsque vous vous référez au fichier exemple suivant :
+ Ajoutez une section `iisConfig` qui comprend une sous-section appelée `appPools`.
+ Dans le bloc `appPools`, répertoriez les groupes d'applications. 
+ Dans la section `deployments`, définissez une section `parameters` pour chaque application.
+ Pour chaque application, la section `parameters` spécifie une archive, un chemin d'accès pour l'exécuter et un `appPool` dans lequel s'exécuter.

Le manifeste de déploiement suivant configure deux groupes d'applications qui redémarrent leur application toutes les 10 minutes. En outre, ils attachent leurs applications à une application Web .NET Framework qui s'exécute au chemin spécifié.

**Example aws-windows-deployment-manifest.json : une application par pool d'applications**  

```
{
"manifestVersion": 1,
  "iisConfig": {"appPools": [
      {"name": "MyFirstPool",
       "recycling": {"regularTimeInterval": 10}
      },
      {"name": "MySecondPool",
       "recycling": {"regularTimeInterval": 10}
      }
     ]
    },
  "deployments": {"msDeploy": [
      {"name": "Web-app1",
        "parameters": {
           "archive": "site1.zip",
           "iisPath": "/",
           "appPool": "MyFirstPool"
           }
      },
      {"name": "Web-app2",
        "parameters": {
           "archive": "site2.zip",
           "iisPath": "/app2",
           "appPool": "MySecondPool"
          }
      }
     ]
    }
}
```

## Définition de déploiements personnalisés
<a name="dotnet-manifest-custom"></a>

Pour encore davantage de contrôle, vous pouvez personnaliser entièrement un déploiement d'applications en définissant un *déploiement personnalisé*.

Ce manifeste de déploiement indique à Elastic Beanstalk PowerShell d'exécuter des scripts en mode 32 bits. Il spécifie trois scripts : un `install` script (`siteInstall.ps1`) qui s'exécute lors du lancement et des déploiements de l'instance, un `uninstall` script (`siteUninstall.ps1`) qui s'exécute avant d'installer de nouvelles versions pendant les déploiements et un `restart` script (`siteRestart.ps1`) qui s'exécute lorsque vous sélectionnez [Redémarrer le serveur d'applications](environments-dashboard-actions.md) dans la AWS console de gestion.

**Example aws-windows-deployment-manifest.json - déploiement personnalisé**  

```
{
  "manifestVersion": 1,
  "deployments": {
    "custom": [
      {
        "name": "Custom site",
        "architecture" : 32,
        "scripts": {
          "install": {
            "file": "siteInstall.ps1"
          },
          "restart": {
            "file": "siteRestart.ps1"
          },
          "uninstall": {
            "file": "siteUninstall.ps1"
          }
        }
      }
    ]
  }
}
```

Incluez les artefacts requis pour exécuter l'application dans le bundle de fichiers source avec le manifeste et les scripts.

**Example ustom-site-bundleC.zip**  

```
.
|-- aws-windows-deployment-manifest.json
|-- siteInstall.ps1
|-- siteRestart.ps1
|-- siteUninstall.ps1
`-- site-contents.zip
```

# Référence du schéma du manifeste de déploiement
<a name="dotnet-manifest-schema"></a>

Le manifeste de déploiement est un fichier JSON qui définit la manière dont Elastic Beanstalk doit déployer et configurer vos applications Windows. Cette section fournit une référence complète pour toutes les propriétés et options de configuration prises en charge dans le schéma du manifeste.

## Structure du manifeste
<a name="dotnet-manifest-schema-structure"></a>

Le manifeste de déploiement suit un schéma JSON spécifique avec la structure de haut niveau suivante :

**Example Structure de base du manifeste**  

```
{
  "manifestVersion": 1,
  "skipIISReset": false,
  "iisConfig": {
    "websites": [...],
    "appPools": [...]
  },
  "deployments": {
    "msDeploy": [...],
    "aspNetCoreWeb": [...],
    "custom": [...]
  }
}
```

### Propriétés de haut niveau
<a name="dotnet-manifest-schema-top-level"></a>

`manifestVersion` (obligatoire)  
*Type* : nombre  
*Par défaut* : 1  
*Valeurs valides :* 1  
Spécifie la version du schéma du manifeste. Actuellement, seule la version 1 est prise en charge.

`skipIISReset` (facultatif)  
*Type* : valeur booléenne  
*Par défaut :* faux  
Contrôle si IIS est réinitialisé lors des déploiements d'applications. Cet indicateur affecte à la fois les types de `aspNetCoreWeb` déploiement `msDeploy` et les types de déploiement.  
*Comportement :*  
+ *Non spécifié ou `false` (par défaut) :* les réinitialisations IIS sont effectuées lors des opérations d'installation, de désinstallation et de mise à jour. C'est le comportement traditionnel.
+ *`true`:* les réinitialisations IIS sont ignorées lors des opérations de déploiement.
*Avantages :*  
+ *Réduction des temps d'arrêt* : les applications subissent des interruptions de service plus courtes pendant les déploiements.
+ *Déploiements plus rapides* : élimine le temps nécessaire au redémarrage et à la réinitialisation complets d'IIS.
Lors de l'utilisation`skipIISReset`, l'[RestartAppServer](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RestartAppServer.html)opération effectue une réinitialisation IIS quel que soit ce paramètre d'indicateur.
*Exemple :*  

```
{
  "manifestVersion": 1,
  "skipIISReset": true,
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "my-dotnet-core-app",
        "parameters": {
          "archive": "dotnet-core-app.zip",
          "iisPath": "/"
        }
      }
    ]
  }
}
```

`deployments` (obligatoire)  
*Type :* objet  
Contient les configurations de déploiement pour vos applications. Cet objet peut inclure `msDeploy``aspNetCoreWeb`, et des types de `custom` déploiement.

`iisConfig` (facultatif)  
*Type :* objet  
Définit les paramètres de configuration IIS à appliquer avant de déployer des applications. Prend en charge la configuration du site Web et du pool d'applications.

## Configuration d'IIS
<a name="dotnet-manifest-schema-iis-config"></a>

Cette `iisConfig` section vous permet de configurer les paramètres IIS avant de déployer vos applications. Cela inclut la configuration de pools d'applications avec des configurations spécifiques et la configuration de sites Web IIS avec des liaisons personnalisées.

### Sites Web IIS
<a name="dotnet-manifest-schema-websites"></a>

Les sites Web IIS vous permettent de configurer des paramètres de site Web personnalisés, notamment des chemins physiques et des liaisons réseau, avant de déployer vos applications.

**Considérations importantes relatives à la création de différents sites Web IIS**  
*Ordre de configuration des sites Web :* les sites Web sont configurés séquentiellement dans l'ordre dans lequel ils apparaissent dans le `websites` tableau. La plateforme traite la configuration de chaque site Web dans l'ordre. Veillez donc à ce que l'ordre soit correct si vous avez des dépendances entre les sites Web.
*Pare-feu et accès aux ports :* seul le port 80 est automatiquement exposé via la configuration par défaut du pare-feu Windows Elastic Beanstalk. Si vous configurez des sites Web pour utiliser des ports non standard, vous devez définir des règles de pare-feu personnalisées par le biais d'ebextensions ou de scripts de déploiement personnalisés pour autoriser l'accès externe à ces ports.

**Example Configuration du site Web**  

```
{
  "iisConfig": {
    "websites": [
      {
        "name": "MyCustomSite",
        "physicalPath": "C:\inetpub\wwwroot\mysite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "mysite.local"
          },
          {
            "protocol": "https",
            "port": 8443
          }
        ]
      }
    ]
  }
}
```Propriétés du site Web

`name` (obligatoire)  
*Type* : chaîne  
Nom du site Web IIS. Ce nom est utilisé pour identifier le site Web dans le Gestionnaire des services Internet et doit être unique dans la configuration IIS.

`physicalPath` (obligatoire)  
*Type* : chaîne  
Le chemin physique sur le serveur où les fichiers du site Web sont stockés. Ce chemin doit être accessible au processus de travail IIS.

`bindings` (obligatoire)  
*Type* : tableau  
*Nombre minimum d'articles :* 1  
Ensemble de configurations de liaison qui définissent la manière dont le site Web répond aux demandes du réseau. Chaque liaison spécifie un protocole, un port et un nom d'hôte facultatif.

#### Liaisons du site Web
<a name="dotnet-manifest-schema-bindings"></a>

Les liaisons de sites Web définissent les points de terminaison du réseau sur lesquels votre site Web IIS écoutera les demandes entrantes.

`protocol` (obligatoire)  
*Type* : chaîne  
*Valeurs valides :* « http », « https »  
Protocole utilisé pour la liaison.

`port` (obligatoire)  
*Type* : entier  
*Plage valide : 1-65535*  
Numéro de port sur lequel le site Web écoutera les demandes.

`hostName` (facultatif)  
*Type* : chaîne  
Le nom d'hôte (nom de domaine) pour la liaison.

### Pools d'applications
<a name="dotnet-manifest-schema-app-pools"></a>

Les pools d'applications isolent les applications et vous permettent de configurer les paramètres d'exécution pour des groupes d'applications.

**Example Configuration du pool d'applications**  

```
{
  "iisConfig": {
    "appPools": [
      {
        "name": "MyAppPool",
        "enable32Bit": false,
        "managedPipelineMode": "Integrated",
        "managedRuntimeVersion": "v4.0",
        "queueLength": 1000,
        "cpu": {
          "limitPercentage": 80,
          "limitAction": "Throttle",
          "limitMonitoringInterval": 5
        },
        "recycling": {
          "regularTimeInterval": 1440,
          "requestLimit": 10000,
          "memory": 1048576,
          "privateMemory": 524288
        }
      }
    ]
  }
}
```Propriétés du pool d'applications

`name` (obligatoire)  
*Type* : chaîne  
Nom du pool d'applications. Ce nom est utilisé pour faire référence au pool dans les configurations de déploiement.

`enable32Bit` (facultatif)  
*Type* : valeur booléenne  
Permet à une application 32 bits de s'exécuter sur une version 64 bits de Windows. Définissez cette option `true` pour les applications existantes qui nécessitent une compatibilité 32 bits.

`managedPipelineMode` (facultatif)  
*Type* : chaîne  
*Valeurs valides :* « Intégré », « Classique »  
Spécifie le mode de traitement des demandes pour le pool d'applications.

`managedRuntimeVersion` (facultatif)  
*Type* : chaîne  
*Valeurs valides :* « Aucun code géré », « v2.0 », « v4.0 »  
Spécifie la version du .NET Framework pour le pool d'applications.

`queueLength` (facultatif)  
*Type* : entier  
Nombre maximal de demandes que HTTP.sys met en file d'attente pour le pool d'applications avant de rejeter les demandes supplémentaires.

#### Configuration du processeur
<a name="dotnet-manifest-schema-cpu-config"></a>

L'`cpu`objet configure les limites d'utilisation du processeur et la surveillance du pool d'applications.

`limitPercentage` (facultatif)  
*Type* : nombre  
Pourcentage maximal de temps processeur que les processus de travail peuvent consommer dans le pool d'applications.

`limitAction` (facultatif)  
*Type* : chaîne  
*Valeurs valides :* "NoAction«, « KillW3WP », « Throttle », "» ThrottleUnderLoad  
Action à entreprendre lorsque la limite du processeur est atteinte.

`limitMonitoringInterval` (facultatif)  
*Type* : nombre  
Période de réinitialisation (en minutes) pour la surveillance du processeur et les limites de régulation.

#### Configuration du recyclage
<a name="dotnet-manifest-schema-recycling-config"></a>

L'`recycling`objet configure quand et comment les processus de travail du pool d'applications sont recyclés.

`regularTimeInterval` (facultatif)  
*Type* : entier  
Intervalle de temps (en minutes) après lequel le pool d'applications recycle. Réglez sur 0 pour désactiver le recyclage basé sur le temps.

`requestLimit` (facultatif)  
*Type* : entier  
Nombre maximal de demandes traitées par le pool d'applications avant le recyclage.

`memory` (facultatif)  
*Type* : entier  
Quantité de mémoire virtuelle (en kilo-octets) qui déclenche le recyclage des processus de travail.

`privateMemory` (facultatif)  
*Type* : entier  
Quantité de mémoire privée (en kilo-octets) qui déclenche le recyclage des processus de travail.

## Types de déploiement
<a name="dotnet-manifest-schema-deployments"></a>

L'`deployments`objet contient des tableaux de configurations de déploiement pour différents types d'applications. Chaque type de déploiement possède des propriétés et des cas d'utilisation spécifiques.

### MSDeploy déploiements
<a name="dotnet-manifest-schema-msdeploy"></a>

MSDeploy les déploiements sont utilisés pour les applications .NET Framework traditionnelles qui peuvent être déployées à l'aide de Web Deploy (MSDeploy).

**Example MSDeploy configuration de déploiement**  

```
{
  "deployments": {
    "msDeploy": [
      {
        "name": "WebApp",
        "description": "Main web application",
        "parameters": {
          "appBundle": "webapp.zip",
          "iisPath": "/",
          "appPool": "DefaultAppPool"
        }
      }
    ]
  }
}
```MSDeploy propriétés de déploiement

`name` (obligatoire)  
*Type* : chaîne  
Nom unique pour le déploiement. Ce nom doit être unique pour tous les déploiements du manifeste.

`description` (facultatif)  
*Type* : chaîne  
Description lisible par l'homme du déploiement.

`parameters` (obligatoire)  
*Type :* objet  
Paramètres de configuration de l' MSDeploy opération.

`scripts` (facultatif)  
*Type :* objet  
PowerShell scripts à exécuter à différentes étapes du cycle de vie du déploiement.

#### MSDeploy paramètres
<a name="dotnet-manifest-schema-msdeploy-parameters"></a>

`appBundle` (obligatoire)  
*Type* : chaîne  
Chemin d'accès au bundle d'applications (fichier ZIP) relatif au fichier manifeste. Ce bundle contient les fichiers d'application à déployer.

`iisWebSite` (facultatif)  
*Type* : chaîne  
*Par défaut :* « Site Web par défaut »  
Le site Web IIS sur lequel déployer l'application. Par défaut, les applications sont déployées sur le « site Web par défaut ». Vous pouvez éventuellement spécifier un autre nom de site Web, tel que celui configuré dans la `iisConfig.websites` section.

`iisPath` (facultatif)  
*Type* : chaîne  
*Par défaut :* «/»  
Chemin du répertoire virtuel dans IIS où l'application sera déployée. Utilisez «/» pour le chemin racine ou « /api » pour un sous-répertoire.

`appPool` (facultatif)  
*Type* : chaîne  
Nom du pool d'applications pour exécuter cette application.

### Déploiements ASP.NET Core
<a name="dotnet-manifest-schema-aspnetcore"></a>

Les déploiements ASP.NET Core sont spécialement conçus pour les applications .NET Core et .NET 5\$1.

**Example Configuration du déploiement d'ASP.NET Core**  

```
{
  "deployments": {
    "aspNetCoreWeb": [
      {
        "name": "CoreAPI",
        "description": "ASP.NET Core Web API",
        "parameters": {
          "appBundle": "coreapi.zip",
          "iisPath": "/api",
          "appPool": "CoreAppPool"
        }
      }
    ]
  }
}
```

Les déploiements ASP.NET Core utilisent la même structure de propriétés que MSDeploy les déploiements, la principale différence étant l'environnement d'exécution et le modèle d'hébergement utilisés pour l'application.Paramètres de déploiement d'ASP.NET Core

`appBundle` (obligatoire)  
*Type* : chaîne  
Chemin d'accès au bundle d'applications relatif au fichier manifeste. Il peut s'agir d'une archive ZIP ou d'un chemin de répertoire contenant l'application ASP.NET Core publiée.

`iisWebSite` (facultatif)  
*Type* : chaîne  
*Par défaut :* « Site Web par défaut »  
Le site Web IIS sur lequel déployer l'application ASP.NET Core. Par défaut, les applications sont déployées sur le « site Web par défaut ». Vous pouvez éventuellement spécifier un autre nom de site Web, tel que celui configuré dans la `iisConfig.websites` section.

`iisPath` (facultatif)  
*Type* : chaîne  
*Par défaut :* «/»  
Chemin du répertoire virtuel dans IIS pour l'application ASP.NET Core.

`appPool` (facultatif)  
*Type* : chaîne  
Pool d'applications pour l'application ASP.NET Core. Le pool sera configuré de manière appropriée pour l'hébergement ASP.NET Core.

### Déploiements personnalisés
<a name="dotnet-manifest-schema-custom"></a>

Les déploiements personnalisés permettent de contrôler totalement le processus de déploiement par le biais de PowerShell scripts. Ce type de déploiement est utile pour les scénarios complexes qui nécessitent une installation, une configuration ou une logique de déploiement personnalisées.

**Example Configuration de déploiement personnalisée**  

```
{
  "deployments": {
    "custom": [
      {
        "name": "CustomService",
        "description": "Custom Windows service deployment",
        "architecture": 32,
        "scripts": {
          "install": {
            "file": "install-service.ps1"
          },
          "restart": {
            "file": "restart-service.ps1"
          },
          "uninstall": {
            "file": "uninstall-service.ps1",
            "ignoreErrors": true
          }
        }
      }
    ]
  }
}
```Propriétés de déploiement personnalisées

`name` (obligatoire)  
*Type* : chaîne  
Nom unique pour le déploiement personnalisé.

`description` (facultatif)  
*Type* : chaîne  
Description du déploiement personnalisé.

`architecture` (facultatif)  
*Type* : entier  
*Par défaut :* 32  
*Valeurs valides :* 32, 64  
La spécification d'architecture pour le mode d'exécution des scripts PowerShell

`scripts` (obligatoire)  
*Type :* objet  
PowerShell des scripts qui définissent le comportement de déploiement. Les déploiements personnalisés prennent en charge des types de scripts supplémentaires par rapport aux autres types de déploiement.

## Scripts de déploiement
<a name="dotnet-manifest-schema-scripts"></a>

Les scripts de déploiement sont PowerShell des scripts qui s'exécutent à des moments spécifiques du cycle de vie du déploiement. Les différents types de déploiement prennent en charge différents ensembles d'événements de script.

### Événements liés au script
<a name="dotnet-manifest-schema-script-events"></a>

Les événements de script suivants sont disponibles en fonction du type de déploiement :Scripts de déploiement standard (MSDeploy et aspNetCore Web)

`preInstall`  
S'exécute avant l'installation ou la mise à jour de l'application.

`postInstall`  
S'exécute après l'installation ou la mise à jour de l'application.

`preRestart`  
S'exécute avant le redémarrage de l'application.

`postRestart`  
S'exécute après le redémarrage de l'application.

`preUninstall`  
S'exécute avant la désinstallation de l'application.

`postUninstall`  
S'exécute après la désinstallation de l'application.Scripts de déploiement personnalisés (déploiements personnalisés uniquement)

`install`  
Script d'installation principal pour les déploiements personnalisés. Ce script est responsable de l'installation de l'application ou du service.

`restart`  
Script pour redémarrer l'application ou le service. Appelé au redémarrage de l'environnement.

`uninstall`  
Script permettant de désinstaller l'application ou le service. Appelé lors de la fermeture de l'environnement ou de la suppression d'une application.

### Propriétés du script
<a name="dotnet-manifest-schema-script-properties"></a>

Chaque script est défini comme un objet doté des propriétés suivantes :

`file` (obligatoire)  
*Type* : chaîne  
Chemin d'accès au fichier de PowerShell script relatif au fichier manifeste. Le script doit avoir une `.ps1` extension.

`ignoreErrors` (facultatif)  
*Type* : valeur booléenne  
*Par défaut :* faux  
Lorsque ce paramètre est défini sur`true`, le déploiement se poursuit même si le script échoue. Utilisez-le pour des scripts ou des opérations de nettoyage non critiques.

**Example Exemple de configuration de script**  

```
{
  "scripts": {
    "preInstall": {
      "file": "backup-config.ps1",
      "ignoreErrors": true
    },
    "postInstall": {
      "file": "configure-app.ps1"
    }
  }
}
```

# Utilisation de EC2 Fast Launch avec les branches de la plate-forme Windows
<a name="dotnet-ec2fastlaunch"></a>

La fonctionnalité EC2 Fast Launch réduit les temps de lancement des instances Windows dans vos environnements Elastic Beanstalk. L'objectif de cette rubrique est de vous expliquer comment utiliser cette fonctionnalité dans vos environnements Elastic Beanstalk. À partir de la version 2.16.2 de la plateforme Windows, publiée le [22 janvier 2025,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-01-22-windows.html) les versions de la plateforme Elastic Beanstalk incluent la version de base avec Fast Launch activé. AMIs EC2 

## Disponibilité du lancement EC2 rapide par défaut
<a name="dotnet-ec2fastlaunch-default"></a>

Les dernières versions de la plateforme Windows Elastic Beanstalk AMIs incluent la version de EC2 base avec Fast Launch automatiquement activé, sans frais supplémentaires. Toutefois, lorsque de nouvelles versions de plate-forme sont publiées, EC2 Fast Launch peut ne pas rester automatiquement activé sur la base AMIs des anciennes versions de plate-forme.

Nous vous recommandons de passer à la dernière version de la plateforme Windows pour utiliser la base AMIs avec EC2 Fast Launch automatiquement activé. Toutefois, si vous devez continuer à utiliser la version de votre plateforme existante, vous pouvez activer manuellement EC2 Fast Launch sur l'AMI de base de votre environnement. Pour obtenir des instructions, veuillez consulter [Configuration manuelle de EC2 Fast Launch](#dotnet-ec2fastlaunch-manual).

## Configuration manuelle de EC2 Fast Launch
<a name="dotnet-ec2fastlaunch-manual"></a>

**Note**  
L'activation manuelle de EC2 Fast Launch peut entraîner des coûts supplémentaires par rapport à l'utilisation de versions de plateforme avec EC2 Fast Launch automatiquement activé. Pour plus d'informations sur les coûts de EC2 Fast Launch, consultez [la page des ressources sous-jacentes de EC2 Fast Launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-manage-costs.html) dans le *guide de EC2 l'utilisateur Amazon*.

Procédez comme suit pour activer EC2 Fast Launch sur une AMI de base Windows utilisée par votre environnement Elastic Beanstalk :

**Pour activer manuellement EC2 Fast Launch pour votre environnement Elastic Beanstalk**

1. Identifiez l'AMI de base de votre environnement :

   Suivez les étapes décrites dans [Création d'une AMI personnalisée](using-features.customenv.md) pour identifier l'ID d'AMI de base de votre environnement. Notez qu'il n'est pas nécessaire de créer une AMI personnalisée, il vous suffit de suivre les étapes pour localiser votre ID d'AMI de base actuel.

1. Activez le lancement EC2 rapide sur l'AMI :

   Suivez les instructions de la [section Activer le lancement EC2 rapide](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-configure.html) du *guide de EC2 l'utilisateur Amazon* pour configurer EC2 Fast Launch pour votre AMI.

# Ajout d'une instance de base de données Amazon RDS à votre environnement d'application .NET
<a name="create_deploy_NET.rds"></a>

Cette rubrique fournit des instructions pour créer un Amazon RDS à l'aide de la console Elastic Beanstalk. Vous pouvez utiliser une instance de base de données Amazon Relational Database Service (Amazon RDS) pour stocker les données collectées et modifiées par votre application. La base de données peut être liée à votre environnement et gérée par Elastic Beanstalk, ou elle peut être créée comme déliée et gérée en externe par un autre service. Dans ces instructions, la base de données est couplée à votre environnement et gérée par Elastic Beanstalk. Pour plus d'informations sur l'intégration d'un Amazon RDS avec Elastic Beanstalk, consultez [Ajout d'une base de données à votre environnement Elastic Beanstalk](using-features.managing.db.md).

**Topics**
+ [Ajout d'une instance de base de données à votre environnement](#dotnet-rds-create)
+ [Téléchargement d'un pilote](#dotnet-rds-drivers)
+ [Connexion à une base de données](#dotnet-rds-connect)

## Ajout d'une instance de base de données à votre environnement
<a name="dotnet-rds-create"></a>

**Pour ajouter une instance DB à votre environnement**

1. Ouvrez la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk), puis **dans la liste des régions, sélectionnez votre**. Région AWS

1. Dans le panneau de navigation, choisissez **Environments** (Environnements), puis choisissez le nom de votre environnement dans la liste.

1. Dans le panneau de navigation, choisissez **Configuration**.

1. Dans la catégorie de configuration **Database (Base de données)**, choisissez **Edit (Modifier)**.

1. Choisissez un moteur de base de données, puis saisissez un nom d'utilisateur et un mot de passe.

1. Pour enregistrer les modifications, cliquez sur **Appliquer** en bas de la page.

L'ajout d'une instance DB prend environ 10 minutes. Une fois la mise à jour de l'environnement terminée, le nom d'hôte de l'instance DB et les autres informations de connexion sont disponibles dans votre application, via les propriétés d'environnement suivantes :


| Nom de la propriété | Description | Valeur de la propriété | 
| --- | --- | --- | 
|  `RDS_HOSTNAME`  |  Nom d'hôte de l'instance DB.  |  Sous l'onglet **Connectivity & security** (Connectivité et sécurité) de la console Amazon RDS : **Endpoint** (Point de terminaison).  | 
|  `RDS_PORT`  |  Port sur lequel l'instance de base de données accepte des connexions. La valeur par défaut varie selon les moteurs de base de données.  |  Sous l'onglet **Connectivity & security (Connectivité et sécurité)** de la console Amazon RDS : **Port**.  | 
|  `RDS_DB_NAME`  |  Nom de la base de données, **ebdb**.  |  Sous l'onglet **Configuration** de la console Amazon RDS : **DB Name (Nom de base de données)**.  | 
|  `RDS_USERNAME`  |  Nom d'utilisateur que vous avez configuré pour votre base de données.  |  Sous l'onglet **Configuration** de la console Amazon RDS : **Master username (Identifiant principal)**.  | 
|  `RDS_PASSWORD`  |  Mot de passe que vous avez configuré pour votre base de données.  |  Non disponible pour référence dans la console Amazon RDS.  | 

Pour plus d'informations sur la configuration d'une instance de base de données liée à un environnement Elastic Beanstalk, consultez [Ajout d'une base de données à votre environnement Elastic Beanstalk](using-features.managing.db.md).

## Téléchargement d'un pilote
<a name="dotnet-rds-drivers"></a>

Téléchargez et installez le package `EntityFramework` et un pilote de base de données pour votre environnement de développement avec `NuGet`.

**Fournisseurs de base de données Common Entity Framework pour .NET**
+ **SQL Server** – `Microsoft.EntityFrameworkCore.SqlServer`
+ **MySQL** – `Pomelo.EntityFrameworkCore.MySql`
+ **PostgreSQL** – `Npgsql.EntityFrameworkCore.PostgreSQL`

## Connexion à une base de données
<a name="dotnet-rds-connect"></a>

Elastic Beanstalk fournit des informations de connexion pour les instances de base de données attachées dans les propriétés de l'environnement. Utilisez `ConfigurationManager.AppSettings` pour lire les propriétés et configurer une connexion de base de données.

**Example Helpers.cs - Méthode de chaîne de connexion**  

```
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;

namespace MVC5App.Models
{
  public class Helpers
  {
    public static string GetRDSConnectionString()
    {
      var appConfig = ConfigurationManager.AppSettings;

      string dbname = appConfig["RDS_DB_NAME"];

      if (string.IsNullOrEmpty(dbname)) return null;

      string username = appConfig["RDS_USERNAME"];
      string password = appConfig["RDS_PASSWORD"];
      string hostname = appConfig["RDS_HOSTNAME"];
      string port = appConfig["RDS_PORT"];

      return "Data Source=" + hostname + ";Initial Catalog=" + dbname + ";User ID=" + username + ";Password=" + password + ";";
    }
  }
}
```

Utilisez la chaîne de connexion pour initialiser votre contexte de base de données.

**Example DBContext.cs**  

```
using System.Data.Entity;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;

namespace MVC5App.Models
{
  public class RDSContext : DbContext
  { 
    public RDSContext()
      : base(GetRDSConnectionString())
    {
    }

    public static RDSContext Create()
    {
      return new RDSContext();
    }
  }
}
```

# Le AWS Toolkit for Visual Studio
<a name="dotnet-toolkit"></a>

Visual Studio fournit des modèles pour différents langages de programmation et types d'applications. Vous pouvez commencer avec n'importe lequel de ces modèles. Le AWS Toolkit for Visual Studio fournit également trois modèles de projet qui démarrent le développement de votre application : AWS Console Project, AWS Web Project et AWS Empty Project. Pour cet exemple, vous allez créer une application web ASP.NET.

**Pour créer un projet d'application web ASP.NET**

1. Dans Visual Studio, dans le menu **Fichier**, cliquez sur **Nouveau** puis cliquez sur **Projet**.

1. Dans la boîte de dialogue **Nouveau projet**, cliquez sur **Modèles installés**, cliquez sur **Visual C\$1**, puis cliquez sur **Web**. Cliquez sur **Application Web ASP.NET vide**, tapez un nom de projet puis cliquez sur **OK**. 

**Pour exécuter un projet**

Effectuez l'une des actions suivantes :

1. Appuyez sur **F5**.

1. Sélectionnez **Démarrer le débogage** dans le menu **Déboguer**.

## Test local
<a name="create_deploy_NET.sdlc.testlocal"></a>

Visual Studio vous facilite le test de votre application localement. Pour tester ou exécuter des applications web ASP.NET, vous avez besoin d'un serveur web. Visual Studio fournit plusieurs options, telles qu'Internet Information Services (IIS), IIS Express ou le serveur de développement intégré de Visual Studio. Pour en savoir plus sur chacune de ces options et décider laquelle vous convient le mieux, consultez [Web Servers in Visual Studio for ASP.NET Web Projects](http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx).

## Créer un environnement Elastic Beanstalk
<a name="create_deploy_NET.sdlc.deploy"></a>

Après avoir testé votre application, vous êtes prêt à la déployer dans Elastic Beanstalk.

**Note**  
Un [fichier de configuration](ebextensions.md) doit faire partie du projet pour être inclus dans l'archive. Sinon, au lieu d'inclure les fichiers de configuration dans le projet, vous pouvez utiliser Visual Studio pour déployer tous les fichiers dans le dossier de projet. Dans l'**Explorateur de solutions**, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur **Propriétés**. Cliquez sur l'onglet **Package/Publication Web**. Dans la section **Items to deploy (Éléments à déployer)**, sélectionnez **All Files in the Project Folder (Tous les fichiers dans le dossier du projet)** dans la liste déroulante.

**Pour déployer votre application sur Elastic Beanstalk AWS à l'aide du kit d'outils pour Visual Studio**

1. Dans l'**Explorateur de solutions**, cliquez avec le bouton droit sur votre application, puis sélectionnez **Publier sur AWS**.

1. Dans l'assistant **Publish to AWS** (Publier sur AWS), entrez les informations de votre compte.

   1. Pour **AWS account to use for deployment** (Compte AWS à utiliser pour le déploiement), sélectionnez votre compte ou **Other** (Autre) pour entrer de nouvelles informations de compte. 

   1. Pour **Region (Région)**, sélectionnez la région où vous souhaitez déployer votre application. Pour plus d'informations sur AWS les régions disponibles, consultez la section [AWS Elastic Beanstalk Points de terminaison et quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) dans le *Références générales AWS*. Si vous sélectionnez une région qui n'est pas prise en charge par Elastic Beanstalk, l'option de déploiement vers Elastic Beanstalk devient indisponible.

   1.  Cliquez sur **Deploy new application with template (Déployer la nouvelle application avec le modèle)** puis sur **Elastic Beanstalk**. Ensuite, cliquez sur **Suivant**.  
![\[Publier dans AWS Wizard 1\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-create-newapp-template.png)

1. Sur la page **Application**, entrez les détails de votre application.

   1. Pour **Name (Nom)**, tapez le nom de l'application.

   1. Pour **Description**, entrez une description de l'application. Cette étape est facultative.

   1. L'étiquette de version de l'application s'affiche automatiquement dans l'**étiquette de version Deployment**.

   1. Sélectionnez **Deploy application incrementally (Déployer l'application de manière incrémentielle)** pour déployer uniquement les fichiers modifiés. Un déploiement incrémentiel est plus rapide, car vous mettez à jour uniquement les fichiers qui ont été modifiés au lieu de tous les fichiers. Si vous sélectionnez cette option, une version de l'application est définie à partir de l'ID de validation Git. Si vous choisissez de ne pas déployer votre application de manière incrémentielle, vous pouvez alors mettre à jour l'étiquette de version dans la zone **Deployment version label (Étiquette de version Déploiement)**.   
![\[Publication sur Beanstalk Assistant 2\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk1.png)

   1. Cliquez sur **Next** (Suivant).

1. Sur la page **Environment (Environnement)**, décrivez les détails de votre environnement.

   1. Sélectionnez **Create a new environment for this application (Créer un environnement pour cette application)**.

   1. Pour **Name (Nom)**, tapez un nom unique pour votre environnement.

   1. Pour **Description**, qualifiez votre environnement. Cette étape est facultative.

   1. Sélectionnez le **Type** d'environnement que vous voulez.

      Vous avez le choix entre deux types d'environnement : **Load balanced, auto scaled (Équilibrage de charge, scalabilité automatique)** ou **Single instance (Instance unique)**. Pour plus d'informations, consultez [Types d'environnement](using-features-managing-env-types.md).

       
**Note**  
Pour les environnements instance unique, les paramètres URL d'équilibrage de charge, de mise à l'échelle automatique et de vérification de l'état ne s'appliquent pas.

   1. L'URL d'environnement s'affiche automatiquement dans **Environment URL (URL de l'environnement)** une fois que vous déplacez votre curseur dans cette zone.

   1. Cliquez sur **Check availability (Vérifier la disponibilité)** pour vous assurer que l'URL d'environnement est disponible.  
![\[Publication sur Beanstalk Assistant 3\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk2.png)

   1. Cliquez sur **Suivant**.

1. Sur la page **AWS Options** (Options AWS ), configurez des informations de sécurité et des options supplémentaires pour votre déploiement. 

   1.  Pour **Container Type (Type de conteneur)**, sélectionnez **64bit Windows Server 2012 running IIS 8 (Serveur Windows 2012 64 bits exécutant IIS 8)** ou **64bit Windows Server 2008 running IIS 7.5 (Serveur Windows 2008 64 bits exécutant IIS 7.5)**.

   1. Pour **Instance Type (Type d'instance)**, sélectionnez **Micro**. 

   1. Pour **Key pair (Paire de clés)**, sélectionnez **Create new key pair (Créer une paire de clés)**. Tapez un nom pour la nouvelle paire de clés. Dans cet exemple, nous utiliserons **myuswestkeypair**, puis nous cliquerons sur **OK**. Une paire de clés permet d'accéder à distance à vos instances Amazon EC2 . Pour plus d'informations sur les paires de EC2 clés Amazon, consultez la section [Utilisation des informations d'identification](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-credentials.html) dans le *guide de l'utilisateur d'Amazon Elastic Compute Cloud*. 

   1. Sélectionner un profil d'instance.

      Si vous n'avez pas de profil d'instance, sélectionnez **Create a default instance profile (Créer un profil d'instance par défaut)**. Pour de plus amples informations sur l'utilisation des profils d'instance avec Elastic Beanstalk, veuillez consulter [Gestion des profils d'instance Elastic Beanstalk](iam-instanceprofile.md).

   1. Si vous avez un VPC personnalisé que vous souhaitez utiliser avec votre environnement, cliquez sur **Launch into VPC (Lancer dans le VPC)**. Vous pouvez configurer les informations de VPC sur la page suivante. Pour de plus amples informations sur Amazon VPC, veuillez consulter [Amazon Virtual Private Cloud (Amazon VPC)](https://aws.amazon.com/vpc/). Pour afficher la liste des types de conteneurs non hérités pris en charge, consultez [Pourquoi certaines versions de plate-forme sont-elles marquées héritées ?](using-features.migration.md#using-features.migration.why)  
![\[Publication sur Beanstalk Assistant 4\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_iam.png)

   1.  Cliquez sur **Suivant**. 

1. Si vous avez choisi de lancer votre environnement à l'intérieur d'un VPC, la page **VPC Options (Options du VPC)** s'affiche. Sinon, la page **Additional Options (Options supplémentaires)** s'affiche. Ici, vous allez configurer vos options de VPC.  
![\[Options de VPC pour un environnement évolutif et équilibré\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc.png)  
![\[Options de VPC pour environnement instance unique\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc-single.png)

   1. Sélectionnez l'ID de VPC du VPC dans lequel vous souhaitez lancer votre environnement. 

   1. Pour un environnement à charge équilibrée et évolutif, sélectionnez **privé** pour **ELB Scheme** si vous ne souhaitez pas que votre Elastic Load Balancer soit disponible sur Internet.

      Pour un environnement instance unique, cette option n'est pas applicable, car l'environnement n'a pas d'équilibreur de charge. Pour de plus amples informations, veuillez consulter [Types d'environnement](using-features-managing-env-types.md).

   1. Pour un environnement évolutif et équilibré en charge, sélectionnez les sous-réseaux pour l'équilibreur de charge élastique et les instances. EC2 Si vous avez créé des sous-réseaux publics et privés, assurez-vous que l'équilibreur de charge élastique et les EC2 instances sont associés au sous-réseau approprié. Par défaut, Amazon VPC crée un sous-réseau public par défaut à l'aide de 10.0.0.0/24 et d'un sous-réseau privé à l'aide de 10.0.1.0/24. Vous pouvez consulter vos sous-réseaux existants dans la console Amazon VPC à l'adresse. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

      Pour un environnement instance unique, votre VPC a besoin uniquement d'un sous-réseau public de l'instance. Sélectionner un sous-réseau pour l'équilibreur de charge n'est pas applicable, car l'environnement n'a pas d'équilibreur de charge. Pour plus d'informations, consultez [Types d'environnement](using-features-managing-env-types.md).

   1. Pour un environnement à charge équilibrée et évolutif, sélectionnez le groupe de sécurité que vous avez créé pour vos instances, le cas échéant.

      Pour un environnement instance unique, vous n'avez pas besoin d'un périphérique NAT. Sélectionnez le groupe de sécurité par défaut. Elastic Beanstalk attribue à l'instance une adresse IP Elastic qui lui permet d'accéder à Internet.

   1. Cliquez sur **Suivant**.

1. Sur la page **Application Options (Options de l'application)**, configurez les options de votre application. 

   1. Pour l'infrastructure cible, sélectionnez **.NET Framework 4.0**. 

   1. Elastic Load Balancing utilise un test de santé pour déterminer si les EC2 instances Amazon exécutant votre application sont saines. La vérification de l'état détermine l'état d'intégrité d'une instance en détectant une URL spécifiée à un intervalle défini. Vous pouvez remplacer l'URL par défaut par une URL qui correspond à une ressource existante dans votre application (par exemple, `/myapp/index.aspx`) en entrant celle-ci dans la zone **URL de vérification de l'état de l'application**. Pour plus d'informations sur les vérifications de l'état de l'application, consultez [Surveillance de l'état](environments-cfg-clb.md#using-features.managing.elb.healthchecks). 

   1. Tapez une adresse e-mail si vous souhaitez recevoir des notifications Amazon Simple Notification Service (Amazon SNS) des événements importants qui affectent votre application.

   1. La section **Environnement de l'application** vous permet de spécifier des variables d'environnement sur les EC2 instances Amazon qui exécutent votre application. Ce paramètre permet une plus grande portabilité en éliminant la nécessité de recompiler votre code source pendant que vous vous déplacez entre les environnements.

   1. Sélectionnez l'option d'informations d'identification des applications que vous voulez utiliser pour déployer votre application.  
![\[Publication sur Beanstalk Assistant 6\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3a.png)

   1. Cliquez sur **Suivant**.

1. Si vous avez déjà mis en place une base de données Amazon RDS, la page **Amazon RDS DB Security Group (Groupe de sécurité DB Amazon RDS)** s'affiche. Si vous souhaitez connecter votre environnement Elastic Beanstalk à votre Instance DB Amazon RDS, sélectionnez alors un ou plusieurs groupes de sécurité. Sinon, allez à l'étape suivante. Lorsque vous êtes prêt, cliquez sur **Next (Suivant)**.  
![\[Publication sur Beanstalk Assistant 7\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk6b.png)

1.  Passez en revue vos options de déploiement. Si tout est tel que vous le souhaitez, cliquez sur **Deploy (Déploiement)**.   
![\[Publication sur Beanstalk Assistant 8\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk4.png)

   Votre projet ASP.NET sera exporté comme un fichier de déploiement web, téléchargé sur Amazon S3 et inscrit en tant que nouvelle version de l'application avec Elastic Beanstalk. La fonctionnalité de déploiement Elastic Beanstalk surveille votre environnement jusqu'à ce qu'il devienne disponible avec le code nouvellement déployé. Sous l'onglet env:<nom de l'environnement>, vous verrez l'état de votre environnement.   
![\[État de l'environnement\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-env-status.png)

## Résiliation d'un environnement
<a name="create_deploy_NET.terminating"></a>

Pour éviter d'encourir des frais pour les AWS ressources non utilisées, vous pouvez mettre fin à un environnement en cours d'exécution à l'aide du AWS Toolkit for Visual Studio.

**Note**  
 Vous pouvez toujours lancer un nouvel environnement en utilisant la même version ultérieurement. 

**Pour résilier un environnement**

1.  Développez le nœud Elastic Beanstalk et le nœud d'application dans **AWS Explorer** (Explorateur AWS ). Cliquez avec le bouton droit la souris sur votre environnement d'application et sélectionnez **Terminate Environment (Résilier l'environnement)**.

1. Lorsque vous y êtes invité, cliquez sur **Yes (Oui)** afin de confirmer que vous souhaitez résilier l'environnement. Elastic Beanstalk mettra quelques minutes à arrêter les ressources en cours d'exécution dans l' AWS environnement.  
![\[Boîte de dialogue d'arrêt de l'environnement Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-terminate-confirm.png)
**Note**  
Lorsque vous résiliez votre environnement, le CNAME associé à l'environnement résilié devient disponible pour que tout le monde puisse l'utiliser. 

# Déploiement dans votre environnement
<a name="create_deploy_NET.sdlc.create.edit"></a>

Maintenant que vous avez testé votre application, il est facile de modifier et de redéployer de votre application et de consulter les résultats en quelques instants. 

 **Pour modifier et redéployer votre application web ASP.NET ** 

1.  Dans l'**Explorateur de solutions**, cliquez avec le bouton droit sur votre application, puis cliquez sur **Republier dans l'environnement < *your environment name* >**. L'assistant **Republication sur AWS Elastic Beanstalk** s'ouvre.  
![\[Publication sur Beanstalk Assistant 1\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-republish-beanstalk-sameenv.png)

1.  Passez en revue les détails de votre déploiement et cliquez sur **Deploy (Déploiement)**. 
**Note**  
Si vous souhaitez modifier certains de vos paramètres, vous pouvez cliquer sur **Cancel** (Annuler) et utiliser l'assistant **Publish to AWS** (Publier dans AWS) à la place. Pour obtenir des instructions, consultez [Créer un environnement Elastic Beanstalk](dotnet-toolkit.md#create_deploy_NET.sdlc.deploy).

   Votre projet web ASP.NET mis à jour sera exporté comme un fichier Web Deploy avec la nouvelle étiquette de version, téléchargé sur Amazon S3 et inscrit en tant que nouvelle version de l'application avec Elastic Beanstalk. La fonctionnalité de déploiement Elastic Beanstalk surveille votre environnement existant jusqu'à ce qu'il devienne disponible avec le code nouvellement déployé. Dans l'onglet **env : < *environment name* >**, vous verrez l'état de votre environnement. 

Vous pouvez également déployer une application existante dans un environnement existant si, par exemple, vous devez restaurer une version précédente de l'application. 

**Pour déployer une version de l'application dans un environnement existant**

1. Cliquez avec le bouton droit de la souris sur votre application Elastic Beanstalk en développant le nœud Elastic Beanstalk dans **AWS Explorer** (Explorateur AWS ). Sélectionnez **View Status (Afficher l'état)**. 

1. Dans l'onglet **App : < *application name* >**, cliquez sur **Versions**.   
![\[Versions de l'application\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-app-version.png)

1. Cliquez sur la version de l'application que vous souhaitez déployer et cliquez sur **Publish Version (Publier la version)**.

1.  Dans l'assistant **Publish Application Version (Publier la version de l'application)**, cliquez sur **Next (Suivant)**.  
![\[Publication de la version de l'application Assistant 1\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-republish-beanstalk2a.png)

1.  Passez en revue les options de votre déploiement et cliquez sur **Deploy (Déploiement)**.   
![\[Publication de la version de l'application Assistant 2\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-publish-app-version-wizard3.png)

   Votre projet ASP.NET sera exporté comme un fichier Web Deploy et chargé sur Amazon S3. La fonctionnalité de déploiement Elastic Beanstalk surveille votre environnement jusqu'à ce qu'il devienne disponible avec le code nouvellement déployé. Dans l'onglet **env : < *environment name* >**, vous verrez l'état de votre environnement. 

# Gestion de vos environnements d'application Elastic Beanstalk
<a name="create_deploy_NET.managing"></a>

Avec le AWS Toolkit for Visual Studio et la console de AWS gestion, vous pouvez modifier le provisionnement et la configuration des AWS ressources utilisées par vos environnements d'applications. Pour plus d'informations sur la gestion de vos environnements d'applications à l'aide de la console AWS de gestion, consultez[Gestion des environnements Elastic Beanstalk](using-features.managing.md). Cette section décrit les paramètres de service spécifiques que vous pouvez modifier dans AWS Toolkit for Visual Studio dans le cadre de la configuration d'environnement de votre application.

## Modification des paramètres de configuration de l'environnement
<a name="create_deploy_NET.managing.env"></a>

Lorsque vous déployez votre application, Elastic Beanstalk configure un certain nombre de services de cloud computing. AWS Vous pouvez contrôler la façon dont ces services individuels sont configurés à l'aide du AWS Toolkit for Visual Studio.

**Pour modifier les paramètres d'environnement d'une application**
+ Développez le nœud Elastic Beanstalk et le nœud de votre application. Ensuite, cliquez avec le bouton droit de la souris sur votre environnement Elastic Beanstalk dans **AWS Explorer** (Explorateur AWS ). Sélectionnez **View Status (Afficher l'état)**. 

  Vous pouvez à présent configurer des paramètres pour les éléments suivants :
  + de bases de données
  + Equilibrage de charge
  + Auto Scaling
  + Notifications
  + Propriétés de l'environnement

# Configuration des instances de EC2 serveur à l'aide du AWS kit d'outils pour Visual Studio
<a name="create_deploy_NET.managing.ec2"></a>

Amazon Elastic Compute Cloud (Amazon EC2) est un service Web que vous utilisez pour lancer et gérer des instances de serveur dans les centres de données d'Amazon. Vous pouvez utiliser les instances de EC2 serveur Amazon à tout moment, aussi longtemps que vous le souhaitez et à toutes fins légales. Les instances sont disponibles dans différentes tailles et configurations. Pour plus d'informations, rendez-vous sur [Amazon EC2](https://aws.amazon.com/ec2/).

Vous pouvez modifier la **configuration** de l'instance Amazon de l'environnement Elastic Beanstalk à l'aide EC2 de l'onglet Server situé dans l'onglet de votre environnement d'application dans le Toolkit for Visual AWS Studio. 

![\[Panneau de configuration des serveurs Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-server.png)


## Types d' EC2 instances Amazon
<a name="create_deploy_NET.managing.ec2.instancetypes"></a>

**Instance type (Type d'instance)** affiche les types d'instance disponibles pour votre application Elastic Beanstalk. Changez le type d'instance pour sélectionner un serveur dont les caractéristiques (y compris la taille de la mémoire et la puissance d'UC) sont les mieux adaptées à votre application. Par exemple, les applications exécutant des opérations intensives et de longue durée peuvent nécessiter plus de puissance de calcul et de mémoire.

Pour plus d'informations sur les types d' EC2 instances Amazon disponibles pour votre application Elastic Beanstalk[, consultez la section Types d'instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) dans *le guide de l'utilisateur Amazon* Elastic Compute Cloud.

## Groupes EC2 de sécurité Amazon
<a name="create_deploy_NET.managing.ec2.securitygroups"></a>

Vous pouvez contrôler l'accès à votre application Elastic Beanstalk à l'*aide EC2 * d'un groupe de sécurité Amazon. Un groupe de sécurité définit les règles de pare-feu de vos instances. Ces règles déterminent le trafic réseau d'entrée (c'est à dire, entrant) doit être acheminé vers votre instance. Tout autre trafic d'entrée sera ignoré. Vous pouvez modifier les règles pour un groupe à la fois. Les nouvelles règles sont appliquées automatiquement pour toutes les instances en cours d'exécution et les instances lancées par la suite. 

Vous pouvez configurer vos groupes de EC2 sécurité Amazon à l'aide de la console de AWS gestion ou du AWS Toolkit for Visual Studio. **Vous pouvez spécifier quels groupes de EC2 sécurité Amazon contrôlent l'accès à votre application Elastic Beanstalk en saisissant les noms d'un ou de plusieurs groupes de sécurité EC2 Amazon (séparés par des virgules) dans la zone de texte Security Groups. EC2 ** 

**Note**  
Assurez-vous que le port 80 (HTTP) est accessible à partir de 0.0.0.0/0 comme source de la plage CIDR si vous souhaitez activer les vérifications de l'état pour votre application. Pour plus d'informations sur les vérifications de l'état, consultez [Vérifications de l'état](create_deploy_NET.managing.elb.md#create_deploy_NET.managing.elb.healthchecks).

**Pour créer un groupe de sécurité à l'aide du AWS kit d'outils pour Visual Studio**

1.  Dans Visual Studio, dans **AWS Explorer**, développez le EC2 nœud **Amazon**, puis double-cliquez sur **Security Groups**. 

1.  Cliquez sur **Create Security Group (Créer un groupe de sécurité)** et entrez un nom et une description pour votre groupe de sécurité. 

1.  Cliquez sur **OK**. 

Pour plus d'informations sur les groupes EC2 de sécurité Amazon, consultez la section [Utilisation des groupes de sécurité](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) dans le *guide de l'utilisateur d'Amazon Elastic Compute Cloud*.

## Paires EC2 de clés Amazon
<a name="create_deploy_NET.managing.ec2.keypair"></a>

Vous pouvez vous connecter en toute sécurité aux EC2 instances Amazon mises en service pour votre application Elastic Beanstalk à l'aide d'une paire de clés Amazon. EC2 

**Important**  
Vous devez créer une paire de EC2 clés Amazon et configurer vos instances Amazon fournies par Elastic Beanstalk pour utiliser la EC2 paire de clés Amazon avant de pouvoir accéder à vos EC2 instances Amazon provisionnées par Elastic Beanstalk. EC2 Vous pouvez créer votre paire de clés à l'aide de l' AWS assistant **Publish to** du AWS Toolkit for Visual Studio lorsque vous déployez votre application sur Elastic Beanstalk. Si vous souhaitez créer des paires de clés supplémentaires à l'aide de Toolkit, procédez comme suit. Vous pouvez également configurer vos paires de EC2 clés Amazon à l'aide de la [console AWS de gestion](https://console.aws.amazon.com/). Pour obtenir des instructions sur la création d'une paire de clés pour Amazon EC2, consultez le [guide de démarrage Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/AWSEC2/latest/GettingStartedGuide/). 

 La zone de texte **Existing Key Pair** vous permet de spécifier le nom d'une paire de EC2 clés Amazon que vous pouvez utiliser pour vous connecter en toute sécurité aux EC2 instances Amazon exécutant votre application Elastic Beanstalk. 

**Pour spécifier le nom d'une paire de EC2 clés Amazon**

1. Développez le EC2 nœud **Amazon** et double-cliquez sur **Key Pairs**.

1.  Cliquez sur **Create Key Pair (Créer une paire de clés)** et saisissez le nom de la paire de clés. 

1.  Cliquez sur **OK**. 

Pour plus d'informations sur les paires de EC2 clés Amazon, consultez la section [Utilisation des EC2 informations d'identification Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-credentials.html) dans le *guide de l'utilisateur d'Amazon Elastic Compute Cloud*. Pour plus d'informations sur la connexion aux EC2 instances Amazon, consultez[Affichage de la liste des instances de serveur et connexion à ces instances](create_deploy_NET.ec2connect.md). 

## Intervalle de surveillance
<a name="create_deploy_NET.managing.monitoring"></a>

 Par défaut, seules les CloudWatch métriques Amazon de base sont activées. Elles renvoient des données toutes les cinq minutes. Vous pouvez activer des CloudWatch mesures plus détaillées d'une minute en sélectionnant **1 minute** pour l'**intervalle de surveillance** dans la section **Serveur** de l'onglet **Configuration** de votre environnement dans le. AWS Toolkit for Eclipse

**Note**  
Des frais CloudWatch de service Amazon peuvent s'appliquer pour les mesures d'intervalle d'une minute. Consultez [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) pour plus d'informations.

## ID d'AMI personnalisé
<a name="create_deploy_NET.managing.customami"></a>

 Vous pouvez remplacer l'AMI par défaut utilisée pour vos EC2 instances Amazon par votre propre AMI personnalisée en saisissant l'identifiant de votre AMI personnalisée dans le champ **ID d'AMI personnalisé** de la section **Serveur** de l'onglet **Configuration** de votre environnement dans le AWS Toolkit for Eclipse. 

**Important**  
L'utilisation de votre propre image AMI est une tâche avancée qui doit être effectuée avec soin. Si vous avez besoin d'une AMI personnalisée, nous vous recommandons de démarrer par l'AMI Elastic Beanstalk par défaut, puis de la modifier. Pour être considérées comme saines, Elastic Beanstalk EC2 attend des instances Amazon qu'elles répondent à un ensemble d'exigences, notamment qu'elles soient dotées d'un gestionnaire d'hôte actif. Si ces conditions ne sont pas satisfaites, il se peut que votre environnement ne fonctionne pas correctement.

# Configuration d'Elastic Load Balancing à l'aide du AWS kit d'outils pour Visual Studio
<a name="create_deploy_NET.managing.elb"></a>

Elastic Load Balancing est un service d'Amazon Web Services qui vous aide à améliorer la disponibilité et l'évolutivité de votre application. Ce service vous permet de répartir facilement les charges d'applications entre deux ou plusieurs EC2 instances Amazon. Elastic Load Balancing active la disponibilité par la redondance et prend en charge l'augmentation du trafic pour votre application. 

 Elastic Load Balancing permet de répartir et d'équilibrer automatiquement le trafic entrant de votre application sur toutes les instances que vous exécutez. Il vous permet également d'ajouter aisément de nouvelles instances lorsque vous avez besoin d'augmenter la capacité de votre application.

 Elastic Beanstalk fournit automatiquement Elastic Load Balancing lorsque vous déployez une application. Vous pouvez modifier la configuration de l'instance Amazon de l'environnement Elastic Beanstalk à l'aide EC2 de l'onglet **Load Balancer situé dans l'**onglet environnement de votre application dans Toolkit AWS for Visual Studio.

![\[Panneau de configuration Elastic Load Balancing pour Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer.png)


 Les sections suivantes décrivent les paramètres Elastic Load Balancing que vous pouvez configurer pour votre application.

## Ports
<a name="create_deploy_NET.managing.elb.ports"></a>

L'équilibreur de charge configuré pour traiter les demandes relatives à votre application Elastic Beanstalk envoie des demandes aux instances EC2 Amazon qui exécutent votre application. L'équilibreur de charge provisionné peut écouter les demandes sur les ports HTTP et HTTPS et acheminer les demandes vers les EC2 instances Amazon de votre AWS Elastic Beanstalk application. Par défaut, l'équilibreur de charge gère les demandes sur le port HTTP. Au moins un des ports (HTTP ou HTTPS) doit être activé.

![\[Configuration d'Elastic Load Balancing pour Elastic Beanstalk – ports\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-ports.png)


**Important**  
Assurez-vous que le port spécifié n'est pas verrouillé. S'il l'est, les utilisateurs ne pourront pas se connecter à votre application Elastic Beanstalk.

### Contrôle du port HTTP
<a name="create_deploy_NET.managing.elb.ports.http"></a>

Pour désactiver le port HTTP, sélectionnez **OFF (désactivé)** pour **HTTP Listener Port (Port d'écoute HTTP)**. Pour activer le port HTTP, vous sélectionnez un port HTTP (par exemple, **80**) dans la liste.

**Note**  
Pour accéder à votre environnement à l'aide d'un port autre que le port 80, par exemple le port 8080, vous pouvez ajouter un écouteur à l'équilibreur de charge existant et configurer le nouvel écouteur de sorte qu'il écoute sur ce port.  
Par exemple, en utilisant les [équilibreurs de charge AWS CLI pour Classic](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer-listeners.html), tapez la commande suivante, en la *LOAD\$1BALANCER\$1NAME* remplaçant par le nom de votre équilibreur de charge pour Elastic Beanstalk.  

```
aws elb create-load-balancer-listeners --load-balancer-name LOAD_BALANCER_NAME --listeners "Protocol=HTTP, LoadBalancerPort=8080, InstanceProtocol=HTTP, InstancePort=80"
```
Par exemple, à l'aide de [AWS CLI for Application Load Balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html), tapez la commande suivante, en la *LOAD\$1BALANCER\$1ARN* remplaçant par l'ARN de votre équilibreur de charge pour Elastic Beanstalk.  

```
aws elbv2 create-listener --load-balancer-arn LOAD_BALANCER_ARN --protocol HTTP --port 8080
```
Si vous souhaitez que Elastic Beanstalk surveille votre environnement, ne supprimez pas l'écouteur sur le port 80.

### Contrôle du port HTTPS
<a name="create_deploy_NET.managing.elb.ports.https"></a>

Elastic Load Balancing prend en charge le HTTPS/TLS protocole permettant de chiffrer le trafic pour les connexions des clients à l'équilibreur de charge. Les connexions entre l'équilibreur de charge et les EC2 instances utilisent le chiffrement en texte brut. Par défaut, le port HTTPS est désactivé.

**Pour activer le port HTTPS**

1. Créez un nouveau certificat à l'aide de AWS Certificate Manager (ACM) ou téléchargez un certificat et une clé vers Gestion des identités et des accès AWS (IAM). Pour plus d'informations sur une demande de certificat ACM, consultez [Request a Certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html) (Demande de certificat) dans le *AWS Certificate Manager User Guide* (Guide de l'utilisateur AWS Certificate Manager ). Pour plus d'informations sur l'importation de certificats tiers dans ACM, consultez [Importing Certificates](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) (Importation de certificats) dans le *AWS Certificate Manager User Guide* (Guide de l'utilisateur AWS Certificate Manager ). Si ACM n'est pas [disponible dans votre région](https://docs.aws.amazon.com/general/latest/gr/acm.html), utilisez Gestion des identités et des accès AWS (IAM) pour télécharger un certificat tiers. Les services ACM et IAM stockeront le certificat et fourniront un Amazon Resource Name (ARN) pour le certificat SSL. Pour de plus amples informations sur la création et le chargement des certificats dans IAM, veuillez consulter [Utilisation des certificats de serveur](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingServerCerts.html) dans le *Guide de l'utilisateur IAM*.

1. Spécifiez le port HTTPS en sélectionnant un port pour **HTTPS Listener Port (Port d'écoute HTTPS)**.  
![\[Configuration d'Elastic Load Balancing pour Elastic Beanstalk – SSL\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-elb-ssl.png)

1. Pour **SSL Certificate ID (ID du certificat SSL)**, saisissez l'ARN (Amazon Resources Name) de votre certificat SSL. Par exemple, **arn:aws:iam::123456789012:server-certificate/abc/certs/build** ou **arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678**. Utilisez le certificat SSL que vous avez créé ou chargé à l'étape 1.

Pour désactiver le port HTTPS, sélectionnez **OFF (désactivé)** pour **HTTPS Listener Port (Port d'écoute HTTPS)**.

## Vérifications de l'état
<a name="create_deploy_NET.managing.elb.healthchecks"></a>

La définition de la vérification de l'état inclut une URL à interroger pour l'intégrité de l'instance. Par défaut, Elastic Beanstalk utilise TCP:80 pour les conteneurs non hérités et HTTP:80 pour les conteneurs hérités. Vous pouvez remplacer l'URL par défaut par une URL qui correspond à une ressource existante dans votre application (par exemple, `/myapp/default.aspx`) en entrant celle-ci dans la zone **URL de vérification de l'état de l'application**. Si vous remplacez l'URL par défaut, Elastic Beanstalk utilise HTTP pour interroger la ressource. Pour vérifier si vous utilisez un type de conteneur hérité, consultez [Pourquoi certaines versions de plate-forme sont-elles marquées héritées ?](using-features.migration.md#using-features.migration.why)

 Vous pouvez contrôler les paramètres du bilan de santé à l'aide de la section **EC2 Instance Health Check** du panneau d'**équilibrage** de charge.

![\[Configuration d'Elastic Load Balancing pour Elastic Beanstalk – vérifications de l'état\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-healthcheck.png)


La définition de la vérification de l'état inclut une URL à interroger pour l'intégrité de l'instance. Remplacez l'URL par défaut par une URL qui correspond à une ressource existante dans votre application (par exemple, `/myapp/index.jsp`) en entrant celle-ci dans la zone **URL de vérification de l'état de l'application**. 

La liste suivante décrit les paramètres de vérification de l'état que vous pouvez définir pour votre application. 
+ Pour **Health Check Interval (secondes)**, entrez le nombre de secondes pendant lesquelles Elastic Load Balancing attend entre les tests de santé pour les EC2 instances Amazon de votre application.
+  Pour **Délai de vérification de l'état (secondes)**, spécifiez le nombre de secondes d'attente d'une réponse pour Elastic Load Balancing avant de considérer que l'instance ne répond pas.
+ Pour **Seuil du nombre de vérifications de l'état saines** et **Seuil du nombre de vérifications de l'état non saines**, spécifiez le nombre d'analyses d'URL consécutives réussies et non réussies avant qu'Elastic Load Balancing ne modifie l'état de l'instance. Par exemple, si vous spécifiez **5** pour **Seuil du nombre de vérifications de l'état non saines**, l'URL doit renvoyer un message d'erreur ou une expiration du délai cinq fois de suite avant qu'Elastic Load Balancing considère que la vérification de l'état est un échec.

## Séances
<a name="create_deploy_NET.managing.elb.sessions"></a>

Par défaut, un équilibreur de charge achemine chaque demande de façon indépendante à l'instance de serveur ayant la plus petite charge. Par comparaison, une session permanente lie la séance d'un utilisateur à une instance de serveur spécifique afin que toutes les demandes provenant de l'utilisateur pendant la séance soient envoyées à la même instance de serveur. 

 Elastic Beanstalk utilise des cookies HTTP générés par l'équilibreur de charge lorsque des sessions permanentes sont activées pour une application. L'équilibreur de charge utilise un cookie spécial généré par l'équilibreur de charge pour suivre l'instance d'application pour chaque demande. Lorsque l'équilibreur de charge reçoit une demande, il vérifie d'abord si ce cookie est présent dans la demande. Si tel est le cas, la demande est envoyée à l'instance d'application spécifiée dans le cookie. S'il n'y a pas de cookie, l'équilibreur de charge choisit une instance d'application à partir de l'algorithme d'équilibrage de charge existant. Un cookie est inséré dans la réponse pour lier les demandes suivantes provenant du même utilisateur à cette instance d'application. La configuration de la stratégie définit l'expiration d'un cookie, ce qui établit la durée de validité de chaque cookie. 

Vous pouvez utiliser la section **Sessions** dans l'onglet **Équilibreur de charge** afin d'indiquer si l'équilibreur de charge pour votre application autorise ou non la permanence de session.

![\[Configuration d'Elastic Load Balancing pour Elastic Beanstalk – sessions\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-loadbalancer-sessions.png)


 Pour de plus amples informations Elastic Load Balancing, veuillez consulter le [Guide du développeur Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/). 

# Configuration d'Auto Scaling à l'aide du AWS kit d'outils pour Visual Studio
<a name="create_deploy_NET.managing.as"></a>

Amazon EC2 Auto Scaling est un service Web Amazon conçu pour lancer ou mettre fin automatiquement aux EC2 instances Amazon en fonction de déclencheurs définis par l'utilisateur. Les utilisateurs peuvent configurer des *groupes Auto Scaling* et y associer des *déclencheurs* afin de mettre à l'échelle automatiquement les ressources de calcul selon des métriques comme l'utilisation de la bande passante ou l'utilisation de l'UC. Amazon EC2 Auto Scaling travaille avec Amazon CloudWatch pour récupérer les métriques des instances de serveur exécutant votre application.

Amazon EC2 Auto Scaling vous permet de prendre un groupe d' EC2 instances Amazon et de définir différents paramètres pour que le nombre de ce groupe augmente ou diminue automatiquement. Amazon EC2 Auto Scaling peut ajouter ou supprimer EC2 des instances Amazon de ce groupe afin de vous aider à gérer facilement les modifications du trafic vers votre application. 

 Amazon EC2 Auto Scaling surveille également l'état de santé de chaque EC2 instance Amazon lancée. Si une instance se termine de façon inattendue, Amazon EC2 Auto Scaling détecte la résiliation et lance une instance de remplacement. Cette fonctionnalité vous permet de maintenir automatiquement un nombre fixe et souhaité d' EC2 instances Amazon. 

Elastic Beanstalk fournit EC2 Amazon Auto Scaling pour votre application. Vous pouvez modifier la configuration de l'instance Amazon de l'environnement Elastic Beanstalk à l'aide EC2 de l'onglet **Auto Scaling situé** dans l' AWS onglet Environnement de votre application dans le Toolkit for Visual Studio.

![\[Panneau de configuration d'Auto Scaling pour Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling.png)


La section suivante explique comment configurer les paramètres Auto Scaling pour votre application. 

## Lancement de la configuration
<a name="create_deploy_NET.managing.as.launchconfig"></a>

Vous pouvez modifier la configuration de lancement pour contrôler la manière dont votre application Elastic Beanstalk approvisionne les ressources EC2 Amazon Auto Scaling.

Les zones **Minimum Instance Count (Nombre minimum d'instances)** et **Maximum Instance Count (Nombre maximum d'instances)** vous permettent de spécifier les tailles maximale et minimale du groupe Auto Scaling utilisé par votre application Elastic Beanstalk.

![\[Fenêtre de configuration du lancement d'Auto Scaling pour Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling-launchconfig.png)


**Note**  
Pour conserver un nombre fixe d' EC2 instances Amazon, définissez le nombre **minimum d'instances** et le **nombre maximal d'instances** sur la même valeur.

La case **Zones de disponibilité** vous permet de spécifier le nombre de zones de disponibilité dans lesquelles vous souhaitez que vos EC2 instances Amazon se trouvent. Il est important de définir ce nombre si vous souhaitez créer des applications à tolérance de panne. Si une zone de disponibilité est défaillante, l'exécution de vos instances se poursuivra dans vos autres zones de disponibilité. 

**Note**  
Il est actuellement impossible de spécifier la zone de disponibilité dans laquelle se situera votre instance. 

## Triggers
<a name="create_deploy_NET.managing.as.trigger"></a>

*Un *déclencheur* est un mécanisme Amazon EC2 Auto Scaling que vous configurez pour indiquer au système quand vous souhaitez augmenter (augmenter) le nombre d'instances et quand vous souhaitez le diminuer *(*augmenter) le nombre d'instances.* Vous pouvez configurer des déclencheurs pour qu'ils se *déclenchent* sur n'importe quelle métrique publiée sur Amazon CloudWatch, telle que l'utilisation du processeur, et déterminer si les conditions que vous avez spécifiées sont remplies. Lorsque les seuils inférieurs ou supérieurs des conditions que vous avez spécifiées pour la métrique ont été dépassés pendant la période spécifiée, le déclencheur lance un processus de longue durée que nous appelons une *activité de dimensionnement*.

Vous pouvez définir un déclencheur de dimensionnement pour votre application Elastic Beanstalk à l'aide de Toolkit for AWS Visual Studio.

![\[Déclencheur Auto Scaling pour Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-autoscaling-triggers.png)


Les déclencheurs Amazon EC2 Auto Scaling fonctionnent en surveillant une CloudWatch métrique Amazon spécifique pour une instance. Les déclencheurs incluent l'utilisation de l'UC, le trafic réseau et l'activité du disque. Utilisez le paramètre **Mesure du déclencheur** pour sélectionner une métrique associée à votre déclencheur.

La liste suivante décrit les paramètres de déclenchement que vous pouvez configurer à l'aide de la console AWS de gestion.
+ Vous pouvez spécifier les statistiques que le déclencheur devrait utiliser. Vous pouvez sélectionner **Minimum**, **Maximum**, **Sum (Somme)** ou **Average (Moyenne)** pour **Statistique du déclencheur**.
+ Pour **Unité de mesure**, spécifiez l'unité de mesure du déclencheur.
+ La valeur figurant dans le champ **Période de mesure** indique à quelle fréquence Amazon CloudWatch mesure les statistiques pour votre déclencheur. La valeur **Durée de la faille** correspond à la durée pendant laquelle une métrique peut se situer au-delà de sa limite définie (telle que spécifiée dans **Seuil supérieur** et **Seuil inférieur**) avant l'activation du déclencheur.
+ Pour l'incrément d'**échelle de violation supérieur et l'incrément** d'**échelle de violation inférieur, spécifiez le nombre** d' EC2instances Amazon à ajouter ou à supprimer lors de l'exécution d'une activité de dimensionnement. 

Pour plus d'informations sur Amazon EC2 Auto Scaling, consultez la section *Amazon EC2 Auto Scaling* de la [documentation Amazon Elastic Compute Cloud](https://aws.amazon.com/documentation/ec2/).

# Configuration des notifications à l'aide du AWS kit d'outils pour Visual Studio
<a name="create_deploy_NET.container.sns"></a>

Elastic Beanstalk utilise Amazon Simple Notification Service (Amazon SNS) pour vous informer des événements importants qui concernent votre application. Pour activer les notifications Amazon SNS, il suffit d'entrer votre adresse e-mail dans la zone **Adresse e-mail**. Pour désactiver ces notifications, supprimez votre adresse e-mail de la zone.

![\[Fenêtre de notifications Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-notifications.png)


# Configuration de conteneurs .NET à l'aide du AWS kit d'outils pour Visual Studio
<a name="create_deploy_NET.container"></a>

 Le panneau **Container/.NET Options** vous permet d'affiner le comportement de vos EC2 instances Amazon et d'activer ou de désactiver la rotation des journaux Amazon S3. Vous pouvez utiliser le AWS Toolkit for Visual Studio pour configurer les informations de votre conteneur.

**Note**  
Pour modifier vos paramètres de configuration sans aucune interruption, échangez le CNAME pour vos environnements. Pour plus d'informations, consultez [Déploiements bleu/vert avec Elastic Beanstalk](using-features.CNAMESwap.md).

Si vous le souhaitez, vous pouvez étendre le nombre de paramètres. Pour plus d'informations sur l'extension des paramètres, consultez [Paramètres d'option](ebextensions-optionsettings.md).

**Pour accéder au panneau d'options Container/.NET de votre application Elastic Beanstalk**

1. Dans AWS Toolkit for Visual Studio, développez le nœud Elastic Beanstalk et le nœud de votre application. 

1. Dans **AWS Explorer** (Explorateur AWS ), double-cliquez sur votre environnement Elastic Beanstalk.

1. En bas du volet **Présentation**, cliquez sur l'onglet **Configuration**.

1. Sous **Container (Conteneur)**, vous pouvez configurer les options de conteneur.   
![\[Panneau de conteneur Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-container.png)

## Options du conteneur .NET
<a name="create_deploy_NET.container.vs.options"></a>

Vous pouvez choisir la version de .NET Framework pour votre application. Choisissez 2.0 ou 4.0 pour **Runtime cible**. Sélectionnez **Activer les applications 32 bits** si vous souhaitez activer des applications 32 bits.

## Paramètres de l'application
<a name="create_deploy_NET.container.vs.options.envprop"></a>

La section **Paramètres de l'application** vous permet de spécifier des variables d'environnement que vous pouvez lire depuis votre code d'application. 

![\[Panneau de conteneur Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-container-envproperties.png)


# Gestion des comptes
<a name="create_deploy_NET.accounts"></a>

## 
<a name="create_deploy_NET.accounts.details"></a>

Si vous souhaitez configurer différents AWS comptes pour effectuer différentes tâches, telles que les tests, la mise en scène et la production, vous pouvez ajouter, modifier et supprimer des comptes à l'aide du AWS Toolkit for Visual Studio.

**Pour gérer plusieurs comptes**

1.  Dans Visual Studio, dans le menu **Affichage**, cliquez sur **AWS Explorateur**.

1.  À côté de la liste **Account (Compte)**, cliquez sur le bouton **Add Account (Ajouter un compte)**.   
![\[AWS onglet explorateur\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-aws-explorer-tab.png)

    La boîte de dialogue **Add Account (Ajouter un compte)** apparaît.   
![\[Boîte de dialogue Add Account (Ajouter un compte)\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-add-account.png)

1. Renseignez les informations requises. 

1.  Les informations de votre compte apparaissent désormais dans l'onglet **AWS Explorateur**. Lorsque vous publiez sur Elastic Beanstalk, vous pouvez sélectionner le compte que vous souhaitez utiliser. 

# Affichage de la liste des instances de serveur et connexion à ces instances
<a name="create_deploy_NET.ec2connect"></a>

Vous pouvez consulter la liste des EC2 instances Amazon exécutant votre environnement applicatif Elastic Beanstalk via le Toolkit for AWS Visual Studio ou depuis la console de gestion. AWS Vous pouvez vous connecter à ces instances à l'aide d'une connexion Bureau à distance. Pour plus d'informations sur le référencement et la connexion à vos instances de serveur à l'aide de la console AWS de gestion, consultez[Affichage de la liste des instances de serveur et connexion à ces instances](using-features.ec2connect.md). La section suivante vous explique comment visualiser et vous connecter à vos instances de serveur à l'aide du AWS Toolkit for Visual Studio.

**Pour consulter les EC2 instances Amazon d'un environnement et s'y connecter**

1.  Dans Visual Studio, dans **AWS Explorer**, développez le EC2 nœud **Amazon** et double-cliquez sur **Instances**. 

1.  Cliquez avec le bouton droit sur l'ID d' EC2 instance de l'instance Amazon exécutée dans l'équilibreur de charge de votre application dans la colonne **Instance** et sélectionnez **Open Remote Desktop** dans le menu contextuel.   
![\[Boîte de dialogue Open remote desktop (Ouvrir le bureau à distance)\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-rdp-login.png)

1.  Sélectionnez **Utiliser une EC2 paire de clés pour vous connecter** et collez le contenu du fichier de clé privée que vous avez utilisé pour déployer votre application dans le champ **Clé privée**. Sinon, entrez vos nom utilisateur et mot de passe dans les zones de texte **User name (Nom d'utilisateur)** and **Password (Mot de passe)**.
**Note**  
Si la paire de clés est stockée à l'intérieur du Toolkit, la zone de texte ne s'affiche pas.

1. Cliquez sur **OK**.

# Surveillance de l'intégrité d'une application
<a name="create_deploy_NET.healthstatus"></a>

Lorsque vous exécutez un site web de production, il est important de savoir que votre application est disponible et répond aux demandes. Pour aider à la surveillance de la réactivité de votre application, Elastic Beanstalk offre des fonctions où vous pouvez surveiller des statistiques de votre application et créer des alertes qui se déclenchent quand des seuils sont dépassés.

Pour de plus amples informations sur la surveillance de l'état fournie par Elastic Beanstalk, veuillez consulter [Création de rapports d'intégrité de base](using-features.healthstatus.md).

Vous pouvez accéder aux informations opérationnelles relatives à votre application en utilisant le AWS Toolkit for Visual Studio ou la console AWS de gestion.

La boîte à outils affiche le statut de votre environnement et l'état de votre application dans le champ **Status (Statut)**.

![\[Statut de l'état d'Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-env-status.png)


**Pour surveiller l'intégrité de l'application**

1. Dans le AWS Toolkit for Visual Studio, dans **AWS Explorer**, développez le nœud Elastic Beanstalk, puis étendez le nœud de votre application. 

1. Cliquez avec le bouton droit sur votre environnement Elastic Beanstalk, puis cliquez sur **View Status (Afficher le statut)**.

1. Dans l'onglet de l'environnement de votre application, cliquez sur **Monitoring (Surveillance)**.

   Le panneau **Monitoring (Surveillance)** comprend un ensemble de graphiques illustrant l'utilisation des ressources pour votre environnement d'application spécifique.  
![\[Panneau de surveillance Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-monitoring.png)
**Note**  
Par défaut, la plage de temps est définie sur la dernière heure. Pour modifier ce paramètre, dans la liste **Time Range (Plage horaire)**, cliquez sur une plage de temps différente.

Vous pouvez utiliser le AWS Toolkit for Visual Studio ou la console AWS de gestion pour afficher les événements associés à votre application.

**Pour afficher des événements d'application**

1. Dans le AWS Toolkit for Visual Studio, dans **AWS Explorer**, développez le nœud Elastic Beanstalk et le nœud de votre application. 

1. **Cliquez avec le bouton droit sur votre **AWS environnement** Elastic Beanstalk dans Explorer, puis cliquez sur Afficher le statut.** 

1. Dans l'onglet de l'environnement de votre application, cliquez sur **Events (Événements)**.  
![\[Panneau des événements Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/elasticbeanstalk/latest/dg/images/aeb-vs-events.png)

# Déploiement d'applications Elastic Beanstalk dans .NET à l'aide d'outils de déploiement AWS
<a name="deploy_NET_standalone_tool"></a>

AWS propose deux outils de ligne de commande pour déployer des applications .NET Core et ASP.NET Core sur Elastic Beanstalk :
+ AWS Outil de **déploiement .NET : outil** de ligne de commande moderne qui simplifie le déploiement d'applications .NET sur des AWS services, notamment Elastic Beanstalk. Cet outil fournit une expérience interactive et peut détecter automatiquement le meilleur AWS service pour votre application. Pour plus d'informations, consultez la section [Outil de déploiement AWS .NET](https://github.com/aws/aws-dotnet-deploy?tab=readme-ov-file#aws-net-deployment-tool).
+ **AWS Extensions pour .NET CLI** : ensemble d'extensions .NET CLI qui fournissent des commandes pour déployer des applications .NET Core sur Elastic AWS Beanstalk et d'autres services. Ces extensions s'intègrent au flux de travail standard .NET CLI. Pour plus d'informations, consultez [AWS Extensions pour .NET CLI](https://github.com/aws/aws-extensions-for-dotnet-cli?tab=readme-ov-file#aws-elastic-beanstalk-amazonelasticbeanstalktools).

# Migration de votre application .NET sur site vers Elastic Beanstalk
<a name="dotnet-onpremmigration"></a>

AWS Elastic Beanstalk fournit un chemin de migration rationalisé pour vos applications Windows exécutées sur Internet Information Services (IIS) via l'interface de ligne de commande Elastic Beanstalk (EB CLI). La **eb migrate** commande découvre automatiquement vos sites, applications et répertoires virtuels IIS, préserve leurs configurations et les déploie AWS dans le cloud.

Cette fonctionnalité de migration intégrée propose une approche plus simple qui réduit la complexité et le temps généralement associés aux migrations vers le cloud. Le processus de migration permet de préserver les fonctionnalités de l'application et l'intégrité de la configuration pendant la transition vers AWS.

Pour obtenir des instructions complètes et détaillées sur la migration de vos applications IIS vers AWS Elastic Beanstalk, reportez-vous au [Migration des applications IIS vers Elastic Beanstalk](dotnet-migrating-applications.md) chapitre de ce guide.

# Recommandations pour les composants retirés de Windows Server sur Elastic Beanstalk
<a name="dotnet-deprecation-recommendations"></a>

Cette rubrique fournit des recommandations si vos applications s'exécutent actuellement sur les branches de la plate-forme Windows Server 2012 R2 retirées. Il aborde également la question de la prise en charge obsolète des versions des protocoles TLS 1.0 et 1.1 sur nos points de terminaison d'API de AWS service et sur les branches de plateforme concernées.

## Mise hors service des branches de la plateforme Windows Server 2012 R2
<a name="dotnet-retired-branches"></a>

Elastic Beanstalk a retiré les branches de la plateforme Windows Server 2012 R2 le [4 décembre 2023 et AMIs a rendu privées les branches](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html) associées à ces plateformes le 10 avril 2024. Cette action empêche le lancement d'instances dans vos environnements Windows Server 2012 qui utilisent l'AMI Beanstalk par défaut.

Si certains de vos environnements s'exécutent sur des branches de plate-forme Windows retirées, nous vous recommandons de les migrer vers l'une des plateformes Windows Server suivantes, qui sont à jour et entièrement prises en charge :
+ Windows Server 2022 avec IIS 10.0 version 2.x
+ Windows Server 2019 avec IIS 10.0 version 2.x

Pour des considérations complètes sur la migration, consultez [Migration à partir de versions majeures antérieures de la plateforme Windows Server](dotnet-v2migration.md#dotnet-v2migration.migration).

Pour plus d'informations sur l'obsolescence de la plateforme, consultez [Stratégie de prise en charge de la plateforme Elastic Beanstalk](platforms-support-policy.md).

**Note**  
Si vous ne parvenez pas à effectuer la migration vers ces plateformes entièrement prises en charge, nous vous recommandons d'utiliser une image personnalisée AMIs créée avec Windows Server 2012 R2 ou Windows Server 2012 R2 Core AMIs comme image de base, si ce n'est pas déjà fait. Pour obtenir des instructions complètes, consultez [Conservation de l'accès à une Amazon Machine Image (AMI) pour une plateforme retirée](using-features.customenv-env-copy.md). Contactez le [AWS Support Center](https://console.aws.amazon.com/support/home#/) si vous avez besoin d'un accès temporaire à une AMI pendant que vous effectuez l'une de ces étapes de migration.

## Compatibilité avec TLS 1.2
<a name="tls-1-2-enforcement."></a>

Au 31 décembre 2023, AWS a commencé à appliquer pleinement le protocole TLS 1.2 sur tous les points de terminaison de l' AWS API. Cette action a supprimé la possibilité d'utiliser les versions 1.0 et 1.1 de TLS avec tous AWS APIs. Cette information a été initialement communiquée le [28 juin 2022](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/). Pour éviter tout risque d'impact sur la disponibilité, mettez à niveau tous les environnements exécutant les versions de plate-forme identifiées ici vers une version plus récente dès que possible, si ce n'est déjà fait.

**Incidence potentielle**  
Les versions des plateformes Elastic Beanstalk qui exécutent le protocole TLS v1.1 ou une version antérieure sont concernées. Cette modification a un impact sur les actions environnementales qui incluent, sans toutefois s'y limiter, les déploiements de configuration, les déploiements d'applications, le dimensionnement automatique, le lancement d'un nouvel environnement, la rotation des journaux, les rapports de santé améliorés et la publication des journaux d'applications dans le compartiment Amazon S3 associé à vos applications.

**Versions de la plateforme Windows concernées**  
Il est conseillé aux clients disposant d'environnements Elastic Beanstalk sur la version de plateforme suivante de mettre à niveau chacun de leurs environnements correspondants vers la version de plateforme Windows 2.8.3 ou une version ultérieure, publiée le [18 février 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-02-18-windows.html).
+ Windows Server 2019 – version de plateforme 2.8.2 ou versions antérieures

[Il est conseillé aux clients disposant d'environnements Elastic Beanstalk sur les versions de plateforme suivantes de mettre à niveau chacun de leurs environnements correspondants vers la version de plateforme Windows 2.10.7 ou une version ultérieure, publiée le 28 décembre 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-12-28-windows.html).
+ Windows Server 2016 – version de plateforme 2.10.6 ou versions antérieures
+ Windows Server 2012 : toutes les versions de la plateforme ; cette plateforme a été retirée le [4 décembre 2023](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html) 
+ Windows Server 2008 – toutes les versions de plateforme ; cette plateforme a été retirée le [28 octobre 2019](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2019-10-28-windows.html) 

Pour une liste des versions de plateforme Windows Server prises en charge les plus récentes, veuillez consulter la rubrique [Plateformes prises en charge](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net) dans le guide *Plateformes AWS Elastic Beanstalk *. 

Pour plus de détails et de bonnes pratiques sur la mise à jour de votre environnement, consultez [Mise à jour de la version de la plateforme de votre environnement Elastic Beanstalk](using-features.platform.upgrade.md).