Come creare un'istanza AWS RDS DB usando Terraform

Come creare un'istanza AWS RDS DB usando Terraform
Terraform supporta più fornitori di servizi cloud poiché è costruito ai fini del codice infrastrutturale Soluzione IAC. Usando IAC possiamo gestire l'installazione dell'infrastruttura con i file di configurazione (e.G. Distribuire, aggiornare e gestire la nostra infrastruttura definendo le risorse richieste.) è stabilito, quindi, che AWS RDS fornisce facile da gestire il servizio di database relazionale. Tuttavia, usando Terraform possiamo semplificare ulteriormente l'attività di gestione RDS.

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.:

  1. Puoi vedere le azioni che Terraform si esibirà.
  2. Può indicare errori sintattici nei file di configurazione.

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.