cfn-init - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

cfn-init

In un CloudFormation modello, puoi utilizzarlo AWS::CloudFormation::Init all'interno della Metadata sezione di una EC2 risorsa Amazon per definire le attività di inizializzazione. Per ulteriori informazioni, consulta AWS::CloudFormation::Init nella Guida per l'utente di AWS CloudFormation .

Lo script di cfn-init supporto legge i metadati del modello dalla AWS::CloudFormation::Init chiave e agisce di conseguenza per:

  • Recupera e analizza i metadati da CloudFormation

  • Installa i pacchetti

  • Scrivere file su disco

  • Servizi Enable/disable and start/stop

Lo script di cfn-init supporto viene in genere eseguito dai dati utente di un' EC2 istanza Amazon o di un modello di avvio.

Nota

Se lo utilizzi cfn-init per aggiornare un file esistente, crea una copia di backup del file originale nella stessa directory con estensione.bak. Ad esempio, se aggiorni /path/to/file_name, l'operazione genera due file: /path/to/file_name.bak racchiude i contenuti del file originale e /path/to/file_name racchiude i contenuti aggiornati.

Sintassi

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
Nota

cfn-initnon richiede credenziali, quindi non è necessario utilizzare le opzioni--access-key, --secret-key--role, o. --credential-file Tuttavia, se non viene specificata alcuna credenziale, CloudFormation verifica la sottoscrizione allo stack e limita l'ambito della chiamata allo stack a cui l'istanza appartiene. Per ulteriori informazioni, consulta Autorizzazioni per gli script helper.

Opzioni

Nome Descrizione Richiesto

-s, --stack

Nome dello stack o ID stack.

Tipo: Stringa

Default: nessuna

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

-r, --resource

L'ID di risorsa logica della risorsa che contiene i metadati.

Tipo: Stringa

Esempio: --resource WebServerHost

--region

L'endpoint CloudFormation regionale da utilizzare.

Tipo: Stringa

Default: us-east-1

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

No

--access-key

AWS chiave di accesso per un account con autorizzazione alla chiamataDescribeStackResource. CloudFormation Il parametro del file delle credenziali sostituisce questo parametro.

Tipo: Stringa

No

--secret-key

AWS chiave di accesso segreta che corrisponde alla chiave di AWS accesso specificata.

Tipo: Stringa

No

--role

Il nome di un ruolo IAM associato all'istanza.

Tipo: Stringa

Condizione: il parametro del file delle credenziali sostituisce questo parametro.

No

-f, --credential-file

Un file che contiene sia una chiave di accesso segreta sia una chiave di accesso. Il parametro del file delle credenziali sostituisce i parametri di ruolo, chiave di accesso e chiave segreta.

Tipo: Stringa

No

-c, --configsets

Un elenco separato da virgole di set di configurazione da eseguire (in ordine).

Tipo: Stringa

Default: default

No

-u, --url

L' CloudFormation endpoint da usare.

Tipo: Stringa

No

--http-proxy

Un proxy HTTP (non SSL). Utilizza il seguente formato: http://user:password@host:port

Tipo: Stringa

No

--https-proxy

Un proxy HTTPS. Utilizza il seguente formato: https://user:password@host:port

Tipo: Stringa

No

-v, --verbose

Output verboso. Ciò è utile per il debug dei casi in cui l'inizializzazione cfn-init non riesce.

Nota

Per eseguire il debug degli eventi di inizializzazione, è necessario attivarlo. DisableRollback È quindi possibile accedere tramite SSH alla console e leggere i log all'indirizzo. /var/log/cfn-init.log Per ulteriori informazioni, consulta Scegliere come gestire gli errori durante il provisioning delle risorse nella Guida per l'utente.AWS CloudFormation

No

-h, --help

Mostra il messaggio di aiuto ed esce.

No

Esempi

Esempi di Amazon Linux

Gli esempi seguenti mostrano la UserData proprietà di un' EC2 istanza, che esegue il InstallAndRun set di configurazione associato alla WebServerInstance risorsa.

Per includere la versione più recente, aggiungi yum install -y aws-cfn-bootstrap a UserData.

JSON

Proprietà UserData utilizzando la funzione intrinseca Fn::Join.

{ "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

Proprietà UserData utilizzando la funzione intrinseca Fn::Join.

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

Proprietà UserData utilizzando la funzione intrinseca Fn::Sub.

{ "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

Proprietà UserData utilizzando la funzione intrinseca Fn::Sub.

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} - {}

Puoi anche visitare il nostro GitHub repository per scaricare i modelli di esempio che utilizziamocfn-init, inclusi i seguenti modelli.

Per i modelli Windows, consulta Lavorare con i modelli di stack di Microsoft Windows nella Guida per l'AWS CloudFormation utente.