Come creare istantanea AWS RDS usando Terraform

Come creare istantanea AWS RDS usando Terraform

Amazon Relational Database Service o RDS è un database relazionale che può essere facilmente impostato utilizzando la CLI AWS di gestione di gestione AWS e con API RDS. Oltre a questi modi, possiamo anche utilizzare lo strumento Terraform per creare e gestire un database AWS RDS.

Terraform può essere utilizzato per la distribuzione dell'infrastruttura cloud di molti fornitori di servizi cloud. Può essere scaricato e installato su principali sistemi operativi come Linux, MacOS e Windows. Ha il suo linguaggio sintattico noto come HCL (linguaggio di configurazione Hashicorp) per la creazione di file di configurazione. Possiamo specificare il provider di servizi cloud e altri dettagli dell'infrastruttura utilizzando la sintassi HCL. Terraform crea per la prima volta un piano di esecuzione che presenta in anteprima le modifiche previste per l'infrastruttura. Verrà distribuito solo una volta confermato questo piano. Esistono tre principali comandi Terraform che sono usati in modo prominente: 1) Piano Terraform, 2) Terraform si applicano e 3) Terraform Distruggi.

Cosa copriremo?

Questo articolo ti presenta il processo di creazione di un'istantanea AWS RDS utilizzando Terraform. Prima creeremo un database RDS e quindi creeremo la sua snapshot usando Terraform.

Di cosa avrai bisogno?

  1. Account AWS configurato sul tuo sistema.
  2. Accesso a Internet.

Cosa ci aspettiamo da te?

Prima di procedere oltre, assicurati di installare Terraform sul tuo sistema (Ubuntu 20.04 nel nostro caso). Supponiamo anche che tu abbia già impostato le credenziali dell'utente AWS. Queste credenziali vengono utilizzate nel blocco del fornitore di Terraform in seguito quando verrà eseguita Terraform.

Vedi se Terraform è già installato nel sistema eseguendo il seguente comando Terraform:

$ Terraform -Version

Come puoi vedere, abbiamo installato la versione 1.7 di Terraform. Se non l'hai ancora installato, puoi utilizzare il pacchetto binario ufficiale fornito da Terraform. Oppure è possibile utilizzare il gestore dei pacchetti predefiniti di distribuzione. Maggiori dettagli sull'installazione sono disponibili sul sito Web di Terraform.

Creazione dell'istantanea AWS RDS usando Terraform

Ora che abbiamo già installato Terraform sulla nostra macchina locale, possiamo continuare il nostro compito nel lavorare con AWS RDS.

La configurazione Terraform per componenti diversi è archiviata in diversi file come:

  1. variabili.TF: definizione di vari usi nei file.
  2. principale.tf

Come accennato in precedenza, Terraform utilizza diversi file di configurazione per fornire risorse. Ognuno di questi file deve risiedere 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. Creiamo il nostro primo file di configurazione "variabili.tf"Ciò conterrà le informazioni sulla nostra regione AWS e il tipo di istanza che vogliamo utilizzare.

$ nano variabili.tf

Ora, inserisci il seguente testo al suo interno e salva il file.

variabile "aws_region"
Descrizione = "La regione AWS in cui lavorare."
Default = "US-East-1"

Passaggio 3. 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 = var.AWS_REGION
condiviso_credentials_file = "/home/nome utente/.AWS/Credentials "
profilo = "profile1"

risorsa "aws_db_instance" "mydb"
allocated_storage = 10
motore = "mysql"
Engine_Version = "8.0.28 "
Instance_class = "db.T2.micro "
name = "dbname"
password = "dbpassword"
nome utente = "dbuser"
Identifier = "LinuxHint-Terraform-DB"
Backup_retent_period = 0
parametro_group_name = "default.mysql8.0 "
skip_final_snapshot = true

risorsa "aws_db_snapshot" "test"
db_instance_identifier = aws_db_instance.mydb.id
db_snapshot_identifier = "TestsNapShot"

Nel file precedente, sostituire il "Nome utente"Con il valore nel tuo caso. Vediamo un po 'di alcuni dei parametri usati sopra:

  • shared_credentials_file: è il percorso del file contenente le credenziali degli utenti AWS.
  • Profilo: specifica il profilo dell'utente da utilizzare per lavorare con AWS.
  • AWS_DB_Instance: risorsa per la creazione di una nuova istanza RDS.
  • DB_Instance_Identifier: specifica l'identificatore dell'istanza DB da cui verrà generata l'istantanea RDS.
  • DB_SNAPSHOT_IDIDIFIER: usato come identificatore di un'istantanea.

Inizializza la 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

Costruisci l'infrastruttura

Per creare l'infrastruttura desiderata, applicare le modifiche utilizzando il seguente comando:

$ Terraform si applica

Immettere "sì" sul terminale quando richiesto.

Verificare la procedura

Ora, controlliamo se il bucket di istanza RDS desiderato viene creato o no. Vai alla console RDS e verifica i database disponibili.

Possiamo vedere che è creato "LinuxHint-Terraform-DB". Allo stesso modo, nelle sezioni di Snapshot, verifica se l'istantanea che abbiamo specificato nel file di configurazione viene creata o meno.

Elimina le risorse

Quando hai completato il tuo compito e non hai più bisogno delle risorse AWS, semplicemente eliminali eseguendo il seguente comando:

$ Terraform Distruggi

Conclusione

In questa guida, abbiamo appreso e dimostrato sulla creazione del secchio S3 su AWS usando Terraform. Probabilmente hai notato quanto sia semplice lavorare con Terraform.