Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

cfn-hup

Mode de mise au point
cfn-hup - AWS CloudFormation

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.

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.

Filtrer la vue

L'cfn-hupassistant est un démon qui détecte les modifications apportées aux métadonnées des ressources et exécute les actions spécifiées par l'utilisateur lorsqu'une modification est détectée. Cela vous permet de mettre à jour la configuration de vos EC2 instances Amazon en cours d'exécution par le biais de l'UpdateStackAPIaction.

Syntaxe

cfn-hup --config|-c config.dir \ --no-daemon \ --verbose|-v

Options

Name (Nom) Description Obligatoire

--config|-c config.dir

Spécifie le chemin que le cfn-hup script recherche pour les répertoires cfn-hup.conf et les hooks.d répertoires. Sur Windows, le chemin d'accès par défaut est system_drive\cfn. Sur Linux, le chemin d'accès par défaut est /etc/cfn.

Non

--no-daemon

Spécifiez cette option pour exécuter le cfn-hup script une seule fois, puis quittez-le.

Non

-v, --verbose

Spécifiez cette option pour utiliser le mode détaillé.

Non

Fichier de configuration cfn-hup.conf

Le cfn-hup.conf fichier stocke le nom de la pile et les AWS informations d'identification ciblées par le cfn-hup démon.

Le cfn-hup.conf fichier utilise le format suivant :

[main] stack=<stack-name-or-id>
Name (Nom) Description Obligatoire

stack

Nom ou ID de la pile.

Type : chaîne

Oui

credential-file

Fichier d'informations d'identification spécifique au propriétaire, dans le format utilisé pour les outils de ligne de commande.

Type : chaîne

Condition : le paramètre role prévaut sur ce paramètre.

Non

role

Nom d'un rôle IAM associé à l'instance.

Type : chaîne

Non

region

Nom de la AWS région contenant la pile.

Exemple 

Non

umask

umaskUtilisé par le cfn-hup daemon.

Cette valeur peut être spécifiée avec ou sans 0 de tête. Dans les deux cas, elle est interprétée comme un nombre octal (similaire à la commande Linux umask). Ce paramètre n'a aucun effet sur Windows.

Type : octal entier compris entre 0 et 0777

Par défaut : 022, versions 1.4–22 et ultérieures. La valeur par défaut des autorisations d'écriture de groupe et de monde 022 masque, de sorte que les fichiers créés par le cfn-hup démon ne sont pas inscriptibles par défaut par groupe ou par monde. La valeur par défaut pour les versions 1.4–21 et antérieures est 0, ce qui ne masque rien.

Non

interval

Intervalle, en minutes, utilisé pour rechercher les modifications des métadonnées.

Type : entier

Par défaut : 15

Non

verbose

Spécifie si la journalisation détaillée doit être utilisée.

Type : valeur booléenne

Par défaut : false

Non

hooks.conffichier de configuration

Les actions utilisateur que le cfn-hup daemon appelle régulièrement sont définies dans le fichier de hooks.conf configuration. Le hooks.conf fichier utilise le format suivant :

[hookname] triggers=post.add or post.update or post.remove path=Resources.<logicalResourceId> (.Metadata or .PhysicalResourceId)(.<optionalMetadatapath>) action=<arbitrary shell command> runas=<runas user>

Lorsque l'opération est exécutée, elle est exécutée dans une copie de l'environnement actuel (cfn-hupc'est-à-dire dans), avec CFN_OLD_METADATA la valeur de métadonnées précédente spécifiée par le chemin et CFN_NEW_METADATA définie sur la valeur actuelle.

Le fichier de configuration des hooks est chargé uniquement au démarrage du cfn-hup démon. Les nouveaux hooks nécessiteront donc le redémarrage du démon. Un cache contenant les valeurs de métadonnées précédentes est stocké dans /var/lib/cfn-hup/data/metadata_db : vous pouvez supprimer ce cache pour forcer l'exécution cfn-hup de toutes les post.add actions à nouveau.

Name (Nom) Description Obligatoire

hookname

Nom unique de ce hook.

Type : chaîne

Oui

triggers

Liste CSV des conditions à détecter.

Valeurs valides : post.add, post.update ou post.remove

Exemple : post.add, post.update

Oui

path

Chemin d'accès vers l'objet de métadonnées. Prend en charge un chemin d'accès long arbitraire dans le bloc de métadonnées.

Options de format de chemin d'accès
  • Ressources. <LogicalResourceId>— surveille l'heure de la dernière mise à jour de la ressource, en déclenchant toute modification apportée à la ressource.

  • Ressources. <LogicalResourceId>. PhysicalResourceId— surveille l'ID physique de la ressource, en se déclenchant uniquement lorsque l'identité de la ressource associée change (par exemple, une nouvelle EC2 instance).

  • Ressources. <LogicalResourceId>.Metadata (.optional path) : surveille les métadonnées d'une ressource pour détecter les modifications (un sous-chemin de métadonnées peut être spécifié à un niveau arbitraire pour surveiller des valeurs spécifiques).

Oui

action

Commande shell arbitraire qui est exécutée telle quelle.

Oui

runas

Un utilisateur sous lequel exécuter les commandes. cfn-huputilise la commande su pour passer à l'utilisateur.

Oui

hooks.dannuaire

Pour prendre en charge la composition de plusieurs applications déployant des crochets de notification de modification, cfn-hup prend en charge un répertoire nommé hooks.d situé dans le répertoire de configuration des crochets. Vous pouvez placer un ou plusieurs fichiers de configuration de hooks supplémentaires dans le hooks.d répertoire. Les fichiers hooks supplémentaires doivent utiliser la même mise en page que le hooks.conf fichier.

Le cfn-hup démon analyse et charge chaque fichier de ce répertoire. Si l'un des crochets du hooks.d répertoire porte le même nom qu'un crochethooks.conf, les crochets seront fusionnés (ce qui signifie qu'ils hooks.d remplaceront toutes hooks.conf les valeurs spécifiées par les deux fichiers).

Exemples

Dans les exemples suivants, CloudFormation déclenche le fichier cfn-auto-reloader.conf hooks lorsque vous modifiez la AWS::CloudFormation::Init ressource associée à la LaunchConfig ressource.

JSON

... "LaunchConfig": { "Type" : "AWS::AutoScaling::LaunchConfiguration", "Metadata" : { "QBVersion": {"Ref": "paramQBVersion"}, "AWS::CloudFormation::Init" : { ... "/etc/cfn/hooks.d/cfn-auto-reloader.conf": { "content": { "Fn::Join": [ "", [ "[cfn-auto-reloader-hook]\n", "triggers=post.update\n", "path=Resources.LaunchConfig.Metadata.AWS::CloudFormation::Init\n", "action=/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref" : "AWS::StackName" }, " --resource LaunchConfig ", " --configsets wordpress_install ", " --region ", { "Ref" : "AWS::Region" }, "\n", "runas=root\n" ]]}, "mode" : "000400", "owner" : "root", "group" : "root" } ...

YAML

... LaunchConfig: Type: "AWS::AutoScaling::LaunchConfiguration" Metadata: QBVersion: !Ref paramQBVersion AWS::CloudFormation::Init: ... /etc/cfn/hooks.d/cfn-auto-reloader.conf: content: !Sub | [cfn-auto-reloader-hook] triggers=post.update path=Resources.LaunchConfig.Metadata.AWS::CloudFormation::Init action=/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region} runas=root mode: "000400" owner: "root" group: "root" ...

Pour un exemple de modèle, consultez la section Déploiement d'applications sur Amazon EC2 CloudFormation dans le guide de AWS CloudFormation l'utilisateur.

Rubrique suivante :

Spécification de ressource

Rubrique précédente :

cfn-get-metadata
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.