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.
cfn-init
Description
Le script d'assistant cfn-init lit les métadonnées du modèle à partir de la clé AWS::CloudFormation::Init
et agit en conséquence pour :
-
Récupérez et analysez les métadonnées depuis CloudFormation
-
Installation des packages
-
enregistrer les fichiers sur le disque ;
-
Enable/disable and start/stopservices
Note
Si vous utilisez cfn-init pour mettre à jour un fichier existant, il crée une copie de sauvegarde du fichier d'origine dans le même répertoire avec une extension .bak. Par exemple, si vous mettez à jour /
, cette action génère deux fichiers : path
/to
/file_name
/
inclut le contenu du fichier d'origine et path
/to
/file_name
.bak/
contient le contenu mis à jour.path
/to
/file_name
Pour plus d'informations sur les métadonnées d'un modèle, consultez AWS::CloudFormation::Init.
Note
cfn-init ne requiert pas d'informations d'identification. Dès lors, vous n'avez pas besoin d'utiliser les options --access-key
, --secret-key
, --role
ou --credential-file
. Toutefois, si aucune information d'identification n'est spécifiée, CloudFormation vérifie l'appartenance à la pile et limite la portée de l'appel à la pile à laquelle appartient l'instance.
Syntaxe
cfn-init --stack|-s
stack.name.or.id
\ --resource|-rlogical.resource.id
\ --regionregion
\ --access-keyaccess.key
\ --secret-keysecret.key
\ --rolerolename
\ --credential-file|-fcredential.file
\ --configsets|-cconfig.sets
\ --url|-uservice.url
\ --http-proxyHTTP.proxy
\ --https-proxyHTTPS.proxy
\ --verbose|-v
Options
Name (Nom) | Description | Obligatoire |
---|---|---|
|
Nom de la pile ou ID de la pile. Type : chaîne Par défaut : aucun Exemple : |
Oui |
|
ID de ressource logique de la ressource qui contient les métadonnées. Type : chaîne Exemple : |
Oui |
|
Le point de terminaison CloudFormation régional à utiliser. Type : chaîne Par défaut : Exemple : |
Non |
|
AWS clé d'accès pour un compte autorisé Type : chaîne |
Non |
|
AWS clé d'accès secrète qui correspond à la clé AWS d'accès spécifiée. Type : chaîne |
Non |
|
Le nom d'un IAM rôle associé à l'instance. Type : chaîne Condition : le paramètre du fichier d'informations d'identification prévaut sur ce paramètre. |
Non |
|
Fichier qui contient une clé d'accès secrète et une clé d'accès. Le paramètre du fichier d'informations d'identification supplante les paramètres --role, --access-key et --secret-key. Type : chaîne |
Non |
|
Liste CSV de jeux de configuration à exécuter (dans l'ordre). Type : chaîne Par défaut : |
Non |
|
Le CloudFormation point de terminaison à utiliser. Type : chaîne |
Non |
|
Un HTTP proxy (non-SSL). Utilisez le format suivant : Type : chaîne |
Non |
|
Un HTTPS proxy. Utilisez le format suivant : Type : chaîne |
Non |
|
Sortie détaillée. Cela est utile pour déboguer les cas où l'initialisation de cfn-init échoue. NotePour déboguer les événements d'initialisation, vous devez activer DisableRollback . Vous pouvez le faire en utilisant la CloudFormation console, en sélectionnant Afficher les options avancées, puis en attribuant à Rollback en cas d'échec la valeur Non. Vous pouvez SSH ensuite accéder à la console et lire les journaux at /var/log/cfn -init.log. |
Non |
|
Affiche le message d'aide, puis se ferme. |
Non |
Exemple
Exemple de Amazon Linux
Les extraits suivants montrent la UserData
propriété d'une EC2 instance qui exécute le InstallAndRun
configset associé à la ressource. WebServerInstance
Pour obtenir un exemple de modèle complet, consultez Déployez des applications sur Amazon EC2.
Pour inclure la dernière version, ajoutez yum install -y aws-cfn-bootstrap
aux UserData
.
JSON
Propriété UserData
utilisant la fonction intrinsèque Fn::Join
.
{ "UserData": { "Fn::Base64": { "Fn::Join": [ "", [ "#!/bin/bash -xe\n", "", "yum install -y aws-cfn-bootstrap", "/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref": "AWS::StackName" }, " --resource WebServerInstance ", " --configsets InstallAndRun ", " --region ", { "Ref": "AWS::Region" }, "\n" ] ] } } }
YAML
Propriété UserData
utilisant la fonction intrinsèque Fn::Join
.
UserData: !Base64 'Fn::Join': - '' - - | #!/bin/bash -xe - '' - yum install -y aws-cfn-bootstrap - '/opt/aws/bin/cfn-init -v ' - ' --stack ' - !Ref 'AWS::StackName' - ' --resource WebServerInstance ' - ' --configsets InstallAndRun ' - ' --region ' - !Ref 'AWS::Region' - |+
JSON
Propriété UserData
utilisant la fonction intrinsèque Fn::Sub
.
{ "UserData": { "Fn::Base64": { "Fn::Sub": [ "#!/bin/bash -x\n# Install the files and packages from the metadata\n/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region}\n\n# Signal the status from cfn-init\n/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region}\n", {} ] } } }
YAML
Propriété UserData
utilisant la fonction intrinsèque Fn::Sub
.
UserData: !Base64 'Fn::Sub': - > #!/bin/bash -x # Install the files and packages from the metadata /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region} # Signal the status from cfn-init /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region} - {}