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.
Personnalisation du logiciel sur des serveurs Windows
Vous pouvez souhaiter personnaliser et configurer le logiciel dont dépend votre application. Ces fichiers pourraient être soit des dépendances requises par l'application, par exemple, des services ou des packages supplémentaires qui doivent être exécutés. Pour obtenir des informations générales sur la personnalisation et la configuration de vos environnements Elastic Beanstalk, consultez Configuration d'environnements Elastic Beanstalk.
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.
Les fichiers de configuration prennent en charge les clés suivantes qui affectent le serveur Windows sur lequel votre application s'exécute.
Les clés sont traitées dans l'ordre dans lequel elles sont répertoriées ici.
Note
Des versions antérieures (sans version) des versions de plateforme .NET ne traitent pas les fichiers de configuration dans l'ordre correct. Découvrez-en plus sur Migration entre les principales versions de la plateforme Windows Server pour Elastic Beanstalk.
Observez les événements de votre environnement pendant le développement et les tests des fichiers de configuration. Elastic Beanstalk ignore un fichier de configuration qui contient des erreurs de validation, comme une clé non valide, et ne traite aucune autre clé dans le même fichier. Lorsque cela se produit, Elastic Beanstalk ajoute un événement d'avertissement dans le journal des événements.
Packages
Utilisez la clé packages
pour télécharger, et installer des applications et des composants prépackagés.
Dans les environnements Windows, Elastic Beanstalk prend en charge le téléchargement et l'installation des packages MSI. (Les environnements Linux prennent en charge d'autres gestionnaires de packages. Pour plus d'informations, consultez Packagessur la page Personnalisation des logiciels sur les serveurs Linux.)
Vous pouvez faire référence à des emplacements externes, comme un objet Amazon Simple Storage Service (Amazon S3), tant que l'URL est publiquement accessible.
Si vous spécifiez plusieurs packages msi:
, leur ordre d'installation n'est pas garanti.
Syntaxe
Spécifiez le nom de votre choix comme nom du package et une URL vers un emplacement de fichier MSI comme valeur. Vous pouvez spécifier plusieurs packages sous la clé msi:
.
packages:
msi:
package name
: package url
...
Exemples
L'exemple suivant indique une URL permettant de télécharger mysql à partir https://dev.mysql.com/
.
packages:
msi:
mysql: https://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-8.0.11.msi
L'exemple suivant indique un objet Amazon S3 comme emplacement de fichier MSI.
packages:
msi:
mymsi: https://mybucket
.s3.amazonaws.com/myobject
.msi
Sources
Utilisez la clé sources
pour télécharger un fichier d'archives à partir d'une URL publique et le décompresser dans un répertoire cible de l'instance EC2.
Syntaxe
sources:
target directory
: location of archive file
Formats pris en charge
Dans les environnements Windows, Elastic Beanstalk prend en charge le format .zip. (Les environnements Linux prennent en charge d'autres formats. Pour plus d'informations, consultez Sources sur la page Personnalisation des logiciels sur les serveurs Linux.)
Vous pouvez faire référence à des emplacements externes, comme un objet Amazon Simple Storage Service (Amazon S3), tant que l'URL est publiquement accessible.
Exemple
L'exemple suivant télécharge un fichier .zip public à partir d'un compartiment Amazon S3 et le décompresse dans c:/myproject/myapp
.
sources:
"c:/myproject/myapp": https://mybucket
.s3.amazonaws.com/myobject
.zip
Dépôt de
Utilisez la clé files
pour créer des fichiers sur l'instance EC2. Le contenu peut être en ligne dans le fichier de configuration, ou issu d'une URL. Les fichiers sont écrits sur disque par ordre lexicographique. Pour télécharger des fichiers privés depuis Amazon S3, fournissez un profil d'instance pour l'autorisation.
Syntaxe
files:
"target file location on disk
":
source: URL
authentication: authentication name
:
"target file location on disk
":
content: |
this is my content
encoding: encoding format
Options
content
-
(Facultatif) Une chaîne.
source
-
(Facultatif) L'URL à partir de laquelle le fichier est chargé. Cette option ne peut pas être spécifiée avec la clé de contenu.
encoding
-
(Facultatif) Le format d'encodage. Cette option est utilisée uniquement pour une valeur de clé de contenu fournie. La valeur par défaut est
plain
.Valeurs valides :
plain
|base64
authentication
-
(Facultatif) Nom d'une méthode d'authentification AWS CloudFormation à utiliser. Vous pouvez ajouter des méthodes d'authentification aux métadonnées du groupe Auto Scaling via la clé Resources.
Exemples
L'exemple suivant illustre les deux manières de fournir un contenu d'un fichier : depuis une URL, ou en ligne dans le fichier de configuration.
files:
"c:\\targetdirectory\\targetfile.txt
":
source: http://foo.bar/myfile
"c:/targetdirectory/targetfile.txt
":
content: |
# this is my file
# with content
Note
Si vous utilisez une barre oblique inverse (\) dans votre chemin d'accès, vous devez la faire précéder d'une autre barre oblique inverse (caractère d'échappement), comme illustré dans l'exemple précédent.
L'exemple suivant utilise la clé Resources pour ajouter une méthode d'authentification nommée S3Auth et l'utilise pour télécharger un fichier privé à partir d'un compartiment Amazon S3 :
files:
"c:\\targetdirectory\\targetfile.zip":
source: https://elasticbeanstalk-us-east-2-123456789012.s3.amazonaws.com/prefix/myfile.zip
authentication: S3Auth
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Auth
:
type: "s3"
buckets: ["elasticbeanstalk-us-east-2-123456789012
"]
roleName:
"Fn::GetOptionSetting":
Namespace: "aws:autoscaling:launchconfiguration"
OptionName: "IamInstanceProfile"
DefaultValue: "aws-elasticbeanstalk-ec2-role"
Commandes
Utilisez la clé commands
pour exécuter des commandes sur l'instance EC2. Les commandes sont traitées dans l'ordre alphabétique par nom et elles s'exécutent avant la configuration de l'application et du serveur web, avant que le fichier de version d'application soit extrait.
Les commandes spécifiées s'exécutent en tant qu'utilisateur Administrateur.
Pour résoudre les problèmes associés à vos commandes, vous pouvez trouver leur sortie dans les journaux d'instance.
Syntaxe
commands:
command name
:
command: command to run
Options
command
-
Soit un tableau, soit une chaîne spécifiant la commande à exécuter. Si vous utilisez un tableau, vous n'avez pas besoin de caractères d'espacement ou d'inclure des paramètres de commande entre guillemets.
cwd
-
(Facultatif) Le répertoire de travail. Par défaut, Elastic Beanstalk tente de trouver l'emplacement du répertoire de votre projet. S'il ne le trouve pas, il utilise
c:\Windows\System32
comme valeur par défaut. env
-
(Facultatif) Définit des variables d'environnement pour la commande. Cette propriété remplace, plutôt que d'ajouter, l'environnement existant.
ignoreErrors
-
(Facultatif) Valeur booléenne qui détermine si les autres commandes doivent s'exécuter si la commande contenue dans la clé
command
échoue (renvoie une valeur non nulle). Définissez cette valeur surtrue
si vous voulez continuer à exécuter des commandes même si la commande échoue. Définissez-la surfalse
si vous souhaitez arrêter l'exécution des commandes si la commande échoue. La valeur par défaut estfalse
. test
-
(Facultatif) Commande qui doit renvoyer la valeur
true
(code de sortie 0) afin qu'Elastic Beanstalk traite la commande contenue dans la clécommand
. waitAfterCompletion
-
(Facultatif) Secondes d'attente une fois que la commande est terminée avant d'exécuter la commande suivante. Si le système a besoin d'un redémarrage une fois la commande terminée, le système redémarre une fois le nombre de secondes spécifié écoulé. Si le système redémarre suite à une commande, Elastic Beanstalk récupère jusqu'au moment qui suit la commande dans le fichier de configuration. La valeur par défaut est de
60
secondes. Vous pouvez également spécifierforever
, mais le système doit redémarrer avant que vous puissiez exécuter une autre commande.
Exemple
L'exemple suivant enregistre la sortie de la commande set
dans le fichier spécifié. S'il existe une commande suivante, Elastic Beanstalk exécute cette commande immédiatement à la fin de cette commande. Si cette commande exige un redémarrage, Elastic Beanstalk redémarre l'instance immédiatement à la fin de la commande.
commands:
test:
command: set > c:\\myapp\\set.txt
waitAfterCompletion: 0
Services
Utilisez la clé services
pour définir les services qui doivent être démarrés ou arrêtés lors du lancement de l'instance. La clé services
vous permet également de spécifier des dépendances sur des sources, des packages et des fichiers de sorte que si un redémarrage est nécessaire en raison d'une installation de fichiers, Elastic Beanstalk prenne en charge le redémarrage du service.
Syntaxe
services:
windows:
name of service
:
files:
- "file name
"
sources:
- "directory
"
packages:
name of package manager
:
"package name
[: version
]"
commands:
- "name of command
"
Options
ensureRunning
-
(Facultatif) Définissez cette option sur
true
afin de garantir que le service s'exécute après qu'Elastic Beanstalk a terminé.Définissez cette option sur
false
afin de garantir que le service ne s'exécute pas après qu'Elastic Beanstalk a terminé.Ignorez cette clé pour n'apporter aucune modification à l'état du service.
enabled
-
(Facultatif) Définissez cette option sur
true
afin de garantir que le service soit démarré automatiquement lors du démarrage.Définissez cette option sur
false
afin de garantir que le service ne soit pas démarré automatiquement lors du démarrage.Ignorez cette clé pour n'apporter aucune modification à cette propriété.
files
-
Liste de fichiers. Si Elastic Beanstalk en change un directement via le bloc de fichiers, le service est redémarré.
sources
-
Liste de répertoires. Si Elastic Beanstalk développe une archive dans l'un de ces répertoires, le service est redémarré.
packages
-
Une carte du gestionnaire de package sur une liste de noms de package. Si Elastic Beanstalk installe ou met à jour l'un de ces packages, le service est redémarré.
commands
-
Liste de noms de commandes. Si Elastic Beanstalk exécute la commande spécifiée, le service est redémarré.
Exemple
services:
windows:
myservice:
enabled: true
ensureRunning: true
Commandes de conteneur
Utilisez la clé container_commands
pour exécuter des commandes qui affectent le code source de votre application. Les commandes de conteneur s'exécutent après que l'application et le serveur web ont été configurés et que l'archive de version d'application a été extraite, mais avant que la version d'application soit déployée. Les commandes non-conteneur et autres opérations de personnalisation sont effectuées avant le code source d'application en cours d'extraction.
Les commandes de conteneur sont exécutées depuis le répertoire intermédiaire, où votre code source est extrait avant d'être déployé sur le serveur d'applications. Toutes les modifications apportées à votre code source dans le répertoire intermédiaire avec une commande conteneur seront incluses lorsque la source est déployée sur son emplacement final.
Pour résoudre les problèmes associés à vos commandes de conteneur, vous pouvez trouver leur sortie dans les journaux d'instance.
Utilisez l'option leader_only
pour exécuter uniquement la commande sur une seule instance, ou configurer un test
pour exécuter uniquement la commande lorsqu'une commande test a la valeur true
. Les commandes de conteneur principales uniquement sont exécutées uniquement au cours de la création et du déploiement de l'environnement, tandis que d'autres commandes et opérations de personnalisation de serveur sont effectuées chaque fois qu'une instance est mise en service ou mise à jour. Les commandes de conteneur principales uniquement ne sont pas exécutées pour lancer des modifications de configuration, par exemple, une modification d'ID d'AMI ou de type d'instance.
Syntaxe
container_commands:
name of container_command
:
command: command to run
Options
command
-
Une chaîne ou un tableau de chaînes à exécuter.
env
-
(Facultatif) Définissez les variables d'environnement avant d'exécuter la commande, en ignorant toute valeur existante.
cwd
-
(Facultatif) Le répertoire de travail. Par défaut, il s'agit du répertoire intermédiaire de l'application décompressée.
leader_only
-
(Facultatif) Exécutez uniquement la commande sur une seule instance choisie par Elastic Beanstalk. Les commandes de conteneur principales uniquement sont exécutées avant d'autres commandes de conteneur. Une commande peut être principale uniquement ou disposer d'un
test
, mais pas les deux (leader_only
a la priorité). test
-
(Facultatif) Exécutez une commande test qui doit renvoyer la valeur
true
afin d'exécuter la commande de conteneur. Une commande peut être principale uniquement ou disposer d'untest
, mais pas les deux (leader_only
a la priorité). ignoreErrors
-
(Facultatif) Ne manquez pas les déploiements si la commande de conteneur renvoie une valeur différente de 0 (réussite). Définissez sur
true
pour activer. waitAfterCompletion
-
(Facultatif) Secondes d'attente une fois que la commande est terminée avant d'exécuter la commande suivante. Si le système a besoin d'un redémarrage une fois la commande terminée, le système redémarre une fois le nombre de secondes spécifié écoulé. Si le système redémarre suite à une commande, Elastic Beanstalk récupère jusqu'au moment qui suit la commande dans le fichier de configuration. La valeur par défaut est de
60
secondes. Vous pouvez également spécifierforever
, mais le système doit redémarrer avant que vous puissiez exécuter une autre commande.
Exemple
L'exemple suivant enregistre la sortie de la commande set
dans le fichier spécifié. Elastic Beanstalk exécute la commande sur une instance et redémarre l'instance immédiatement à la fin de la commande.
container_commands:
foo:
command: set > c:\\myapp\\set.txt
leader_only: true
waitAfterCompletion: 0