

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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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
<a name="cfn-hup"></a>

Der `cfn-hup` -Helfer ist ein Daemon, der Änderungen in den Ressourcen-Metadaten erkennt und benutzerdefinierte Aktionen ausführt, wenn eine Änderung festgestellt wird. Hierdurch können Sie über die API-Aktion `UpdateStack` Konfigurations-Aktualisierungen an Ihren laufenden Amazon-EC2-Instances vornehmen.

Weitere Informationen finden Sie im Tutorial „[Einen CloudFormation Stack aktualisieren](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/updating.stacks.walkthrough.html)“ im *AWS CloudFormation Benutzerhandbuch*.

**Topics**
+ [Syntax](#cfn-hup-Syntax)
+ [Optionen](#cfn-hup-options)
+ [cfn-hup.conf Konfigurationsdatei](#cfn-hup-config-file)
+ [`hooks.conf` Konfigurationsdatei](#cfn-hup-hook-file)
+ [`hooks.d`Verzeichnis](#cfn-hup-hooks-dir)
+ [Beispiele](#cfn-hup-examples)
+ [Zugehörige Ressourcen](#cfn-hup-related-resources)

## Syntax
<a name="cfn-hup-Syntax"></a>

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

## Optionen
<a name="cfn-hup-options"></a>


| Name | Description | Erforderlich | 
| --- | --- | --- | 
|   `--config\|-c config.dir`   |  Gibt den Pfad an, in dem das Skript `cfn-hup` nach den Verzeichnissen `cfn-hup.conf` und `hooks.d` sucht. Unter Windows ist der Standardpfad `system_drive\cfn`. Unter Linux ist der Standardpfad `/etc/cfn`.  |  Nein  | 
|   `--no-daemon`   |  Geben Sie diese Option an, um das Skript `cfn-hup` einmal auszuführen und zu beenden.  |  Nein  | 
|   `-v, --verbose `   |  Wählen Sie diese Option, um den Verbose-Modus zu verwenden.  |  Nein  | 

## cfn-hup.conf Konfigurationsdatei
<a name="cfn-hup-config-file"></a>

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 | 
| --- | --- | --- | 
|   `stack`   |  Einen Stack-Namen oder eine ID. *Typ:* Zeichenfolge  |  Ja  | 
|   `credential-file`   |  Eine auf Besitzer beschränkte Anmeldeinformations-Datei im selben Format wie die Befehlszeilen-Tools. *Typ:* Zeichenfolge *Bedingung*: Der Parameter `role` hat Vorrang vor diesem Parameter.  |  Nein  | 
|   `role`   |  Der Name einer IAM-Rolle, die mit dieser Instance verknüpft ist. *Typ:* Zeichenfolge  |  Nein  | 
|   `region`   |  Der Name des Stacks AWS-Region , der den Stapel enthält. *Example*: us-east-2  |  Nein  | 
|   `umask`   |  Das `umask` , das 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 `umask`). Dieser Parameter hat in Windows keine Wirkung. *Typ*: Oktale ganze Zahl zwischen `0` und `0777` *Standard*: `022`, Version 1.4–22 und höher. Der Standardwert `022` maskiert die Schreibrechte für Gruppen und die Welt, so dass Dateien, die vom `cfn-hup` -Daemon erstellt werden, standardmäßig nicht für Gruppen oder die Welt schreibbar sind. Der Standardwert für Versionen 1.4–21 und früher ist `0`. Dieser Wert maskiert nichts.  |  Nein  | 
|   `interval`   |  Das Intervall in Minuten, wonach auf Änderungen an den Ressourcen-Metadaten geprüft werden soll. *Typ*: Ganzzahl *Standardwert*: `15`  |  Nein  | 
|   `verbose`   |  Gibt an, ob die ausführliche Protokollierung verwendet werden soll. *Typ*: Boolesch *Standardwert*: `false`  |  Nein  | 

## `hooks.conf` Konfigurationsdatei
<a name="cfn-hup-hook-file"></a>

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.add or post.update or post.remove
path=Resources.<logicalResourceId> (.Metadata or .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_db`wird 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 | 
| --- | --- | --- | 
|   `hookname`   |  Eine eindeutige Bezeichnung für diesen Hook. *Typ:* Zeichenfolge  |  Ja  | 
|   `triggers`   |  Eine durch Komma getrennte Liste der zu erkennenden Bedingungen. *Gültige Werte*: `post.add`, `post.update`, oder `post.remove` *Beispiel*: `post.add, post.update`  |  Ja  | 
|   `path`   |  Der Pfad zum Metadatenobjekt. Unterstützt einen willkürlich tiefen Pfad im Metadaten-Block.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/TemplateReference/cfn-hup.html)  |  Ja  | 
|   `action`   |  Ein frei wählbarer Shell-Befehl, der wie angegeben ausgeführt wird.  |  Ja  | 
|   `runas`   |  Ein Benutzer, unter dem die Befehle ausgeführt werden sollen. `cfn-hup` verwendet den Befehl su, um zu diesem Benutzer zu wechseln.  |  Ja  | 

## `hooks.d`Verzeichnis
<a name="cfn-hup-hooks-dir"></a>

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
<a name="cfn-hup-examples"></a>

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
<a name="cfn-hup-example.json"></a>

```
...
    "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
<a name="cfn-hup-example.yaml"></a>

```
...
  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
<a name="cfn-hup-related-resources"></a>

Sie können auch unser GitHub Repository besuchen, um [Beispielvorlagen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html#sample-templates) herunterzuladen, die verwenden`cfn-hup`, einschließlich der folgenden Vorlagen.
+  [InstanceWithCfnInit.yaml](https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/EC2/InstanceWithCfnInit.yaml) 
+  [AutoScalingRollingUpdates.yaml](https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/AutoScaling/AutoScalingRollingUpdates.yaml) 