Cosa copriremo?
In questa guida vedremo come possiamo fornire un'istanza AWS RDS DB usando Terraform. Iniziamo per la prima volta con l'installazione di Terraform su Ubuntu 20.04.
Installazione di terraform
Hashicorp fornisce il pacchetto di Terraform ufficiale per Ubuntu/Debian, CentOS/RHEL, Fedora e Amazon Linux. Oltre a ciò, mantiene anche binario pre-compilato e può anche essere compilato dalla sorgente. Per questa guida stiamo utilizzando il pacchetto predefinito fornito dal repository del pacchetto Debian per installare Terraform su Ubuntu 20.04.
Passo 1. Prima installazione gnupg, software-Properties-Common e Curl Pacchetti per verificare la firma GPG di Hashicorp e installare il repository richiesto:
$ sudo apt-get update && sudo apt-get install -y gnupg software-properties-mone
Passo 2. Ora aggiungi il Hashicorp GPG Tasto usando il comando:
$ CURL -FSSL HTTPS: // APT.rilasci.Hashicorp.com/gpg | sudo Apt-Key Aggiungi -
Passaggio 3. Continua aggiungendo il repository richiesto:
$ sudo apt-addd-repository "deb [arch = amd64] https: // apt.rilasci.Hashicorp.com $ (lsb_release -cs) main "
Passaggio 4. Infine, esegui il comando Aggiorna per aggiungere il repository e installare Terraform:
$ sudo apt-get update && sudo apt-get install Terraform
Passaggio 5. Verifica se Terraform è installato eseguendo il comando:
$ Terraform -Version
Costruire infrastrutture AWS RDS utilizzando Terraform
Ora che abbiamo installato Terraform sulla nostra macchina locale, possiamo continuare il nostro compito di lavorare con AWS. Come accennato in precedenza, Terraform utilizza diversi file di configurazione per le risorse di fornitura e ciascuno di questi file deve essere inserito nella rispettiva cartella/directory di lavoro. Creiamo una directory per questo scopo:
Passo 1. Crea una cartella per contenere i file di configurazione e modificare la directory in questa cartella:
$ MKDIR Linuxhint-Terraform && CD Linuxhint-Terraform
Passo 2. Fare un 'principale.tf'File che conterrà la definizione per la nostra infrastruttura:
$ nano main.tf
Ora inserisci la seguente configurazione al suo interno:
Terraform
richiesto_providers
aws =
Source = "Hashicorp/AWS"
versione = "~> 3.27 "
richiesto_version = "> = 0.14.9 "
Provider "AWS"
regione = "US-WEST-2"
Access_Key = "Your-Access-Key"
Secret_Key = "Your-Secret-Key"
risorsa "aws_db_instance" "rds_instance"
allocated_storage = 20
Identifier = "RDS-TERRAFORM"
Storage_Type = "GP2"
motore = "mysql"
Engine_Version = "8.0.27 "
Instance_class = "db.T2.micro "
name = "your-db-name"
Username = "Your-DB-Username"
Password = "Your-Password"
publy_accessible = true
skip_final_snapshot = true
tags =
Name = "ExamplerdSServerInstance"
Questo file contiene l'intera configurazione da distribuire utilizzando Terraform, basta sostituire il testo in grassetto con i tuoi dettagli di configurazione. Esploriamo ciascuna delle sezioni utilizzate nel file sopra:
1. Terraform: definisce le impostazioni Terraform. I "provider richiesti" definiscono il provider da utilizzare con Terraform e la "fonte" è un parametro opzionale per il nome host, uno spazio dei nomi e il tipo di provider. Nel codice sopra la fonte è definita come "Hashicorp/AWS" che come tutti i provider è installato dal registro Terraform. Il fornitore di cui sopra indica 'Registro.terraform.io/hashicorp/aws '.
L'attributo della versione definisce la versione del provider che si desidera utilizzare.
2. Provider: questo specifica con quale piattaforma cloud stai per interagire (AWS, Azure, GCP ecc.). Questo controlla anche la regione che stai distribuendo le tue risorse e le credenziali di sicurezza per l'utente.
3. risorsa: comprende componenti che creano un'infrastruttura come database, archiviazione, rete ecc. La prima stringa, qui "AWS_Instance“, Definisce il tipo di risorsa e il secondo definisce un nome personalizzato che si desidera utilizzare. Questi due sono combinati per formare un ID univoco per questa risorsa, eccolo "AWS_Instance.Rds_instance'. Allo stesso modo possiamo anche includere dimensioni della macchina, nomi di immagini del disco o ID VPC.
Per convalidare o verificare la configurazione, utilizzare il comando:
$ Terraform Convalida
Inizializzazione della directory Terraform
Per scaricare e installare il provider che abbiamo definito nella nostra configurazione e in altri file, dobbiamo inizializzare la directory contenente questo file:
$ Terraform init
Dall'immagine sopra, il nostro dentro Il comando ha esito positivo e ci sono anche alcuni nuovi file creati qui. C'è anche un altro "piano di terraform" di comando, sebbene non sia obbligatorio usarlo, ma ha alcuni benefici, ad esempio.:
Terraform non menziona questo comando nella sua documentazione, perché quando si esegue il comando "Terraform Applica" lo stesso piano verrà nuovamente presentato.
Costruire l'infrastruttura
Per creare la nostra infrastruttura, utilizzare il comando:
$ Terraform si applica
Ciò emetterà prima il piano di esecuzione che descrive i compiti che Terraform eseguirà per portare lo stato della tua infrastruttura a quello definito nel file di configurazione. Dopodiché si fermerà e ti chiederà di confermare il piano per continuare. Se tutto è impostato come desiderato, digita 'sì' per continuare:
Se sei pronto per continuare, digita "Sì".
Ci vorrà del tempo per completare il processo. Quando questo processo è completo, apparirà il messaggio seguente:
Sulla tua console di gestione AWS, l'istanza RDS sarà elencata:
Distruggere le risorse
Quando hai finito e non hai più bisogno delle risorse AWS che hai creato, puoi semplicemente eliminarle usando il comando:
$ Terraform Distruggi
Conclusione
In questa guida abbiamo imparato a provocare un'istanza RDS su AWS usando Terraform. Puoi anche provare a configurare un'istanza EC2 allo stesso modo.