Questa è la nuova Guida di riferimento ai modelli CloudFormation . Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la Guida AWS CloudFormation per l'utente.
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-hup
L’helper cfn-hup è un daemon che rileva modifiche nei metadati della risorsa ed esegue azioni specificate dall’utente quando viene rilevata una modifica. Ciò consente di effettuare aggiornamenti di configurazione sulle EC2 istanze Amazon in esecuzione tramite l'azione UpdateStack API.
Per ulteriori informazioni, consulta il tutorial sull'aggiornamento di uno CloudFormation stack nella Guida per l'AWS CloudFormation utente.
Argomenti
Sintassi
cfn-hup --config|-c config.dir \ --no-daemon \ --verbose|-v
Opzioni
| Nome | Description | Richiesto |
|---|---|---|
|
|
Specifica il percorso in cui lo script |
No |
|
|
Specifica questa opzione per eseguire lo script |
No |
|
|
Specifica questa opzione per utilizzare la modalità dettagliata (verbose). |
No |
File di configurazione cfn-hup.conf
Il file cfn-hup.conf memorizza il nome dello stack e le credenziali AWS
che il daemon cfn-hup usa come destinazione.
Il file cfn-hup.conf utilizza il formato seguente:
[main] stack=<stack-name-or-id>
| Nome | Description | Richiesto |
|---|---|---|
|
|
Un nome o ID dello stack. ▬Tipo: stringa |
Sì |
|
|
Un file delle credenziali solo del proprietario, nello stesso formato utilizzato per gli strumenti a riga di comando. ▬Tipo: stringa Condizione: il parametro |
No |
|
|
Il nome di un ruolo IAM associato all’istanza. ▬Tipo: stringa |
No |
|
|
Il nome dello stack Regione AWS che contiene lo stack. Esempio: us-east-2 |
No |
|
|
L’ Questo valore può essere specificato con o senza 0 iniziale. In entrambi i casi, viene interpretato come un numero ottale (simile al comando Tipo: intero ottale compreso tra Default: |
No |
|
|
L’intervallo utilizzato per verificare la presenza di modifiche apportate ai metadati della risorsa in pochi minuti. Tipo: integer Default: |
No |
|
|
Specifica l’utilizzo della registrazione verbose. Tipo: Booleano Default: |
No |
File di configurazione hooks.conf
Le operazioni dell’utente che il daemon cfn-hup chiama periodicamente sono definite nel file di configurazione hooks.conf. Il file hooks.conf utilizza il formato seguente:
[hookname] triggers=post.addorpost.updateorpost.remove path=Resources.<logicalResourceId>(.Metadataor.PhysicalResourceId)(.<optionalMetadatapath>) action=<arbitrary shell command>runas=<runas user>
Al momento dell’esecuzione, l’operazione viene eseguita su una copia dell’ambiente attuale (su cui si trova cfn-hup), con CFN_OLD_METADATA impostato sul valore di metadati precedente specificato dal percorso e CFN_NEW_METADATA impostato sul valore attuale.
Il file di configurazione hook viene caricato solo all’avvio del daemon cfn-hup, perciò un nuovo hook richiede il riavvio del daemon. Una cache dei valori dei metadati precedenti viene memorizzata su /var/lib/cfn-hup/data/metadata_db: puoi eliminarla per forzare cfn-hup a eseguire di nuovo tutte le azioni post.add.
| Nome | Description | Richiesto |
|---|---|---|
|
|
Un nome univoco per questo hook. ▬Tipo: stringa |
Sì |
|
|
Un elenco di condizioni delimitate da virgola da rilevare. Valori validi: Esempio: |
Sì |
|
|
Il percorso verso l’oggetto metadati. Supporta un percorso profondo arbitrariamente all’interno del blocco di metadati. Opzioni del formato del percorso
|
Sì |
|
|
Un comando shell arbitrario che viene eseguito in modo invariato. |
Sì |
|
|
Un utente per eseguire il comando come |
Sì |
hooks.ddirectory
Per supportare la composizione di diverse applicazioni che distribuiscono hook di notifica della modifica, cfn-hup supporta una directory denominata hooks.d che si trova nella directory di configurazione degli hook. Puoi posizionare uno o più file di configurazione hook nella directory hooks.d. Il file hook aggiuntivi devono utilizzare lo stesso layout del file hooks.conf.
Il daemon cfn-hup analizza e carica ciascun file nella directory. Se qualsiasi hook nella directory hooks.d ha lo stesso nome di un hook in hooks.conf, gli hook verranno uniti (il che significa che hooks.d sovrascriverà hooks.conf per qualsiasi valore che entrambi i file specificano).
Esempi
Negli esempi seguenti, CloudFormation attiva il file cfn-auto-reloader.conf hooks quando si modifica la AWS::CloudFormation::Init risorsa associata alla LaunchConfig risorsa.
JSON
... "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
... 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" ...
Risorse correlate
Puoi anche visitare il nostro GitHub repository per scaricare i modelli di esempio che utilizziamocfn-hup, inclusi i seguenti modelli.