Dies ist das neue CloudFormation Template Reference Guide. Bitte aktualisieren Sie Ihre Lesezeichen und Links. Hilfe zu den ersten CloudFormation Schritten finden Sie im AWS CloudFormation Benutzerhandbuch.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
cfn-hup
Der cfn-hup -Helfer ist ein Daemon, der Änderungen in den Ressourcen-Metadaten erkennt und benutzerdefinierte Aktionen ausführt, wenn eine Änderung festgestellt wird. Auf diese Weise können Sie über die UpdateStack API-Aktion Konfigurationsaktualisierungen an Ihren laufenden EC2 Amazon-Instances vornehmen.
Weitere Informationen finden Sie im Tutorial „Einen CloudFormation Stack aktualisieren“ im AWS CloudFormation Benutzerhandbuch.
Themen
Syntax
cfn-hup --config|-c config.dir \ --no-daemon \ --verbose|-v
Optionen
| Name | Description | Erforderlich |
|---|---|---|
|
|
Gibt den Pfad an, in dem das Skript |
Nein |
|
|
Geben Sie diese Option an, um das Skript |
Nein |
|
|
Wählen Sie diese Option, um den Verbose-Modus zu verwenden. |
Nein |
cfn-hup.conf Konfigurationsdatei
Die Datei cfn-hup.conf speichert den Namen des Stacks und die AWS
Zugangsdaten, die der cfn-hup Daemon anvisiert.
Die Datei cfn-hup.conf verwendet das folgende Format:
[main] stack=<stack-name-or-id>
| Name | Description | Erforderlich |
|---|---|---|
|
|
Einen Stack-Namen oder eine ID. Typ: Zeichenfolge |
Ja |
|
|
Eine auf Besitzer beschränkte Anmeldeinformations-Datei im selben Format wie die Befehlszeilen-Tools. Typ: Zeichenfolge Bedingung: Der Parameter |
Nein |
|
|
Der Name einer IAM-Rolle, die mit dieser Instance verknüpft ist. Typ: Zeichenfolge |
Nein |
|
|
Der Name des Stacks AWS-Region , der den Stapel enthält. Example: us-east-2 |
Nein |
|
|
Das Dieser Wert kann mit oder ohne führende 0 angegeben werden. In beiden Fällen wird er es als Oktalzahl interpretiert (ähnlich dem Linux-Befehl Typ: Oktale ganze Zahl zwischen Standard: |
Nein |
|
|
Das Intervall in Minuten, wonach auf Änderungen an den Ressourcen-Metadaten geprüft werden soll. Typ: Ganzzahl Standardwert: |
Nein |
|
|
Gibt an, ob die ausführliche Protokollierung verwendet werden soll. Typ: Boolesch Standardwert: |
Nein |
hooks.conf Konfigurationsdatei
Die Benutzeraktionen, die der cfn-hup -Daemon regelmäßig aufruft, werden in der Konfigurationsdatei hooks.conf definiert. Die hooks.conf -Datei verwendet das folgende -Format:
[hookname] triggers=post.addorpost.updateorpost.remove path=Resources.<logicalResourceId>(.Metadataor.PhysicalResourceId)(.<optionalMetadatapath>) action=<arbitrary shell command>runas=<runas user>
Wenn die Operation ausgeführt wird, wird sie in einer Kopie der aktuellen Umgebung (in der sich cfn-hup befindet) ausgeführt, wobei CFN_OLD_METADATA auf den vorherigen, durch path angegebenen Metadatenwert und CFN_NEW_METADATA auf den aktuellen Wert gesetzt wird.
Die Konfigurationsdatei für die Hooks wird nur beim Start des cfn-hup -Daemons geladen, so dass neue Hooks einen Neustart des Daemons erfordern. Bei /var/lib/cfn-hup/data/metadata_dbwird ein Cache mit den vorherigen Metadatenwerten gespeichert - Sie können diesen Cache löschen, um cfn-hup zu zwingen, alle post.add -Aktionen erneut auszuführen.
| Name | Description | Erforderlich |
|---|---|---|
|
|
Eine eindeutige Bezeichnung für diesen Hook. Typ: Zeichenfolge |
Ja |
|
|
Eine durch Komma getrennte Liste der zu erkennenden Bedingungen. Gültige Werte: Beispiel: |
Ja |
|
|
Der Pfad zum Metadatenobjekt. Unterstützt einen willkürlich tiefen Pfad im Metadaten-Block. Pfad-Formatoptionen
|
Ja |
|
|
Ein frei wählbarer Shell-Befehl, der wie angegeben ausgeführt wird. |
Ja |
|
|
Ein Benutzer, unter dem die Befehle ausgeführt werden sollen. |
Ja |
hooks.dVerzeichnis
Um die Zusammenstellung mehrerer Anwendungen zu unterstützen, die Änderungsbenachrichtigungs-Hooks einsetzen, unterstützt cfn-hup ein Verzeichnis namens hooks.d , das sich im Konfigurationsverzeichnis für die Hooks befindet. Sie können eine oder mehrere zusätzliche Hooks-Konfigurationsdateien im Verzeichnis hooks.d ablegen. Die zusätzlichen Hooks-Dateien müssen das gleiche Layout wie die hooks.conf -Datei verwenden.
Der cfn-hup -Daemon parst und lädt jede Datei in diesem Verzeichnis. Wenn ein Hook im Verzeichnis hooks.d den gleichen Namen hat wie ein Hook in hooks.conf, werden die Hooks zusammengeführt (d.h. hooks.d überschreibt hooks.conf für alle Werte, die in beiden Dateien angegeben sind).
Beispiele
In den folgenden Beispielen CloudFormation wird die cfn-auto-reloader.conf Hooks-Datei ausgelöst, wenn Sie die AWS::CloudFormation::Init Ressource ändern, die der LaunchConfig Ressource zugeordnet ist.
JSON
... "LaunchConfig": { "Type" : "AWS::AutoScaling::LaunchConfiguration", "Metadata" : { "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: 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" ...
Zugehörige Ressourcen
Sie können auch unser GitHub Repository besuchen, um Beispielvorlagen herunterzuladen, die verwendencfn-hup, einschließlich der folgenden Vorlagen.