Référence des scripts d'assistant CloudFormation - AWS CloudFormation

Il s’agit du nouveau Guide de référence des modèles CloudFormation. Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l’aide pour démarrer avec CloudFormation, consultez le Guide de l’utilisateur AWS CloudFormation.

Référence des scripts d'assistant CloudFormation

CloudFormation fournit les scripts d’assistance Python suivants, que vous pouvez utiliser pour installer des logiciels et démarrer des services sur une instance Amazon EC2 créée dans votre pile :

  • cfn-init : à utiliser pour extraire et interpréter les métadonnées des ressources, installer des packages, créer des fichiers et démarrer des services.

  • cfn-signal : à utiliser pour envoyer un signal avec une CreationPolicy ou une WaitCondition, afin de synchroniser d’autres ressources de la pile lorsque la ressource ou l’application préalable est prête.

  • cfn-get-metadata : à utiliser pour extraire des métadonnées pour une ressource ou un chemin d’accès vers une clé spécifique.

  • cfn-hup : à utiliser pour rechercher les mises à jour de métadonnées et exécuter des hooks personnalisés lorsque des modifications sont détectées.

Vous appelez les scripts directement à partir de votre modèle. Ces scripts interagissent avec les métadonnées des ressources qui sont définies dans le même modèle. Les scripts s'exécutent dans l'instance Amazon EC2 au cours du processus de création de la pile.

Note

Les scripts ne sont pas exécutés par défaut. Vous devez inclure des appels dans votre modèle pour exécuter des scripts d'assistant spécifiques.

Images AMI Amazon Linux

Les scripts d'assistant CloudFormation sont préinstallés sur les images AMI Amazon Linux sur lesquelles des scripts d'amorçage sont amorcés.

  • Sur la dernière version de l'AMI Amazon Linux, les scripts sont préinstallés dans /opt/aws/bin.

  • Dans les anciennes versions d’Amazon Linux AMI, le package aws-cfn-bootstrap contenant les scripts se trouve dans le référentiel Yum.

Note

Les scripts d'assistant sont préinstallés sur les dernières versions de l'AMI Amazon Linux et non sur les AMI optimisées, comme ECS Optimized Image qui utilise Amazon Linux comme base.

Téléchargement de packages pour d'autres plates-formes

Pour les distributions Linux/Unix autres que les images Amazon Linux AMI, ainsi que pour Microsoft Windows (2008 ou version ultérieure), vous pouvez télécharger le package aws-cfn-bootstrap.

Note

Les versions 2.0–1 et ultérieures des scripts d'assistant prennent en charge Python versions 3.4 et ultérieures. Si vous avez besoin de scripts d'assistant qui prennent en charge une version antérieure de Python, consultez Historique des versions des scripts d’assistant CloudFormation 1.4.

Format de fichier Télécharger le kit URL

TAR.GZ

https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz

Utilisez pip de Python pour installer tar.gz. Pour terminer l'installation d'Ubuntu, vous devez créer un lien symbolique :

ln -s /<path-to-extracted-tar>/aws-cfn-bootstrap-2.0/init/ubuntu/cfn-hup /etc/init.d/cfn-hup

ZIP

https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.zip

EXE

Windows 32 bits : https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.exe

Windows 64 bits : https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-win64-latest.exe

Autorisations pour les scripts d'assistant

Par défaut, les scripts d'assistant ne requièrent 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 de la pile et limite la portée de l'appel à la pile à laquelle l'instance appartient.

Si vous choisissez de spécifier une option, nous vous recommandons de spécifier uniquement l'une des options suivantes :

  • --role

  • --credential-file

  • --access-key avec --secret-key

Si vous spécifiez une option, n'oubliez pas les autorisations que les différents scripts d'assistant requièrent :

  • cfn-signal nécessite cloudformation:SignalResource

  • Tous les autres scripts d'assistant nécessitent . cloudformation:DescribeStackResource

Pour plus d’informations sur l’utilisation de clés de contexte de condition et d’actions spécifiques à CloudFormation dans les politiques IAM, consultez Contrôle de l’accès à CloudFormation avec AWS Identity and Access Management dans le Guide de l’utilisateur AWS CloudFormation.

Utilisation de la dernière version

Les scripts d'assistant sont mis à jour périodiquement. Si vous utilisez les scripts d'assistant, assurez-vous que vos instances lancées utilisent la dernière version des scripts :

  • Incluez la commande suivante dans la propriété UserData de votre modèle avant d'appeler les scripts. Cette commande garantit que vous obtenez la dernière version :

    yum install -y aws-cfn-bootstrap

  • Si vous n'incluez pas la commande yum install et que vous utilisez les scripts cfn-init, cfn-signal ou cfn-get-metadata, vous devez manuellement mettre à jour les scripts dans chaque instance Amazon EC2 Linux à l'aide de cette commande :

    sudo yum install -y aws-cfn-bootstrap

    Note

    L'exécution de sudo yum install -y aws-cfn-bootstrap installe les scripts d'assistance à partir du référentiel yum.

  • Si vous n'incluez pas la commande yum install et que vous utilisez le script cfn-hup, vous devez manuellement mettre à jour le script dans chaque instance Amazon EC2 Linux à l'aide de ces commandes :

    sudo yum install -y aws-cfn-bootstrap

    sudo /sbin/service cfn-hup restart

    Note

    L'exécution de sudo yum install -y aws-cfn-bootstrap installe les scripts d'assistance à partir du référentiel yum.

  • Si vous utilisez le code source pour que les scripts fonctionnent avec une autre version de Linux ou une plateforme différente, et que vous avez créé votre propre référentiel d'approbations de certificats, vous devez également mettre à jour le référentiel d'approbations.

Pour l’historique des versions du package aws-cfn-bootstrap, consultez Historique de versions pour les scripts d'assistant CloudFormation.