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.
Propriétés de l'environnement et autres paramètres de logiciel
La page de configuration des mises à jour, de la surveillance et de la journalisation vous permet de configurer le logiciel sur les instances Amazon Elastic Compute Cloud (AmazonEC2) qui exécutent votre application. Vous pouvez configurer les propriétés de l'environnement, AWS X-Ray le débogage, le stockage et le streaming des journaux d'instance, et les paramètres spécifiques à la plate-forme.
Rubriques
- Configurer les paramètres spécifiques à la plateforme
- Configuration des propriétés de l'environnement (variables d'environnement)
- Espaces de noms des paramètres de logiciel
- Accès aux propriétés de l'environnement
- Configuration du débogage AWS X-Ray
- Affichage de vos journaux d'environnement Elastic Beanstalk
Configurer les paramètres spécifiques à la plateforme
Outre l'ensemble d'options standard disponibles pour tous les environnements, la plupart des plateformes Elastic Beanstalk vous permettent de spécifier des paramètres propres à une langue ou à l'infrastructure. Ils apparaissent dans la section Logiciel de plateforme de la page Configurer les mises à jour, la surveillance et la journalisation et peuvent prendre les formes suivantes.
-
Propriétés de l'environnement prédéfinies – La plateforme Ruby utilise des propriétés d'environnement pour les paramètres d'infrastructure comme
RACK_ENV
etBUNDLE_WITHOUT
. -
Propriétés de l'environnement d'espace réservé – La plateforme Tomcat définit une propriété d'environnement nommée
JDBC_CONNECTION_STRING
qui n'a aucune valeur définie. Ce type de paramètre était plus fréquent sur les anciennes versions de la plateforme. -
Options de configuration – La plupart des plateformes définissent des options de configuration dans des espaces de noms propres à la plateforme ou partagés tels que
aws:elasticbeanstalk:xray
ouaws:elasticbeanstalk:container:python
.
Pour configurer les paramètres spécifiques à la plateforme dans la console Elastic Beanstalk
Ouvrez la console Elastic Beanstalk
, puis dans la liste des régions, sélectionnez votre Région AWS. -
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.
Dans le panneau de navigation, choisissez Configuration.
-
Dans la catégorie de configuration Mises à jour, surveillance et journalisation, sélectionnez Modifier.
-
Sous Logiciel de la plateforme, apportez les modifications nécessaires aux paramètres des options.
-
Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.
Pour plus d'informations sur les options propres aux plateformes, et sur l'obtention des valeurs de propriété d'environnement dans votre code, reportez-vous à la rubrique relative à la plateforme pour votre langue ou votre infrastructure :
-
Docker – Configuration des environnements Elastic Beanstalk Docker
-
Java SE – Utilisation de la plateforme Java SE Elastic Beanstalk
-
Tomcat – Utilisation de la plateforme Elastic Beanstalk Tomcat
-
. NETCore sous Linux — Utilisation de l'Elastic Beanstalk. NETcore sur la plateforme Linux
-
.NET – Utilisation de l'Elastic Beanstalk. NETPlate-forme Windows
-
Node.js – Utilisation de la plateforme Elastic Beanstalk Node.js
-
Python – Utilisation de la plateforme Python Elastic Beanstalk
Configuration des propriétés de l'environnement (variables d'environnement)
Vous pouvez utiliser des propriétés d'environnement (également appelées variables d'environnement) pour transmettre des secrets, des points de terminaison, des paramètres de débogage et d'autres informations à votre application. Les propriétés d'environnement vous aident à exécuter votre application dans plusieurs environnements et pour différents objectifs tels que le développement, le test, la phase intermédiaire et la production.
En outre, lorsque vous ajoutez une base de données à votre environnement, Elastic Beanstalk définit les propriétés d'environnement, comme RDS_HOSTNAME
, que vous pouvez lire dans le code de votre application pour construire un objet ou une chaîne de connexion.
Variables d'environnement
Dans la plupart des cas, les propriétés d'environnement sont transmises à votre application sous forme de variables d'environnement, mais le comportement dépend de la plateforme. Par exemple, la plateforme Java SE définit des variables d'environnement que vous récupérez avec System.getenv
, tandis que la plateforme Tomcat définit des propriétés système Java que vous récupérez avec System.getProperty
. En général, les propriétés ne sont pas visibles si vous vous connectez à une instance et exécutez env
.
Pour configurer les propriétés d'environnement dans la console Elastic Beanstalk
Ouvrez la console Elastic Beanstalk
, puis dans la liste des régions, sélectionnez votre Région AWS. -
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.
Dans le panneau de navigation, choisissez Configuration.
-
Dans la catégorie de configuration Mises à jour, surveillance et journalisation, sélectionnez Modifier.
-
Faites défiler la page jusqu'à Propriétés de l'environnement.
-
Sélectionnez Ajouter une propriété d'environnement.
-
Saisissez les paires Nom et Valeur de la propriété.
-
Si vous devez ajouter d'autres variables, répétez l'étape 6 et l'étape 7.
-
Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.
Limites des propriétés de l'environnement
-
Les clés peuvent contenir des caractères alphanumériques et les symboles suivants :
_ . : / + \ - @
Les symboles répertoriés sont valides pour les clés de propriété d'environnement, mais peuvent ne pas être valides pour les noms de variable d'environnement sur la plateforme de votre environnement. Pour assurer une compatibilité avec toutes les plateformes, limitez les propriétés d'environnement au schéma suivant :
[A-Z_][A-Z0-9_]*
-
Les valeurs peuvent contenir des caractères alphanumériques, des espaces et les symboles suivants :
_ . : / = + \ - @ ' "
Note
Certains caractères dans les valeurs de propriété d'environnement doivent être échappés. Utilisez le caractère barre oblique inverse (
\
) pour représenter certains caractères spéciaux et de contrôle. La liste suivante inclut des exemples de représentation de certains caractères devant être échappés :barre oblique inverse (
\
) – pour représenter l'utilisation\\
guillemet simple (
'
) – pour représenter l'utilisation\'
guillemet double (
"
) – pour représenter l'utilisation\"
-
Les clés et les valeurs sont sensibles à la casse.
-
La taille combinée de toutes les propriétés d'environnement ne peut pas dépasser 4 096 octets lorsqu'elles sont stockées sous forme de chaînes au format
key
=value
.
Espaces de noms des paramètres de logiciel
Vous pouvez utiliser un fichier de configuration 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 ou s'appliquer à toutes les plateformes du service Elastic Beanstalk dans son ensemble. Les options de configuration sont organisées en espaces de noms.
Vous pouvez utiliser des fichiers de configuration Elastic Beanstalk pour définir les propriétés de l'environnement et les options de configuration dans votre code source. Utilisez l'espace de noms aws:elasticbeanstalk:application:environment pour définir les propriétés de l'environnement.
Exemple .ebextensions/options.config
option_settings:
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: www.example.com/api
Si vous utilisez des fichiers de configuration ou AWS CloudFormation modèles pour créer des ressources personnalisées, vous pouvez utiliser un AWS CloudFormation
fonction permettant d'obtenir des informations sur la ressource et de l'attribuer dynamiquement à une propriété d'environnement lors du déploiement. L'exemple suivant, tiré du elastic-beanstalk-samplesNOTIFICATION_TOPIC
.
Remarques
-
Si vous utilisez un AWS CloudFormation fonction pour définir une propriété d'environnement, la console Elastic Beanstalk affiche la valeur de la propriété avant que la fonction ne soit évaluée. Vous pouvez utiliser le script de plateforme get-config pour confirmer les valeurs des propriétés d'environnement disponibles pour votre application.
-
La plateforme Docker Multicontainer n'utilise pas AWS CloudFormation pour créer des ressources de conteneurs. Par conséquent, cette plate-forme ne prend pas en charge la définition des propriétés de l'environnement à l'aide de AWS CloudFormation fonctions.
Exemple .Ebextensions/sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
option_settings:
aws:elasticbeanstalk:application:environment:
NOTIFICATION_TOPIC: '`{"Ref" : "NotificationTopic"}`'
Vous pouvez également utiliser cette fonctionnalité pour propager des informations à partir de AWS CloudFormation pseudo-paramètres. Cet exemple obtient la région actuelle et l'affecte à une propriété nommée AWS_REGION
.
Exemple .Ebextensions/env-regionname.config
option_settings:
aws:elasticbeanstalk:application:environment:
AWS_REGION: '`{"Ref" : "AWS::Region"}`'
La plupart des plateformes Elastic Beanstalk définissent des espaces de noms supplémentaires avec des options pour configurer le logiciel qui s'exécute sur l'instance, tel que le proxy inversé qui relaie des requêtes pour votre application. Pour plus d'informations sur les espaces de noms disponibles pour votre plateforme, consultez les ressources suivantes :
-
. NETCore sous Linux — . NETEspace de noms de configuration Core sur Linux
-
.NET – Espace de noms aws:elasticbeanstalk:container:dotnet:apppool
-
Node.js – Node.js espace de noms de configuration
Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. Outre les fichiers de configuration, vous pouvez également définir les options de configuration à l'aide de la console, des configurations enregistrées, de l'EB CLI ou du AWS CLI. Voir Options de configuration pour plus d'informations.
Accès aux propriétés de l'environnement
Dans la plupart des cas, vous accédez aux propriétés de l'environnement dans le code de votre application sous forme d'une variable d'environnement. Toutefois, les propriétés d'environnement sont généralement transmises uniquement à l'application et ne peuvent pas être affichées via une connexion à une instance dans votre environnement et l'exécution de env
.
-
Go –
os.Getenv
endpoint := os.Getenv("API_ENDPOINT")
-
Java SE –
System.getenv
String endpoint = System.getenv("API_ENDPOINT");
-
Tomcat :
System.getProperty
String endpoint = System.getProperty("API_ENDPOINT");
-
. NETCore sous Linux —
Environment.GetEnvironmentVariable
string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
-
.NET –
appConfig
NameValueCollection appConfig = ConfigurationManager.AppSettings; string endpoint = appConfig["API_ENDPOINT"];
-
Node.js :
process.env
var endpoint = process.env.API_ENDPOINT
-
PHP –
$_SERVER
$endpoint = $_SERVER['API_ENDPOINT'];
-
Python :
os.environ
import os endpoint = os.environ['API_ENDPOINT']
-
Ruby –
ENV
endpoint = ENV['API_ENDPOINT']
En dehors du code de l'application, par exemple dans un script exécuté pendant le déploiement, vous pouvez accéder aux propriétés de l'environnement avec le script de plateforme get-config. Consultez le elastic-beanstalk-samplesget-config
.