

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éfinition d'options de configuration avant la création de l'environnement
<a name="environment-configuration-methods-before"></a>

AWS Elastic Beanstalk prend en charge un grand nombre d'[options de configuration](command-options.md) qui vous permettent de modifier les paramètres appliqués aux ressources de votre environnement. Plusieurs de ces options ont des valeurs par défaut qui peuvent être ignorées pour personnaliser votre environnement. D'autres options peuvent être configurées pour activer des fonctionnalités supplémentaires.

Elastic Beanstalk prend en charge deux méthodes d'enregistrement des paramètres des options de configuration. Les fichiers de configuration au format YAML ou JSON peuvent être inclus dans le code source de votre application dans un répertoire nommé `.ebextensions` et déployés dans le cadre du bundle de fichiers source de votre application. Vous créez et gérez des fichiers de configuration localement.

Les configurations enregistrées sont des modèles que vous créez à partir d'un environnement en cours d'exécution ou du fichier d'options JSON et que vous stockez dans Elastic Beanstalk. Les configurations existantes enregistrées peuvent être étendues pour créer une nouvelle configuration.

**Note**  
Les paramètres définis dans les fichiers de configuration et les configurations enregistrées ont une priorité moindre que les paramètres configurés pendant ou après la création de l'environnement, y compris les valeurs recommandées appliquées par la console Elastic Beanstalk et l'[interface de ligne de commande (CLI) EB.](eb-cli3.md) Consultez [Priorité](command-options.md#configuration-options-precedence) pour plus de détails.

Les options peuvent aussi être spécifiées dans un document JSON et transmises directement à Elastic Beanstalk lorsque vous créez ou mettez à jour un environnement avec l'interface de ligne de commande (CLI) EB ou l' AWS CLI. Les options fournies directement à Elastic Beanstalk de cette manière remplacent toutes les autres méthodes.

Pour obtenir une liste complète des options disponibles, veuillez consulter [Options de configuration](command-options.md).

**Topics**
+ [Fichiers de configuration (`.ebextensions`)](#configuration-options-before-ebextensions)
+ [Configurations enregistrées](#configuration-options-before-savedconfig)
+ [Document JSON](#configuration-options-before-json)
+ [Configuration de l'interface de ligne de commande (CLI) EB](#configuration-options-before-configyml)

## Fichiers de configuration (`.ebextensions`)
<a name="configuration-options-before-ebextensions"></a>

Utilisez `.ebextensions` pour configurer les options qui sont requises pour que votre application fonctionne et fournissez des valeurs par défaut pour d'autres options qui peuvent être remplacées à un niveau supérieur de [priorité](command-options.md#configuration-options-precedence). Les options spécifiées dans `.ebextensions` ont le niveau de priorité le plus bas et sont remplacées par des paramètres de n'importe quel autre niveau.

Pour utiliser des fichiers de configuration, créez un dossier nommé `.ebextensions` au niveau supérieur du code source de votre projet. Ajoutez un fichier avec l'extension `.config` et spécifiez les options de la façon suivante :

```
option_settings:
  - namespace:  namespace
    option_name:  option name
    value:  option value
  - namespace:  namespace
    option_name:  option name
    value:  option value
```

Par exemple, le fichier de configuration suivant définit l'URL de vérification de l'état de l'application sur `/health`:

`healthcheckurl.config`

```
option_settings:
  - namespace:  aws:elasticbeanstalk:application
    option_name:  Application Healthcheck URL
    value:  /health
```

Dans JSON :

```
{
 "option_settings" :
    [
      {
        "namespace" : "aws:elasticbeanstalk:application",
        "option_name" : "Application Healthcheck URL",
        "value" : "/health"
      }
    ]
}
```

Cela configure l'équilibreur de charge Elastic Load Balancing dans votre environnement Elastic Beanstalk pour effectuer une requête HTTP vers le chemin d'accès `/health` à chaque instance EC2 afin de déterminer si elle est saine ou non.

**Note**  
YAML utilise une mise en retrait cohérente. Respectez le niveau de retrait lorsque vous remplacez du contenu dans un exemple de fichier de configuration et veillez à ce que votre éditeur de texte utilise des espaces, et non des caractères de tabulation, pour la mise en retrait.

Incluez le répertoire `.ebextensions` dans le [bundle de fichiers source de l'application](applications-sourcebundle.md) et déployez-le dans un environnement Elastic Beanstalk nouveau ou existant.

Les fichiers de configuration prennent en charge plusieurs sections en plus des `option_settings` pour personnaliser le logiciel et les fichiers qui s'exécutent sur les serveurs dans votre environnement. Pour plus d'informations, consultez [.Ebextensions](ebextensions.md).

## Configurations enregistrées
<a name="configuration-options-before-savedconfig"></a>

Créez une configuration enregistrée pour enregistrer des paramètres que vous avez appliqués à un environnement existant pendant ou après la création de l'environnement à l'aide de la console Elastic Beanstalk, de l'interface de ligne de commande (CLI) EB ou de l' AWS CLI. Les configurations enregistrées appartiennent à une application et peuvent être appliquées aux environnements nouveaux ou existants pour cette application.

**Topics**
+ [Console Elastic Beanstalk](#configuration-options-before-savedconfig-console)
+ [INTERFACE DE LIGNE DE COMMANDE (CLI) EB](#configuration-options-before-savedconfig-ebcli)
+ [AWS CLI](#configuration-options-before-savedconfig-awscli)

### Console Elastic Beanstalk
<a name="configuration-options-before-savedconfig-console"></a>

**Pour créer une configuration enregistrée (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. Choisissez **Actions**, (Actions) puis **Save configuration** (Enregistrer la configuration).

1. Utilisez la boîte de dialogue à l'écran pour terminer l'action.

Les configurations enregistrées sont stockées dans le compartiment S3 Elastic Beanstalk, dans un dossier nommé en fonction de votre application. Par exemple, les configurations pour une application nommée `my-app` dans la région us-west-2 pour le compte n° 123456789012 sont disponibles à l'emplacement `s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app`.

### INTERFACE DE LIGNE DE COMMANDE (CLI) EB
<a name="configuration-options-before-savedconfig-ebcli"></a>

L'[interface de ligne de commande (CLI) EB](eb-cli3.md) fournit également des sous-commandes permettant d'interagir avec des configurations enregistrées sous [**eb config**](eb3-config.md) :

**Pour créer une configuration enregistrée (CLI EB)**

1. Enregistrez la configuration actuelle de l'environnement attaché :

   ```
   ~/project$ eb config save --cfg my-app-v1
   ```

   L'interface de ligne de commande (CLI) EB enregistre la configuration dans `~/project/.elasticbeanstalk/saved_configs/my-app-v1.cfg.yml`

1. Modifiez la configuration sauvegardée localement si nécessaire.

1. Chargez la configuration enregistrée dans S3 :

   ```
   ~/project$ eb config put my-app-v1
   ```

### AWS CLI
<a name="configuration-options-before-savedconfig-awscli"></a>

Créez une configuration enregistrée à partir d'un environnement en cours d'exécution avec `aws elasticbeanstalk create-configuration-template`

**Pour créer une configuration enregistrée (AWS CLI)**

1. Identifiez l'ID d'environnement de votre environnement Elastic Beanstalk avec `describe-environments`:

   ```
   $ aws elasticbeanstalk describe-environments --environment-name my-env
   {
       "Environments": [
           {
               "ApplicationName": "my-env",
               "EnvironmentName": "my-env",
               "VersionLabel": "89df",
               "Status": "Ready",
               "Description": "Environment created from the EB CLI using \"eb create\"",
               "EnvironmentId": "e-vcghmm2zwk",
               "EndpointURL": "awseb-e-v-AWSEBLoa-1JUM8159RA11M-43V6ZI1194.us-west-2.elb.amazonaws.com",
               "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.2 running Multi-container Docker 1.7.1 (Generic)",
               "CNAME": "my-env-nfptuqaper.elasticbeanstalk.com",
               "Health": "Green",
               "AbortableOperationInProgress": false,
               "Tier": {
                   "Version": " ",
                   "Type": "Standard",
                   "Name": "WebServer"
               },
               "HealthStatus": "Ok",
               "DateUpdated": "2015-10-01T00:24:04.045Z",
               "DateCreated": "2015-09-30T23:27:55.768Z"
           }
       ]
   }
   ```

1. Enregistrez la configuration actuelle de l'environnement avec `create-configuration-template`:

   ```
   $ aws elasticbeanstalk create-configuration-template --environment-id e-vcghmm2zwk --application-name my-app --template-name v1
   ```

Elastic Beanstalk enregistre la configuration dans votre compartiment Elastic Beanstalk dans Amazon S3.

## Document JSON
<a name="configuration-options-before-json"></a>

Si vous utilisez le AWS CLI pour créer et mettre à jour des environnements, vous pouvez également fournir des options de configuration au format JSON. Une bibliothèque de fichiers de configuration au format JSON est utile si vous utilisez le AWS CLI pour créer et gérer des environnements.

Par exemple, les ensembles de documents JSON suivants définissent l'URL d'intégrité de l'application sur `/health`:

**\$1/ebconfigs/healthcheckurl.json**

```
[
  {
    "Namespace": "aws:elasticbeanstalk:application",
    "OptionName": "Application Healthcheck URL",
    "Value": "/health"
  }
]
```

## Configuration de l'interface de ligne de commande (CLI) EB
<a name="configuration-options-before-configyml"></a>

En plus de prendre en charge les configurations enregistrées et la configuration de l'environnement direct avec les commandes **eb config**, l'interface de ligne de commande (CLI) EB a un fichier de configuration avec une option nommée `default_ec2_keyname` que vous pouvez utiliser pour spécifier une paire de clés Amazon EC2 pour l'accès SSH aux instances dans votre environnement. L'interface de ligne de commande (CLI) EB utilise cette option pour définir l'option de configuration `EC2KeyName` dans l'espace de noms `aws:autoscaling:launchconfiguration`. 

**\$1/ .yml workspace/my-app/.elasticbeanstalk/config**

```
branch-defaults:
  master:
    environment: my-env
  develop:
    environment: my-env-dev
deploy:
  artifact: ROOT.war
global:
  application_name: my-app
  default_ec2_keyname: my-keypair
  default_platform: Tomcat 8 Java 8
  default_region: us-west-2
  profile: null
  sc: git
```