Utilizzo di Terraform per creare un'istanza EC2 con i parametri di allarme di Cloudwatch

Blog

Hey ragazzi! Volevo fare un breve tutorial su come ho creato un modulo EC2 per Terraform. Se vuoi vedere il repository in cui si trova Controllalo qui . Questo modulo farà alcune cose:



  1. Crea un'istanza EC2
  2. Cerca automaticamente l'AMI Windows Server 2019 più recente per l'istanza EC2.
  3. Creare e collegare un'unità aggiuntiva.
  4. Crea una metrica di allarme Cloudwatch per monitorare la CPU.

La struttura delle cartelle è simile a questa:

Immagine per il post



Per prima cosa… ho creato il main.tf file che contiene tutta la mia configurazione ad eccezione delle variabili e degli output. Il main.tf ha alcune parti.

Codice dell'istanza AWS

La prima sezione è il codice della risorsa dell'istanza



#AWS Instance resource 'aws_instance' 'example' { ami = data.aws_ami.windows.id instance_type = 't2.micro' availability_zone = var.availability_zone }

Noterai alcune cose qui.

  1. Il tipo di istanza è impostato nel modulo su t2.micro
  2. availability_zone è impostato utilizzando una variabile
  3. ami è impostato utilizzando i dati

Otterremo il pezzo della zona di disponibilità tra poco, per prima cosa affronteremo i dati utilizzati per l'argomento ami.

Dati per AMI utilizzando un filtro

Il prossimo bit di codice per il filtro assomiglia a questo

#AMI Filter for Windows Server 2019 Base data 'aws_ami' 'windows' { most_recent = true filter { name = 'name' values = ['Windows_Server-2019-English-Full-Base-*'] } filter { name = 'virtualization-type' values = ['hvm'] } owners = ['801119661308'] ## Canonical }

L'argomento più_recente è impostato su vero. Ciò significa che catturerà l'AMI più recente che soddisfa i criteri che specifichiamo nel nostro filtro.

Successivamente noterai che nel nome impostiamo il valore su * Windows_Server-2019-Inglese-Full-Base- **con la stella alla fine. Ciò consente a Terraform di sapere che non ci interessa quale testo viene dopo quel punto ed è stato fatto perché il formato standard inserisce la data lì. Se impostiamo la data di creazione dell'ami e impostiamo il piu recente l'argomento vero non ci servirebbe a niente.

Dopodiché impostiamo il tipo di virtualizzazione a hvm . Non entrerò in molti dettagli qui. Sappi solo che questa è una buona idea e fai qualche ricerca aggiuntiva su hvm vs pv.

Infine impostiamo **proprietari **a 801119661308 .

Ora sono sicuro che ti stai chiedendo ... come diamine ottengo effettivamente queste informazioni? Bene, dovrai eseguire un comando rapido con AWS cli.

Per prima cosa, accedi ad AWS e ottieni l'ami per cui vuoi prendere le informazioni. Ecco un esempio:

Immagine per il post

Se fai clic sull'istanza di avvio puoi eseguire una ricerca.

#aws-ec2 #hashicorp-terraform #aws-cloudwatch #terraform-modules #terraform

medium.com

Utilizzo di Terraform per creare un'istanza EC2 con i parametri di allarme di Cloudwatch

Hey ragazzi! Volevo fare un breve tutorial su come ho creato un modulo EC2 per Terraform. Se vuoi vedere il repository in cui si trova, dai un'occhiata qui. Questo modulo farà alcune cose: Crea un'istanza EC2 Cerca automaticamente l'AMI Windows Server 2019 più recente per l'istanza EC2. Creare e collegare un'unità aggiuntiva. Crea una metrica di allarme Cloudwatch per monitorare la CPU.