cfn-init - AWS CloudFormation

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-init

In einer CloudFormation Vorlage können Sie AWS::CloudFormation::Init innerhalb des Metadata Abschnitts einer Amazon EC2 EC2-Ressource Initialisierungsaufgaben definieren. Weitere Informationen finden Sie unter AWS::CloudFormation::Init.

Das Hilfsskript cfn-init liest die Metadaten der Vorlage aus dem Schlüssel AWS::CloudFormation::Init und handelt entsprechend:

  • Rufen Sie Metadaten ab und analysieren Sie sie von CloudFormation

  • Pakete installieren

  • Dateien auf die Festplatte zu schreiben

  • Enable/disable and start/stop-Services

Das Hilfsskript cfn-init wird in der Regel von den Benutzerdaten einer Amazon EC2-Instance oder einer Startvorlage aus ausgeführt.

Wenn Sie mit der Verwendung von Hilfsskripten noch nicht vertraut sind, empfehlen wir Ihnen, zunächst das Bereitstellen von Anwendungen auf Amazon EC2-Tutorial im AWS CloudFormation -Benutzerhandbuchzu lesen.

Anmerkung

Wenn Sie cfn-init verwenden, um eine bestehende Datei zu aktualisieren, wird eine Sicherungskopie der Originaldatei im selben Verzeichnis mit der Erweiterung .bak erstellt. Wenn Sie beispielsweise /path/to/file_name aktualisieren, werden bei der Aktion zwei Dateien erzeugt: /path/to/file_name.bak enthält den ursprünglichen Inhalt der Datei, /path/to/file_name den aktualisierten Inhalt.

Syntax

cfn-init --stack|-s stack.name.or.id \ --resource|-r logical.resource.id \ --region region \ --access-key access.key \ --secret-key secret.key \ --role rolename \ --credential-file|-f credential.file \ --configsets|-c config.sets \ --url|-u service.url \ --http-proxy HTTP.proxy \ --https-proxy HTTPS.proxy \ --verbose|-v
Anmerkung

Für cfn-init sind keine Berechtigungsnachweise erforderlich, so dass Sie die Optionen --access-key, --secret-key, --role oder --credential-file nicht verwenden müssen. Wenn jedoch keine Anmeldeinformationen angegeben werden, prüft CloudFormation auf Stack-Mitgliedschaft und schränkt den Geltungsbereich des Aufrufs desjenigen Stacks ein, zu dem die Instance gehört. Weitere Informationen finden Sie unter Berechtigungen für Helferobjektskripte.

Optionen

Name Description Erforderlich

-s, --stack

Stackname oder Stack-ID.

Typ: Zeichenfolge

Standard: Keiner

Beispiel: --stack { "Ref" : "AWS::StackName" },

Ja

-r, --resource

Die logische Ressourcen-ID der Ressource, die die Metadaten enthält.

Typ: Zeichenfolge

Beispiel: --resource WebServerHost

Ja

--region

Der zu CloudFormation verwendende regionale Endpunkt.

Typ: Zeichenfolge

Standardwert: us-east-1

Beispiel: --region ", { "Ref" : "AWS::Region" },

Nein

--access-key

AWS Zugriffsschlüssel für ein Konto mit DescribeStackResource Anrufberechtigung CloudFormation. Der Dateiparameter Anmeldeinformationen hat Vorrang vor diesem Parameter.

Typ: Zeichenfolge

Nein

--secret-key

AWS geheimer Zugriffsschlüssel, der dem angegebenen AWS Zugriffsschlüssel entspricht.

Typ: Zeichenfolge

Nein

--role

Der Name einer IAM-Rolle, die mit dieser Instance verknüpft ist.

Typ: Zeichenfolge

Bedingun: Der Dateiparameter Anmeldeinformationen hat Vorrang vor diesem Parameter.

Nein

-f, --credential-file

Eine Datei mit einem geheimen Zugriffsschlüssel und einem Zugriffsschlüssel. Der Dateiparameter Anmeldeinformationen hat Vorrang vor den Parametern Rolle, Zugriffschlüssel und geheimer Zugriffschlüssel.

Typ: Zeichenfolge

Nein

-c, --configsets

Eine durch Kommas getrennte Liste der auszuführenden configsets (in Reihenfolge).

Typ: Zeichenfolge

Standardwert: default

Nein

-u, --url

Der zu verwendende CloudFormation Endpunkt.

Typ: Zeichenfolge

Nein

--http-proxy

Ein HTTP-Proxys (Nicht-SSL). Verwenden Sie das folgende Format: http://user:password@host:port

Typ: Zeichenfolge

Nein

--https-proxy

Ein HTTPS-Proxy. Verwenden Sie das folgende Format: https://user:password@host:port

Typ: Zeichenfolge

Nein

-v, --verbose

Ausführliche Ausgabe. Dies ist nützlich für die Fehlersuche in Fällen, in denen die Initialisierung von cfn-init fehlgeschlagen ist.

Anmerkung

Um Initialisierungsereignisse zu debuggen, sollten Sie DisableRollback einschalten. Sie können sich dann per SSH in die Konsole einloggen und die Protokolle unter /var/log/cfn-init.log lesen. Weitere Informationen finden Sie unter Auswählen, wie mit Fehlern bei der Bereitstellung von Ressourcen umgegangen werden soll im AWS CloudFormation -Benutzerhandbuch.

Nein

-h, --help

Zeigt eine Hilfsnachricht an und wird beendet.

Nein

Beispiele

Amazon Linux Beispiele

Die folgenden Beispiele zeigen die UserData-Eigenschaft einer EC2-Instance, die das InstallAndRun-Konfigurationsset ausführt, das mit der WebServerInstance-Ressource verbunden ist.

Um die neueste Version aufzunehmen, fügen Sie yum install -y aws-cfn-bootstrap zu UserData hinzu.

JSON

UserData-Eigenschaft mit der intrinsischen Fn::Join-Funktion.

{ "UserData": { "Fn::Base64": { "Fn::Join": [ "", [ "#!/bin/bash -xe\n", "", "yum install -y aws-cfn-bootstrap", "/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref": "AWS::StackName" }, " --resource WebServerInstance ", " --configsets InstallAndRun ", " --region ", { "Ref": "AWS::Region" }, "\n" ] ] } } }

YAML

UserData-Eigenschaft mit der intrinsischen Fn::Sub-Funktion.

UserData: Fn::Base64: !Sub | #!/bin/bash -xe yum update -y aws-cfn-bootstrap # Install the files and packages from the metadata /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource WebServerInstance --configsets InstallAndRun --region ${AWS::Region}

Eine Anleitung mit einer Beispielvorlage finden Sie unter Bereitstellen von Anwendungen auf Amazon EC2 im AWS CloudFormation -Benutzerhandbuch.

Ein Windows Beispiel finden Sie unter WindowsBootstrapping-basierte CloudFormation Stacks im AWS CloudFormation Benutzerhandbuch.

Sie können auch unser GitHub Repository besuchen, um Beispielvorlagen herunterzuladen, die verwendet werdencfn-init, einschließlich der folgenden Vorlagen.

Beispiele für LAMP-Stack-Vorlagen, die verwendet cfn-init werden, finden Sie unter ec2-lamp-server auf der Website. GitHub