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
Beschreibung
Das Hilfsskript cfn-init liest Vorlagen-Metadaten aus dem AWS::CloudFormation::Init
-Schlüssel und agiert entsprechend, um:
-
Ruft Metadaten ab und analysiert sie von CloudFormation
-
Pakete installieren
-
Dateien auf die Festplatte zu schreiben
-
Enable/disable and start/stopDienste
Anmerkung
Wenn Sie cfn-init zum Aktualisieren einer vorhandenen Datei verwenden, wird eine Sicherungskopie der ursprünglichen Datei im selben Verzeichnis mit der Erweiterung.bak angelegt. Wenn Sie beispielsweise /
aktualisieren, werden bei der Aktion zwei Dateien erzeugt: path
/to
/file_name
/
enthält den ursprünglichen Inhalt der Datei, path
/to
/file_name
.bak/
den aktualisierten Inhalt.path
/to
/file_name
Informationen zu den Vorlagen-Metadaten finden Sie unter AWS::CloudFormation::Init.
Anmerkung
cfn-init erfordert keine Anmeldeinformationen; die Optionen --access-key
, --secret-key
, --role
oder --credential-file
müssen also nicht verwendet werden. Wenn jedoch keine Anmeldeinformationen angegeben sind, wird die Stack-Mitgliedschaft CloudFormation geprüft und der Umfang des Aufrufs auf den Stack beschränkt, zu dem die Instanz gehört.
Syntax
cfn-init --stack|-s
stack.name.or.id
\ --resource|-rlogical.resource.id
\ --regionregion
\ --access-keyaccess.key
\ --secret-keysecret.key
\ --rolerolename
\ --credential-file|-fcredential.file
\ --configsets|-cconfig.sets
\ --url|-uservice.url
\ --http-proxyHTTP.proxy
\ --https-proxyHTTPS.proxy
\ --verbose|-v
Optionen
Name | Beschreibung | Erforderlich |
---|---|---|
|
Stackname oder Stack-ID. Typ: Zeichenfolge Standard: Keiner Beispiel: |
Ja |
|
Die logische Ressourcen-ID der Ressource, die die Metadaten enthält. Typ: Zeichenfolge Beispiel: |
Ja |
|
Der zu verwendende CloudFormation regionale Endpunkt. Typ: Zeichenfolge Standardwert: Beispiel: |
Nein |
|
AWS Zugriffsschlüssel für ein Konto mit Typ: Zeichenfolge |
Nein |
|
AWS geheimer Zugriffsschlüssel, der dem angegebenen AWS Zugriffsschlüssel entspricht. Typ: Zeichenfolge |
Nein |
|
Der Name einer IAM Rolle, die der Instanz zugeordnet ist. Typ: Zeichenfolge Bedingun: Der Dateiparameter Anmeldeinformationen hat Vorrang vor diesem Parameter. |
Nein |
|
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 |
|
Eine durch Kommas getrennte Liste der auszuführenden configsets (in Reihenfolge). Typ: Zeichenfolge Standardwert: |
Nein |
|
Der zu verwendende CloudFormation Endpunkt. Typ: Zeichenfolge |
Nein |
|
Ein HTTP Proxy (nicht-SSL). Verwenden Sie das folgende Format: Typ: Zeichenfolge |
Nein |
|
Ein HTTPS Proxy. Verwenden Sie das folgende Format: Typ: Zeichenfolge |
Nein |
|
Ausführliche Ausgabe. Dies ist nützlich zum Debuggen, wenn cfn-init nicht initialisiert. AnmerkungUm Initialisierungsereignisse zu debuggen, sollten Sie die Option aktivieren DisableRollback . Sie können dies tun, indem Sie in der CloudFormation Konsole die Option Erweiterte Optionen anzeigen auswählen und dann Rollback bei Fehler auf Nein setzen. Sie können dann SSH in die Konsole gehen und die Protokolle at /var/log/cfn -init.log lesen. |
Nein |
|
Zeigt eine Hilfsnachricht an und wird beendet. |
Nein |
Beispiel
Beispiel für Amazon Linux
Die folgenden Ausschnitte zeigen die UserData
Eigenschaft einer EC2 Instanz, die das der Ressource zugeordnete InstallAndRun
Konfigurationsset ausführt. WebServerInstance
Eine vollständige Beispielvorlage finden Sie in Anwendungen auf Amazon bereitstellen EC2.
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::Join
-Funktion.
UserData: !Base64 'Fn::Join': - '' - - | #!/bin/bash -xe - '' - yum install -y aws-cfn-bootstrap - '/opt/aws/bin/cfn-init -v ' - ' --stack ' - !Ref 'AWS::StackName' - ' --resource WebServerInstance ' - ' --configsets InstallAndRun ' - ' --region ' - !Ref 'AWS::Region' - |+
JSON
UserData
-Eigenschaft mit der intrinsischen Fn::Sub
-Funktion.
{ "UserData": { "Fn::Base64": { "Fn::Sub": [ "#!/bin/bash -x\n# Install the files and packages from the metadata\n/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region}\n\n# Signal the status from cfn-init\n/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region}\n", {} ] } } }
YAML
UserData
-Eigenschaft mit der intrinsischen Fn::Sub
-Funktion.
UserData: !Base64 'Fn::Sub': - > #!/bin/bash -x # Install the files and packages from the metadata /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region} # Signal the status from cfn-init /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region} - {}