Introduzione ai modelli AWS CloudFormation

AWS CloudFormation è un servizio che gestisce e imposta insieme diverse risorse AWS in modo da ridurre il tempo necessario per eseguirle e aumentare il tempo dedicato alle diverse applicazioni in Amazon Web Services. Per raggiungere questo obiettivo, viene utilizzato un modello che contiene tutte le risorse di cui l'utente ha bisogno. Questi modelli sono noti come modelli CloudFormation. Con l'aiuto di questi modelli, AWS CloudFormation si occupa della configurazione e del provisioning di tali risorse per l'utente. La struttura e il funzionamento del modello sono descritti nella sezione successiva.

Modelli CloudFormation

Il modello Amazon CloudFormation è un file di testo formattato in linguaggio YAML o JSON. Questi modelli possono essere creati con l'aiuto di una console o scrivendo uno script manualmente. Nella console, le risorse verranno trascinate e rilasciate dall'utente. Una volta completato, uno script JSON o YAML verrà generato automaticamente e l'utente potrà modificarlo se lo desidera. Per modificare o modificare il modello, l'utente può utilizzare qualsiasi strumento di editor di testo o AWS CloudFormation designer. Per scrivere, è necessario seguire un determinato formato con i seguenti oggetti. Gli oggetti principali del modello CloudFormation sono descritti di seguito.

1. Formato: qui è definita la versione del modello AWS CloudFormation.

Esempio:

(
"AWSTemplateFormatVersion": "2019-09-09"
)

2. Descrizione: Eventuali commenti o descrizioni sul modello possono essere annotati in questo oggetto.

Esempio:

(
"Description": "An Amazon Redshift cluster is created within a Virtual Private Cloud”
)

3. Metadati: ulteriori informazioni sul modello sono definite in linguaggio JSON o YAML.

Esempio:

(
"Metadata":
(
"AWS::CloudFormation::Interface": ()
)

4. Parametri: la personalizzazione dei modelli può essere effettuata utilizzando i parametri. Fornisce valori personalizzati al modello quando lo stack viene creato o aggiornato.

Esempio:

"Parameters" :
(
"KeyName": ()
"InstanceType" : ()
"DBName" : ()
"DBUser" : ()
"DBPassword" : ()
)

5. Mappature: in base a un valore nel parametro condizionale, all'utente sarà consentito mappare la chiave su di esso. Inoltre, da una mappa, gli utenti possono recuperare i valori utilizzando una funzione intrinseca "Fn :: FindInMap".

Esempio:

(
"AWSInstanceType2Arch" :
(
"t1.micro" : ( "Arch" : "HVM64" ),
.
.
"t2.large" : ( "Arch" : "HVM64" ),
"m1.small" : ( "Arch" : "HVM64" ),
.
"m1.large" : ( "Arch" : "HVM64" )
)

6. Risorse: nella sezione Risorse del modello AWS CloudFormation, è possibile dichiarare risorse come il bucket AWS Simple Storage Services (S3), AWS Lambda. Queste risorse possono anche essere create e specificate nello stack.

Esempio:

"Resources" :
(
"WebServerSecurityGroup" :
(
"Type" : " ",
"Properties" :
(
"GroupDescription" : "",
"SecurityGroupIngress" :() )
)
)

7. Output: la sezione di output contiene i valori che devono essere importati in altri stack o quelli che vengono restituiti mentre si visualizzano le proprie proprietà dello stack.

Esempio:

"Outputs" :
(
"Description" : "”
“Value”: “”
)
)

Ora, combiniamo tutte queste sezioni e vediamo come apparirà un modello.

Modello di esempio

(
"AWSTemplateFormatVersion": "2019-09-09"
"Description": "An Amazon Redshift cluster is created within a Virtual Private Cloud”
"Metadata": (
"AWS::CloudFormation::Interface": ()
)
"Parameters" : (
"KeyName": ()
"InstanceType" : ()
"DBName" : ()
"DBUser" : ()
"DBPassword" : ()
)
"Mappings" :
(
"AWSInstanceType2Arch" :
(
"t1.micro" : ( "Arch" : "HVM64" ),
.
.
"t2.large" : ( "Arch" : "HVM64" ),
"m1.small" : ( "Arch" : "HVM64" ),
.
"m1.large" : ( "Arch" : "HVM64" )
)
"Resources" :
(
"WebServerSecurityGroup" :
(
"Type" : " ",
"Properties" :
(
"GroupDescription" : "",
"SecurityGroupIngress" :() )
)
)
"Outputs" :
(
"Description" : "”
“Value”: “”
)
)

Una volta creato il modello, l'utente può caricare il modello nello stack.

Configurazione di Stack CloudFormation

Uno stack in AWS è una raccolta di risorse che possono essere gestite da una singola unità. Le risorse possono essere create, eliminate e aggiornate creando, eliminando e aggiornando stack. Ora, vediamo come stiamo lanciando questo stack e utilizziamo il modello CloudFormation al suo interno.

1. Registra l'account AWS se non ne hai uno. Se già presente, accedi utilizzando le credenziali.

2. Apri la console di AWS CloudFormation utilizzando l'URL https://console.aws.amazon.com/cloudformation.

3. Se disponi di un nuovo account CloudFormation, fai clic su Crea nuovo stack. Altrimenti, Crea Stack.

4. Seleziona Carica un modello su Amazon S3 da Scegli un modello. Carica il tuo modello selezionando Scegli file o fornendo un URL.

5. Si noti che se il modello CloudFormation è archiviato nel bucket S3, l'utente deve avere accesso a quello e le aree di bucket e stack S3 devono essere uguali.

6. Assegna un nome Stack appropriato nella sezione Specifica dettagli al tuo Stack CloudFormation.

7. Fornire il nome di EC2 Keypair nel KeyName

8. Accertarsi che EC2 Keypair e Stack siano nella stessa regione.

9. Fare clic su Avanti.

10. Viene visualizzata una pagina con alcuni campi di input opzionali come tag. I tag aiutano a identificare le pile poiché contengono coppie chiave-valore. Ma ora non stiamo creando tag.

11. Rivedere i dettagli e selezionare Crea.

12. L'avanzamento della creazione dello Stack è ora visibile nella scheda Eventi. Se la creazione dello stack è in corso, verrà visualizzato lo stato CREATE_IN_PROGRESS e se la creazione è completata, verrà visualizzato lo stato CREATE_COMPLETED.

13. Una volta creato lo Stack, l'utente può iniziare a utilizzare le risorse. Al fine di evitare costi aggiuntivi per i servizi indesiderati, si consiglia di eliminare le pile e le sue risorse.

Per eliminare lo stack, è possibile utilizzare i seguenti passaggi.

  • Vai alla console CloudFormation e seleziona lo Stack che hai creato.
  • Fai clic su Elimina pila.
  • Fare clic su Sì, Elimina quando viene visualizzato il messaggio di conferma.

Conclusione

CloudFormation Templates aiuta nel provisioning e nella configurazione delle risorse per l'utente in modo da ridurre il tempo impiegato per eseguire operazioni su più risorse e aumentare la concentrazione su diverse applicazioni presenti nei servizi Web di Amazon. La creazione e l'utilizzo di questi modelli sono discussi nella sezione precedente.

Articolo raccomandato

Questa è una guida ai modelli AWS CloudFormation. Qui discutiamo dell'introduzione e dei diversi modelli di CloudFormation insieme ad esempi. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Architettura AWS
  2. Servizi AWS
  3. Che cos'è AWS CloudFront
  4. Domande di intervista AWS
  5. Servizi di archiviazione AWS
  6. Concorrenti AWS | I 7 principali concorrenti di AWS con funzionalità
  7. Private Cloud vs Public Cloud
  8. Cos'è il cloud privato?

Categoria: