Con l'aumento della tecnologia del cloud computing, più industrie stanno migrando i loro carichi di lavoro in infrastrutture basate sul cloud. Come risultato di questo modello, i tecnologi hanno ritenuto la necessità di un meccanismo per automatizzare il processo di distribuzione delle istanze (e altre risorse cloud). Terraform è uno strumento open source per facilitare questo progresso.
Cosa copriremo
Questo articolo mostrerà come possiamo creare un'istanza EC2 su AWS usando Terraform. Vedremo un esempio di installazione di un semplice server Web in questa istanza. Parliamo per la prima volta sull'installazione di Terraform.
Come puoi installare Terraform
Pacchetti di terraform ufficiali per vari sistemi operativi come Windows, Mac e Distri basati su Linux, come Ubuntu/Debian, Centro/RHEL, ecc., sono disponibili. Inoltre, Terraform mantiene anche il binario pre-compilato e può anche essere compilato dalla sorgente. È possibile controllare le varie procedure di installazione sul sito Web di Terraform. Per verificare l'installazione di Terraform, eseguire il seguente comando:
1 | $ Terraform -Version |
Creazione dell'istanza AWS EC2 usando Terraform
Dopo aver installato Terraform sul sistema, procedi con la creazione di un'istanza EC2 su AWS. Esistono alcuni file per gestire efficacemente una distribuzione Terraform. Sebbene possiamo creare un singolo file e dichiarare tutte le cose, questo approccio renderà goffo l'intero scenario. Quindi, creiamo prima una directory di lavoro come segue:
Passo 1. Inizia con una cartella che conterrà tutti i file di configurazione. Crea la cartella e spostati al suo interno come mostrato nel seguente:
1 | $ MKDIR Linuxhint-Terraform && CD Linuxhint-Terraform |
Passo 2. Creiamo il nostro primo file di configurazione, "Variabili.TF ”, che contiene informazioni sulla nostra regione AWS e sul tipo di istanza che vogliamo usare, come mostrato nel seguente:
1 | $ nano variabili.tf |
Ora, metti al suo interno il testo seguente e salva il file come mostrato nel seguente:
1 2 3 4 5 6 7 8 9 10 | variabile "aws_region" |
Passaggio 3. Per impostazione predefinita, quando Terraform crea una nuova istanza, il gruppo di sicurezza predefinito associato all'istanza nega tutto il traffico. Creeremo quindi un nuovo file, "Secgrp.TF ", per creare un gruppo di sicurezza," Web-SG ", che consentirà il traffico inbound" SSH "e" HTTP ", nonché tutto il traffico in uscita, come mostrato nel seguente:
1 | $ nano secgrp.tf |
Ora, inserisci il seguente codice al suo interno come mostrato nel seguente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | risorsa "aws_security_group" "web-sg" |
Passaggio 4. Crea un "Main.FILE TF "che definirà l'infrastruttura desiderata come mostrato da segue:
1 | $ nano main.tf |
Ora, inserisci la seguente configurazione al suo interno:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | Terraform |
Nel codice precedente, non dimenticare di modificare il "nome utente" nel nome dell'utente del sistema e il "ec2-keypair-name" a nome della coppia di chiavi nel tuo caso. Vediamo un po 'sui parametri utilizzati nei file sopra:
AWS_Instance: Questo crea una risorsa di istanza EC2. Le istanze possono essere create, cambiate e distrutte
Ami: Specificare l'ID AMI da utilizzare con l'istanza EC2
Instance_Type: Questa opzione viene utilizzata per dichiarare il tipo di istanza da utilizzare
key_name: Specifica il nome della coppia di chiavi da utilizzare con l'istanza EC2
vpc_security_group_ids: Un argomento per un elenco di ID del gruppo di sicurezza da allegare
Associate_public_ip_address: Specificare se allegare l'IP pubblico con un'istanza all'interno di un VPC
dati utente: Utilizzato per i comandi/dati di passaggio su un'istanza al momento dell'avvio
Ora, inizializza Terraform eseguendo il seguente comando:
1 | $ Terraform init |
Ora, applica le modifiche utilizzando il seguente comando:
1 | $ Terraform si applica |
Verificare la procedura
Ora, controlliamo se viene creata l'istanza EC2 desiderata. Dirigiti alla console EC2 e verifica le istanze in esecuzione come mostrato nella seguente immagine:
Poiché la nostra istanza è stata creata correttamente, ora vedremo se il sito Web che abbiamo distribuito funziona correttamente o no. Copia il nome DNS o l'IP pubblico dell'istanza e inseriscilo all'interno di un browser Web come mostrato da segue:
Ben fatto! Il nostro server web sta funzionando bene.
Ripulire le risorse
Quando hai testato la tua infrastruttura o quando non la richiedi, ripulire le risorse eseguendo il comando seguente:
1 | $ Terraform Distruggi |
Conclusione
Questa guida ci ha insegnato a creare un'istanza EC2 su AWS usando Terraform. Abbiamo anche dimostrato come provvedere a un semplice server Web AWS utilizzando Terraform.