AWS :: CloudFormation :: Init comment ça marche?
Nous pouvons utiliser AWS::CloudFormation::Init pour exécuter des commandes et télécharger des fichiers après le début de l'instance. Mais quelqu'un sait quels sont les éléments internes de cette opération (à partir d'Amazon côté)?
Quand on passe d'un modèle, à quel point sont les fichiers ou les commandes transmises à la VM? Est-ce est un Xen fonctionnalité (par le biais de tuyau spécial), ou via le réseau?
"Resources": {
"MyInstance": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"packages" : {
:
},
"sources" : {
:
},
"commands" : {
:
},
"files" : {
:
},
"services" : {
:
},
"users" : {
:
},
"groups" : {
:
}
}
}
},
"Properties": {
:
}
}
}
source d'informationauteur SoYoung
Vous devez vous connecter pour publier un commentaire.
La création d'une AWS::CloudFormation::Init de ressources sous la forme de métadonnées à une instance EC2 ne cause pas l'instance de faire quelque chose par lui-même.
Pour l'instance pour effectuer toutes les opérations mentionnées dans cette ressource, il doit exécuter le
cfn-init
outil de ligne de commande. Sur Amazon EC2 AMIs que la commande est déjà installé au/opt/aws/bin/cfn-init
. La commande prend plusieurs options, y compris le nom de l'AWS::CloudFormation::Init de la ressource, le nom de l'EC2 ressources du serveur, et de la région, vous êtes en cours d'exécution. Vous devez également fournir les identifiants de sécurité AWS.Si vous souhaitez que cet pour s'exécuter automatiquement lorsque vous créez une nouvelle instance (j'ai évidemment), vous devrez utiliser l'instance EC2 est UserData de créer un script shell que l'instance sera exécuté au premier démarrage, et de mettre le
cfn-init
commande.J'ai écrit sur cette question spécifique dans mon blog récemment.