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 /
, l'operazione genera due file: path
/to
/file_name
/
racchiude i contenuti del file originale e path
/to
/file_name
.bak/
racchiude i contenuti aggiornati.path
/to
/file_name
Sintassi
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
Nota
cfn-init
non 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 |
---|---|---|
|
Nome dello stack o ID stack. Tipo: Stringa Default: nessuna Esempio: |
Sì |
|
L'ID di risorsa logica della risorsa che contiene i metadati. Tipo: Stringa Esempio: |
Sì |
|
L'endpoint CloudFormation regionale da utilizzare. Tipo: Stringa Default: Esempio: |
No |
|
AWS chiave di accesso per un account con autorizzazione alla chiamata Tipo: Stringa |
No |
|
AWS chiave di accesso segreta che corrisponde alla chiave di AWS accesso specificata. Tipo: Stringa |
No |
|
Il nome di un ruolo IAM associato all'istanza. Tipo: Stringa Condizione: il parametro del file delle credenziali sostituisce questo parametro. |
No |
|
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 |
|
Un elenco separato da virgole di set di configurazione da eseguire (in ordine). Tipo: Stringa Default: |
No |
|
L' CloudFormation endpoint da usare. Tipo: Stringa |
No |
|
Un proxy HTTP (non SSL). Utilizza il seguente formato: Tipo: Stringa |
No |
|
Un proxy HTTPS. Utilizza il seguente formato: Tipo: Stringa |
No |
|
Output verboso. Ciò è utile per il debug dei casi in cui l'inizializzazione NotaPer eseguire il debug degli eventi di inizializzazione, è necessario attivarlo. |
No |
|
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} - {}
Risorse correlate
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.