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
Dans un CloudFormation modèle, vous pouvez l'utiliser AWS::CloudFormation::Init
dans la Metadata
section d'une EC2 ressource Amazon pour définir des tâches d'initialisation. Pour plus d’informations, consultez AWS::CloudFormation::Init dans le Guide de l’utilisateur AWS CloudFormation .
Le script d'cfn-init
assistance lit les métadonnées du modèle à partir de la AWS::CloudFormation::Init
clé 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 ;
-
services Enable/disable and start/stop
Le script d'cfn-init
assistance est généralement exécuté à partir des données utilisateur d'une EC2 instance Amazon ou d'un modèle de lancement.
Note
Si vous mettez cfn-init
à 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
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
Note
cfn-init
ne nécessite pas d'informations d'identification, vous n'avez donc pas besoin d'utiliser les --credential-file
options --access-key
--secret-key
--role
,, ou. Toutefois, si aucune information d'identification n'est spécifiée, CloudFormation vérifie l'appartenance de la pile et limite la portée de l'appel à la pile à laquelle l'instance appartient. Pour de plus amples informations, veuillez consulter Autorisations pour les scripts d'assistant.
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 |
|
Nom d'un rôle IAM 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 |
|
Proxy HTTP (non SSL). Utilisez le format suivant : Type : chaîne |
Non |
|
Proxy HTTPS. Utilisez le format suivant : Type : chaîne |
Non |
|
Sortie détaillée. Ceci est utile pour le débogage des cas où NotePour déboguer les événements d'initialisation, vous devez activer |
Non |
|
Affiche le message d'aide, puis se ferme. |
Non |
Exemples
Exemples Amazon Linux
Les exemples suivants montrent la UserData
propriété d'une EC2 instance qui exécute le InstallAndRun
configset associé à la WebServerInstance
ressource.
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} - {}
Ressources connexes
Vous pouvez également visiter notre GitHub référentiel pour télécharger des exemples de modèles que nous utilisonscfn-init
, notamment les modèles suivants.
Pour les modèles Windows, consultez la section Utilisation des modèles de pile Microsoft Windows dans le Guide de AWS CloudFormation l'utilisateur.