Jak utworzyć migawkę AWS RDS za pomocą Terraform

Jak utworzyć migawkę AWS RDS za pomocą Terraform

Amazon Relacyjna usługa bazy danych lub RDS to relacyjna baza danych, którą można łatwo skonfigurować przy użyciu CLI konsoli zarządzania AWS i za pomocą API RDS. Oprócz tych sposobów możemy również użyć narzędzia Terraform do tworzenia i zarządzania bazą danych AWS RDS.

Terraform może być używany do wdrażania infrastruktury chmurowej wielu dostawców usług w chmurze. Można go pobrać i zainstalować w głównych systemach operacyjnych, takich jak Linux, MacOS i Windows. Ma swój własny język syntaktyczny znany jako HCL (język konfiguracyjny Hashicorp) do tworzenia plików konfiguracyjnych. Możemy określić dostawcę usług w chmurze i inne szczegóły infrastruktury za pomocą składni HCL. Terraform najpierw tworzy plan wykonania, który podgląda zmiany planowane dla infrastruktury. Zostanie to wdrożone dopiero po potwierdzeniu tego planu. Istnieją trzy główne polecenia terraform, które są wyraźnie używane: 1) Plan Terraform, 2) Zastosuj terraform i 3) Terraform Disz.

Co obejmiemy?

W tym artykule przedstawiono proces tworzenia migawki AWS RDS za pomocą Terraform. Najpierw utworzymy bazę danych RDS, a następnie utworzymy jej migawkę za pomocą Terraform.

Czego będziesz potrzebować?

  1. Konto AWS skonfigurowane w twoim systemie.
  2. Dostęp do Internetu.

Czego od ciebie oczekujemy?

Zanim przejdziemy dalej, upewnij się, że zainstalowałeś Terraform w swoim systemie (Ubuntu 20.04 W naszym przypadku). Zakładamy również, że skonfigurowałeś już poświadczenia użytkowników AWS. Te poświadczenia są używane w bloku dostawcy Terraform później, gdy zostanie uruchomiona Terraform.

Sprawdź, czy Terraform jest już zainstalowany w twoim systemie, uruchamiając następujące polecenie Terraform:

$ terraform -version

Jak widać, zainstalowaliśmy wersję 1.7 Terraform. Jeśli jeszcze go nie zainstalowałeś, możesz użyć oficjalnego pakietu binarnego dostarczonego przez Terraform. Lub możesz użyć domyślnego menedżera pakietów dystrybucji. Więcej informacji na temat instalacji można znaleźć na stronie internetowej Terraform.

Tworzenie migawki AWS RDS za pomocą Terraform

Teraz, gdy już zainstalowaliśmy Terraform na naszym komputerze lokalnym, możemy kontynuować nasze zadanie w pracy z AWS RDS.

Konfiguracja Terraform dla różnych komponentów jest przechowywana w różnych plikach, takich jak:

  1. zmienne.TF: Definicja różnych zastosowań w plikach.
  2. główny.tf

Jak wspomniano wcześniej, Terraform używa kilku plików konfiguracyjnych do dostarczania zasobów. Każdy z tych plików musi znajdować się w odpowiednim folderze/katalogu roboczym. Utwórzmy katalog w tym celu:

Krok 1. Zrób folder zawierający pliki konfiguracyjne i zmień katalog na ten folder.

$ mkdir linuxhint-terraform && cd Linuxhint-Terraform

Krok 2. Utwórzmy nasz pierwszy plik konfiguracyjny „zmienne.tf„To będzie zawierało informacje o naszym regionie AWS i rodzaj instancji, której chcemy użyć.

$ nano zmienne.tf

Teraz umieść następujący tekst i zapisz plik.

Zmienna „AWS_REGION”
Opis = "region AWS do pracy."
default = "us-east-1"

Krok 3. Zrobić "główny.tf„Plik, który będzie zawierał definicję naszej infrastruktury.

$ nano main.tf

Teraz umieść w nim następującą konfigurację.

Terraform
wymagane_providers
AWS =
Źródło = "Hashicorp/AWS"
wersja = "~> 3.27 "


wymagane_wersja = "> = 0.14.9 "

Dostawca „AWS”
region = var.AWS_REGION
shared_credentials_file = "/home/nazwa użytkownika/.AWS/poświadczenia "
profilu = "profilu1"

Zasób „AWS_DB_INSTANCE” „MYDB”
alokated_storage = 10
silnik = „mysql”
Engine_version = "8.0.28 "
instance_class = "db.T2.mikro "
name = "dbname"
hasło = "dbpassword"
nazwa użytkownika = "dbuser"
identyfikator = "Linuxhint-terraform-db"
Backup_retention_period = 0
parametr_group_name = "domyślnie.Mysql8.0 "
skip_final_snapshot = true

Zasób „AWS_DB_SNAPSHOT” „TEST”
db_instance_identifier = AWS_DB_INSTANCE.MYDB.ID
db_snapshot_identifier = "testsnapshot"

W poprzednim pliku wymień „Nazwa użytkownika”Z wartością w twoim przypadku. Zobaczmy trochę o niektórych parametrach użytych powyżej:

  • shared_credentials_file: Jest to ścieżka pliku zawierająca poświadczenia użytkowników AWS.
  • Profil: Określa profil użytkownika do pracy z AWS.
  • aws_db_instance: zasób do tworzenia nowej instancji RDS.
  • db_instance_identifier: Określa identyfikator instancji DB, z którego wygenerowana zostanie migawka RDS.
  • db_snapshot_identifier: używany jako identyfikator migawki.

Zainicjuj katalog Terraform

Aby pobrać i zainstalować dostawcę, który zdefiniowaliśmy w naszej konfiguracji i innych plikach, musimy zainicjować katalog zawierający ten plik.

$ Terraform init

Zbuduj infrastrukturę

Aby zbudować pożądaną infrastrukturę, zastosuj zmiany za pomocą następującego polecenia:

$ Terraform Zastosuj

Wprowadź „Tak” na terminalu po wyświetleniu monitu.

Sprawdź procedurę

Teraz sprawdźmy, czy żądane wiadro instancji RDS jest tworzone, czy nie. Udaj się do konsoli RDS i sprawdź dostępne bazy danych.

Widzimy, że powstaje „Linuxhint-Terraform-DB”. Podobnie w sekcjach migawek sprawdź, czy migawka określona w pliku konfiguracyjnym jest tworzona, czy nie.

Usuń zasoby

Po wykonaniu zadania i nie potrzebujesz już zasobów AWS, po prostu usuń je, wykonując następujące polecenie:

$ Terraform niszczy

Wniosek

W tym przewodniku dowiedzieliśmy się i pokazaliśmy o tworzeniu wiadra S3 na AWS za pomocą Terraform. Prawdopodobnie zauważyłeś, jak prosta jest praca z Terraform.