Définition d'options de configuration avant la création de l'environnement - AWS Elastic Beanstalk

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

AWS Elastic Beanstalk prend en charge un grand nombre d'options de configuration qui vous permettent de modifier les paramètres qui sont appliqués aux ressources présentes dans 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. Consultez Priorité 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.

Fichiers de configuration (.ebextensions)

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é. 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 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.

Configurations enregistrées

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.

Console Elastic Beanstalk

Pour créer une configuration enregistrée (console Elastic Beanstalk)
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

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

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Choisissez Actions, (Actions) puis Save configuration (Enregistrer la configuration).

  4. 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

L'interface de ligne de commande (CLI) EB fournit également des sous-commandes permettant d'interagir avec des configurations enregistrées sous eb config :

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

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

  3. Chargez la configuration enregistrée dans S3 :

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

AWS CLI

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" } ] }
  2. 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

Si vous utilisez l'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 dans JSON est utile si vous utilisez l'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:

~/ebconfigs/healthcheckurl.json

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

Configuration de l'interface de ligne de commande (CLI) EB

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.

~/workspace/my-app/.elasticbeanstalk/config.yml

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