Comment puis-je transmettre des variables de mon environnement Elastic Beanstalk vers des instances Linux et Windows ?

Dernière mise à jour : 08/10/2020

Je souhaite transmettre des variables de mon environnement AWS Elastic Beanstalk vers des instances Linux et Windows Amazon Elastic Compute Cloud (Amazon EC2).

Brève description

Vous pouvez transmettre des variables d'environnement aux instances Amazon EC2 en utilisant les éléments suivants :

Remarque : si vous recevez des erreurs lors de l'exécution des commandes AWS CLI, assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

Résolution

Important : pour transmettre des informations confidentielles (par exemple, un mot de passe de base de données) à l'instance, suivez les instructions de la section Stockage sécurisé des clés privées dans Amazon S3.

Transmission de vos variables d'environnement

Choisissez l'une des méthodes suivantes pour transmettre vos variables d'environnement.

Ouvrez la console Elastic Beanstalk :

1.    Ouvrez la console Elastic Beanstalk.

2.    Sélectionnez votre application, puis choisissez Configuration dans le volet de navigation.

3.    Pour la catégorie Software (Logiciels), choisissez Modify (Modifier).

4.    Dans la section Environment properties (Propriétés de l'environnement), entrez les paires clé-valeur des propriétés d'environnement que vous souhaitez transmettre à vos instances.

5.    Sélectionnez Apply (Appliquer).

Important : Veillez à prendre en compte les limites des propriétés d'environnement.

Utilisation de l'interface de ligne de commande EB :

Pour définir une variable d'environnement dans l'interface de ligne de commande EB, exécutez la commande suivante :

eb setenv key=value

Dans l'exemple suivant, la variable d'environnement ExampleVar est définie :

$ eb setenv ExampleVar=ExampleValue
2018-07-11 21:05:25    INFO: Environment update is starting.
2018-07-11 21:05:29    INFO: Updating environment tmp-dev's configuration settings.
2018-07-11 21:06:50    INFO: Successfully deployed new configuration to environment.
2018-07-11 21:06:51    INFO: Environment update completed successfully.

Pour définir plusieurs propriétés d'environnement, utilisez la commande suivante :

$ eb setenv foo=bar JDBC_CONNECTION_STRING=hello PARAM4= PARAM5=

Utilisation des paramètres d'option :

Vous pouvez utiliser les fichiers de configuration Elastic Beanstalk pour définir les propriétés d'environnement et les options de configuration dans votre code source.

Pour définir les propriétés d'environnement, utilisez l'espace de noms aws:elasticbeanstalk:application:environment.

Consultez l'exemple .ebextensions/options.config suivant :

option_settings:
  aws:elasticbeanstalk:application:environment:
    API_ENDPOINT: www.example.com/api

Utilisation de l'interface de ligne de commande AWS :

Pour définir les propriétés d'environnement dans l'interface de ligne de commande AWS, exécutez la commande suivante :

$ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://options.json

Par exemple :

[
  {
    "Namespace": "aws:elasticbeanstalk:application:environment",
    "OptionName": "API_ENDPOINT",
    "Value": "www.example.com/api"
  },
  {
    "Namespace": "aws:elasticbeanstalk:application:environment",
    "OptionName": "URL",
    "Value": "http://myurl.com"
  }
]

Accès à vos variables d'environnement

Remarque : les propriétés d'environnement ne sont pas exportées automatiquement vers le shell, même si elles sont présentes dans l'instance. À la place, les propriétés d'environnement sont mises à la disposition de l'application via la pile dans laquelle elle s'exécute, en fonction de la plateforme que vous utilisez.

Pour accéder à vos variables d'environnement, consultez Accès aux propriétés d'environnement.

Pour accéder à vos variables d'environnement en dehors du code d'application (par exemple, dans un script qui s'exécute pendant le déploiement), utilisez le script de plateforme get.config ou Fn::GetOptionSetting.

Pour les instances Windows, les propriétés d'environnement sont transmises de C:\ProgramFiles\Amazon\ElasticBeanstalk\config\containerconfiguration au serveur Microsoft Internet Information Services (IIS).</p


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?