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
Beschreibung
Der cfn-hup Helper ist ein Daemon, der Änderungen an Ressourcen-Metadaten erkennt und benutzerspezifische Aktionen ausführt, wenn eine Änderung erkannt wird. Auf diese Weise können Sie über die UpdateStack
API Aktion Konfigurationsupdates für Ihre laufenden EC2 Amazon-Instances vornehmen.
Syntax
cfn-hup --config|-c config.dir \ --no-daemon \ --verbose|-v
Optionen
Name | Beschreibung | Erforderlich |
---|---|---|
|
Gibt den Pfad an, in dem das cfn-hup Script nach den Verzeichnissen |
Nein |
|
Wählen Sie diese Option, um das cfn-hup-Skript einmal auszuführen und zu beenden. |
Nein |
|
Wählen Sie diese Option, um den Verbose-Modus zu verwenden. |
Nein |
cfn-hup.conf Konfigurationsdatei
In der Datei cfn-hup.conf werden der Name des Stacks und die AWS Anmeldeinformationen gespeichert, auf die der cfn-hup-Daemon abzielt.
Die Datei cfn-hup.conf 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 Rolle, die der Instanz zugeordnet ist. IAM Typ: Zeichenfolge |
Nein |
|
Der Name der AWS Region, die den Stack enthält. Beispiel |
Nein |
|
Die umask, die vom cfn-hup-Daemon verwendet wird. 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 die cfn-hup-Daemon regelmäßig aufruft, sind in der Konfigurationsdatei hooks.conf festgelegt. Die Datei hooks.conf verwendet das folgende Format:
[hookname] triggers=post.add
or
post.updateor
post.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 (in der sich cfn-hup befindet) ausgeführt, wobei CFN _ _ auf den vorherigen Metadatenwert METADATA gesetzt ist, der durch den Pfad angegeben wird, und OLD CFN _ _ auf den aktuellen Wert gesetzt ist. NEW METADATA
Die Hook-Konfigurationsdatei wird nur beim Start des cfn-hup-Daemon geladen; für neue Hooks muss der Demon also neu gestartet werden. Ein Cache mit früheren Metadatenwerten wird gespeichert (at /var/lib/cfn-hup/data/metadata_db). Sie können diesen Cache löschen, um cfn-hup zu zwingen, alle post.add-Aktionen erneut auszuführen.
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, als der die Befehle ausgeführt werden sollen. Cfn-hup verwendet den su-Befehl zum Wechseln des Benutzers. |
Ja |
hooks.d-Verzeichnis
Um die Zusammenfassung mehrerer Anwendungen mit Änderungsbenachrichtungs-Hooks zu unterstützen, unterstützt cfn-hup ein Verzeichnis namens hooks.d, das sich im Hooks-Konfigurationsverzeichnis befindet. Im hooks.d-Verzeichnis können Sie eine oder mehrere weitere Hook-Konfigurationsdateien ablegen. Diese zusätzlichen Hooks-Dateien müssen dasselbe Layout wie die Datei hooks.conf nutzen.
Der cfn-hup-Daemon verarbeitet und lädt jede Datei in dieses Verzeichnis. Wenn ein Hook im hooks.d-Verzeichnis denselben Namen wie ein Hook in hooks.conf aufweist, werden die Hooks zusammengeführt (das bedeutet, dass hooks.d bei Werten, die bei beiden Daten festgelegt sind, hooks.conf überschreibt).
Beispiel
Löst im folgenden Vorlagenausschnitt die cfn-auto-reloader.conf
Hooks-Datei CloudFormation aus, wenn Sie die Ressource ändern, die der AWS::CloudFormation::Init
Ressource zugeordnet ist. LaunchConfig
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" ...
Weiteres Beispiel
Eine Beispielvorlage finden Sie hier: Anwendungen auf Amazon bereitstellen EC2.