Creazione di configurazioni di risorse riutilizzabili che possono essere incluse nei modelli con i moduli CloudFormation
I moduli sono un modo per creare pacchetti di configurazioni delle risorse per l’inclusione su modelli di stack, in modo trasparente, gestibile e ripetibile. I moduli possono incapsulare configurazioni di servizio comuni e best practice come blocchi predefiniti modulari e personalizzabili da includere nei modelli di stack. I moduli consentono di includere configurazioni delle risorse che incorporano best practice, conoscenza esperta del settore e linee guida accettate (per ambiti quali sicurezza, conformità, governance e normative di settore) nei modelli, senza dover acquisire una conoscenza approfondita delle complessità dell’implementazione delle risorse.
Ad esempio, un esperto del settore nelle reti potrebbe creare un modulo contenente gruppi di sicurezza incorporati e regole di ingresso/uscita che rispettino le linee guida di sicurezza. È quindi possibile includere tale modulo nel modello per eseguire il provisioning di un’infrastruttura di rete sicura nello stack, senza dover perdere tempo a capire come funzionano VPC, sottoreti, gruppi di sicurezza e gateway. E poiché i moduli hanno più versioni, se le linee guida di sicurezza cambiano nel tempo, l’autore del modulo può creare una nuova versione che incorpora tali modifiche.
Le caratteristiche dell’utilizzo dei moduli nei modelli includono:
-
Prevedibilità: un modulo deve aderire allo schema registrato nel registro CloudFormation, in modo da sapere quali risorse può risolvere una volta incluso nel modello.
-
Riutilizzo: puoi usare lo stesso modulo su più modelli e account.
-
Tracciabilità: CloudFormation mantiene la conoscenza di quali risorse in uno stack sono state fornite da un modulo, consentendo di comprendere facilmente l’origine delle modifiche alle risorse.
-
Gestibilità: una volta registrato un modulo, puoi gestirlo tramite il registro CloudFormation, incluso il controllo delle versioni e la disponibilità di account e regioni.
Un modulo può contenere:
-
Una o più risorse di cui eseguire il provisioning dal modulo, insieme a tutti i dati associati, come output o condizioni.
-
Qualsiasi parametro del modulo, che consente di specificare valori personalizzati ogni volta che viene utilizzato il modulo.
Per informazioni sullo sviluppo di moduli, consulta Developing modules nella Guida per l’utente della CLI di CloudFormation.
Argomenti
Considerazioni su quando utilizzare i moduli
-
L’utilizzo dei moduli non comporta costi supplementari. Si paga solo per le risorse che i moduli risolvono negli stack.
-
Le quote CloudFormation, ad esempio il numero massimo di risorse consentite in uno stack, o la dimensione massima del corpo del modello, si applicano al modello elaborato indipendentemente dal fatto che le risorse incluse in tale modello provengano o meno da moduli. Per ulteriori informazioni, consulta Comprendere le quote di CloudFormation.
-
I tag specificati a livello di stack vengono assegnati alle singole risorse derivate dal modulo.
-
Gli script helper specificati a livello di modulo non si propagano alle singole risorse contenute nel modulo quando CloudFormation elabora il modello.
-
Gli output specificati nel modulo vengono propagati agli output a livello di modello.
Ad ogni output verrà assegnato un ID logico che è una concatenazione del nome logico del modulo e del nome di output così come definito nel modulo. Per ulteriori informazioni, consulta Ottieni gli output esportati da uno stack di CloudFormation distribuito.
-
I parametri specificati nel modulo non vengono propagati ai parametri a livello di modello.
Tuttavia, è possibile creare parametri a livello di modello che fanno riferimento ai parametri a livello di modulo. Per ulteriori informazioni, consulta Utilizzo dei parametri per specificare i valori dei moduli.