View a markdown version of this page

Convalida i modelli con cloudformation-validate - 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à.

Convalida i modelli con cloudformation-validate

Il cloudformation-validate progetto open source controlla i CloudFormation modelli JSON e YAML localmente ed è disponibile su. GitHub Può trovare una struttura del modello non valida, riferimenti non funzionanti, problemi di sicurezza e problemi relativi alle best practice. Ogni risultato include il problema, la sua gravità e la sua posizione nel modello.

Lo strumento include le regole e le definizioni CloudFormation delle risorse necessarie, quindi viene eseguito senza accesso alla rete o AWS credenziali dopo l'installazione.

Scegli un metodo di convalida

  • Riga di comando: cfn-validate esegui per controllare uno o tutti i modelli in una directory da un terminale o da una build automatica.

  • Libreria: aggiungi il validatore a un'applicazione Rust Node.js, Python, Go o JVM ed elabora i risultati nel tuo codice.

  • AWS CDK— Convalida automaticamente i modelli dopo che CDK li ha sintetizzati.

  • Regole personalizzate: aggiungi controlli scritti in CEL, Rego o nel linguaggio delle regole Guard. Per i formati e gli esempi di regole supportati, consulta il riferimento alle regole personalizzate su GitHub. Per la sintassi delle regole Guard, Convalida i modelli con Guard consulta questa guida.

Installa lo strumento da riga di comando

Apri la cfn-validate versione https://github.com/aws-cloudformation/cloudformation-validate/releases/latest più recente GitHub e scarica il cfn-validate file per il tuo sistema operativo e processore. Segui la guida all'installazione GitHub per rinominare il file incfn-validate, aggiungerlo al tuo PATH e verificare il file scaricato.

Esegui la convalida

Il comando utilizza la seguente sintassi:

cfn-validate TEMPLATE_OR_DIRECTORY [OPTIONS]

Seleziona un modello:

cfn-validate template.yaml

Passa una directory per controllare ricorsivamente ogni file .yaml.yml, e: .json

cfn-validate ./templates/

Il comando scrive un report di convalida JSON strutturato sullo standard output. Da utilizzare --format standard per un output compatto o --format detailed per il report dettagliato predefinito.

Il comando 0 viene restituito quando non rileva errori o diagnosi irreversibili, 1 quando rileva errori o diagnosi irreversibili e 2 per un errore di utilizzo o di inizializzazione, ad esempio un'opzione non valida o un file che non esiste.

Per tutti i motori, i filtri, i formati di output e i parametri, vedi il riferimento CLI su. cfn-validate GitHub

Aggiungi regole personalizzate

Usalo --rule-source per caricare un file di regole Rego o CEL personalizzato. --guard-rule-sourceDa utilizzare per caricare un file o una directory di regole Guard. Puoi ripetere entrambe le opzioni per caricare più sorgenti di regole:

cfn-validate template.yaml --rule-source ./rules/my-rule.rego cfn-validate template.yaml --guard-rule-source ./guard-rules/

Per i formati e gli esempi delle regole, consulta Custom Rules Reference su GitHub.

Incorpora la libreria di convalida

Installa il pacchetto pubblicato per il tuo linguaggio di programmazione per eseguire gli stessi controlli offline dall'applicazione. Crea un motore di convalida una sola volta, riutilizzalo per più modelli ed elabora la diagnostica strutturata restituita per ogni modello. Puoi anche configurare regole CEL, Rego o Guard personalizzate tramite l'API della libreria.

Per le istruzioni di installazione e le piattaforme supportate, consulta la guida all'installazione con associazione linguistica.

Per esempi completi in ogni lingua e collegamenti a ciascuna guida API, vedi Embedding as a library nella documentazione del progetto su GitHub.

Utilizzo con AWS CDK

Se si utilizza AWS CDK, non è necessario installare il validatore separatamente. La libreria di AWS CDK costrutti include un'impostazione predefinita CloudFormationValidatePlugin che esegue automaticamente gli stessi controlli dopo aver sintetizzato i modelli. CloudFormation

cdk synth

CDK riporta i possibili errori di implementazione e i risultati delle best practice con i risultati della convalida. È possibile configurare in modo esplicito CloudFormationValidatePlugin quando si desidera aggiungere regole Rego o Guard personalizzate.

Per la configurazione del plug-in, i riconoscimenti e i report di convalida, vedi Convalida dei modelli e delle policy nell'API Reference. AWS CDK

Comprendi l'ambito di convalida

Per i limiti della convalida locale e le misure da adottare prima della distribuzione, consulta. Comprendi l'ambito di convalida