Hvordan lage AWS RDS Snapshot ved hjelp av Terraform

Hvordan lage AWS RDS Snapshot ved hjelp av Terraform

Amazon Relational Database Service eller RDS er en relasjonsdatabase som enkelt kan settes opp ved hjelp av AWS Management Console-Aws CLI og med RDS API. Ved siden av disse måtene kan vi også bruke Terraform Tool til å lage og administrere en AWS RDS -database.

Terraform kan brukes til å distribuere skyinfrastruktur for mange skytjenesteleverandører. Den kan lastes ned og installeres på større operativsystemer som Linux, macOS og Windows. Det har sitt eget syntaktiske språk kjent som HCl (Hashicorp Configuration Language) for å lage konfigurasjonsfiler. Vi kan spesifisere skytjenesteleverandøren og andre infrastrukturdetaljer ved hjelp av HCL -syntaks. Terraform oppretter først en utførelsesplan som forhåndsviser endringene som er planlagt for infrastrukturen. Den vil bare bli distribuert når du bekrefter denne planen. Det er tre store terraformkommandoer som brukes fremtredende: 1) Terraform Plan, 2) Terraform Apply, og 3) Terraform Destroy.

Hva vil vi dekke?

Denne artikkelen gir deg prosessen med å lage et AWS RDS -øyeblikksbilde ved hjelp av Terraform. Vi vil først opprette en RDS -database og deretter opprette øyeblikksbilde ved hjelp av Terraform.

Hva trenger du?

  1. AWS -konto konfigurert på systemet ditt.
  2. Tilgang til Internett.

Hva forventer vi av deg?

Før vi fortsetter videre, må du sørge for at du installerte terraform på systemet ditt (Ubuntu 20.04 I vårt tilfelle). Vi antar også at du allerede har satt opp AWS -brukeropplysningene. Disse legitimasjonene brukes i terraformleverandørblokken senere når Terraform vil bli kjørt.

Se om Terraform allerede er installert i systemet ditt ved å kjøre følgende Terraform -kommando:

$ Terraform -version

Som du ser, installerte vi versjonen 1.7 av Terraform. Hvis du ennå ikke har installert den, kan du bruke den offisielle binære pakken levert av Terraform. Eller du kan bruke standard pakkesjef for distribusjon. Flere detaljer om installasjon finner du på nettstedet Terraform.

Opprette AWS RDS -øyeblikksbilde ved hjelp av Terraform

Nå som vi allerede installerte terraform på vår lokale maskin, kan vi fortsette oppgaven vår med å jobbe med AWS RDS.

Terraformkonfigurasjonen for forskjellige komponenter lagres i forskjellige filer som:

  1. variabler.TF: Definisjon av forskjellige bruksområder i filene.
  2. hoved-.tf

Som nevnt tidligere bruker Terraform flere konfigurasjonsfiler for å levere ressurser. Hver av disse filene må ligge i sin respektive arbeidsmappe/katalog. La oss lage en katalog for dette formålet:

Trinn 1. Lag en mappe for å inneholde konfigurasjonsfilene og endre katalogen til denne mappen.

$ mkdir linuxhint-terraForm && cd linuxhint-terraformform

Steg 2. La oss opprette vår første konfigurasjonsfil "variabler.tf”Det vil inneholde informasjonen om AWS -regionen vår, og typen forekomst vi ønsker å bruke.

$ nano -variabler.tf

Legg nå følgende tekst inni den og lagre filen.

variabel "aws_region"
beskrivelse = "AWS -regionen å jobbe i.""
Standard = "US-East-1"

Trinn 3. Lage en "hoved.tf”Fil som vil inneholde definisjonen for infrastrukturen vår.

$ nano main.tf

Legg nå følgende konfigurasjon inni den.

terraform
krevde_providers
aws =
Source = "Hashicorp/AWS"
versjon = "~> 3.27 "


krevde_versjon = "> = 0.14.9 "

leverandør "aws"
Region = var.aws_region
shared_credentials_file = "/home/username/.AWS/legitimasjon "
profil = "Profil1"

ressurs "aws_db_instance" "mydb"
allokert_storage = 10
motor = "mysql"
motor_versjon = "8.0.28 "
Instance_class = "DB.T2.mikro "
name = "dbname"
passord = "dbpassword"
brukernavn = "dbuser"
Identifier = "Linuxhint-Terraform-DB"
backup_retention_period = 0
parameter_group_name = "standard.mysql8.0 "
Skip_Final_SnapShot = True

ressurs "aws_db_snapshot" "test"
db_instance_identifier = aws_db_instance.MYDB.id
db_snapshot_identifier = "TestSnapshot"

I forrige fil, erstatt "Brukernavn”Med verdien i ditt tilfelle. La oss se litt om noen av parametrene som er brukt ovenfor:

  • shared_credentials_file: Det er banen til filen som inneholder legitimasjonene til AWS -brukerne.
  • Profil: Den spesifiserer profilen til brukeren som skal brukes til å jobbe med AWS.
  • aws_db_instance: ressurs for å lage en ny RDS -forekomst.
  • DB_INSTANCE_Identifier: Den spesifiserer DB -forekomstidentifikatoren som RDS -øyeblikksbildet vil bli generert.
  • DB_SNAPSHOT_Identifier: Brukes som et øyeblikksbilde identifikator.

Initialiser terraformkatalogen

For å laste ned og installere leverandøren vi definerte i konfigurasjonen og andre filer, må vi initialisere katalogen som inneholder denne filen.

$ terraform init

Bygg infrastrukturen

For å bygge ønsket infrastruktur, bruk endringene ved å bruke følgende kommando:

$ Terraform Søk

Skriv inn 'ja' på terminalen når du blir bedt om det.

Bekreft prosedyren

La oss nå sjekke om ønsket RDS -forekomst er opprettet eller ikke. Gå til RDS -konsollen og sjekk for de tilgjengelige databasene.

Vi kan se at "Linuxhint-Terraform-DB" er opprettet. Tilsvarende, under øyeblikksbilder -seksjonene, må du bekrefte om øyeblikksbildet vi spesifiserte i konfigurasjonsfilen er opprettet eller ikke.

Slett ressursene

Når du har fullført oppgaven din og ikke trenger AWS -ressursene lenger, kan du bare slette dem ved å utføre følgende kommando:

$ terraform ødelegger

Konklusjon

I denne guiden lærte og demonstrerte vi om å lage S3 -bøtta på AWS ved hjelp av Terraform. Du har sikkert lagt merke til hvor enkelt det er å jobbe med Terraform.