Dies ist der neue AWS CloudFormation Vorlagen-Referenzleitfaden. 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 Helper ist ein Daemon, der Änderungen an Ressourcenmetadaten erkennt und benutzerdefinierte Aktionen ausführt, wenn eine Änderung erkannt wird. Auf diese Weise können Sie über die UpdateStack API-Aktion Konfigurationsaktualisierungen an Ihren laufenden EC2 Amazon-Instances vornehmen.
Themen
Syntax
cfn-hup --config|-c config.dir \ --no-daemon \ --verbose|-v
Optionen
| Name | Beschreibung | Erforderlich |
|---|---|---|
|
|
Gibt den Pfad an, nach dem das |
Nein |
|
|
Geben Sie diese Option an, um das |
Nein |
|
|
Wählen Sie diese Option, um den Verbose-Modus zu verwenden. |
Nein |
cfn-hup.conf Konfigurationsdatei
In der cfn-hup.conf Datei werden der Name des Stacks und die AWS
Anmeldeinformationen gespeichert, auf die der cfn-hup Daemon abzielt.
Die cfn-hup.conf Datei verwendet das folgende Format:
[main] stack=<stack-name-or-id>
| Name | Beschreibung | 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. Beispiel |
Nein |
|
|
Der 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, sind in der hooks.conf Konfigurationsdatei 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 der Vorgang ausgeführt wird, wird er in einer Kopie der aktuellen Umgebung (die sich in) cfn-hup befindet, ausgeführt, wobei CFN_OLD_METADATA der vorherige Metadatenwert, der durch den Pfad angegeben wird, und auf den aktuellen Wert CFN_NEW_METADATA gesetzt wird.
Die Hooks-Konfigurationsdatei wird nur beim Start des cfn-hup Daemons geladen, sodass bei neuen Hooks der Daemon neu gestartet werden muss. Ein Cache mit früheren Metadatenwerten wird unter gespeichert /var/lib/cfn-hup/data/metadata_db — Sie können diesen Cache löschen, um cfn-hup zu erzwingen, dass alle post.add Aktionen erneut ausgeführt werden.
| Name | Beschreibung | 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 Hooks für Änderungsbenachrichtigungen einsetzen, wird ein Verzeichnis mit dem Namen cfn-hup unterstützthooks.d, das sich im Hooks-Konfigurationsverzeichnis befindet. Sie können eine oder mehrere zusätzliche Hooks-Konfigurationsdateien im hooks.d Verzeichnis ablegen. Die zusätzlichen Hooks-Dateien müssen dasselbe Layout wie die hooks.conf Datei verwenden.
Der cfn-hup Daemon analysiert und lädt jede Datei in diesem Verzeichnis. Falls irgendwelche Hooks im hooks.d Verzeichnis den gleichen Namen wie ein Hook-In habenhooks.conf, werden die Hooks zusammengeführt (d. h. hooks.d sie werden hooks.conf für alle Werte, die beide Dateien angeben, überschrieben).
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" : { "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" ...
Zugehörige Ressourcen
Sie können auch unser GitHub Repository besuchen, um Beispielvorlagen herunterzuladen, die verwendencfn-hup, einschließlich der folgenden Vorlagen.