So erstellen Sie AWS RDS -Snapshot mit Terraform

So erstellen Sie AWS RDS -Snapshot mit Terraform

Amazon Relational Database Service oder RDS ist eine relationale Datenbank, die mit AWS Management Console-AWS CLI und mit RDS-API problemlos eingerichtet werden kann. Neben diesen Arten können wir auch das Terraform -Tool verwenden, um eine AWS -RDS -Datenbank zu erstellen und zu verwalten.

Terraform kann zur Bereitstellung der Cloud -Infrastruktur vieler Cloud -Dienstanbieter verwendet werden. Es kann auf wichtigen Betriebssystemen wie Linux, MacOS und Windows heruntergeladen und installiert werden. Es verfügt über eine eigene syntaktische Sprache, die als HCL (Hashicorp -Konfigurationssprache) zum Erstellen von Konfigurationsdateien bekannt ist. Wir können den Cloud -Dienstanbieter und andere Infrastrukturdetails mit der HCL -Syntax angeben. Terraform erstellt zunächst einen Ausführungsplan, der die geplanten Änderungen für die Infrastruktur voranschreitet. Es wird nur eingesetzt, sobald Sie diesen Plan bestätigen. Es gibt drei wichtige Terraformbefehle, die prominent verwendet werden: 1) Terraform -Plan, 2) Terraform gelten und 3) Terraform zerstören.

Was werden wir abdecken??

In diesem Artikel werden Sie mit dem Erstellen eines AWS -RDS -Snapshots mit Terraform vorgestellt. Wir werden zuerst eine RDS -Datenbank erstellen und dann ihren Schnappschuss mit Terraform erstellen.

Was brauchst du??

  1. AWS -Konto auf Ihrem System konfiguriert.
  2. Zugang zum Internet.

Was erwarten wir von Ihnen?

Bevor wir weiter vorgehen, stellen Sie sicher, dass Sie Terraform in Ihrem System installiert haben (Ubuntu 20.04 in unserem Fall). Wir gehen auch davon aus, dass Sie die AWS -Benutzeranmeldeinformationen bereits eingerichtet haben. Diese Anmeldeinformationen werden später im Terraform -Anbieterblock verwendet, wenn Terraform ausgeführt wird.

Sehen Sie, ob Terraform bereits in Ihrem System installiert ist, indem Sie den folgenden Terraform -Befehl ausführen:

$ terraform -version

Wie Sie sehen können, haben wir die Version 1 installiert.7 von Terraform. Wenn Sie es noch nicht installiert haben, können Sie das von Terraform bereitgestellte offizielle Binärpaket verwenden. Oder Sie können den Standardpaketmanager der Verteilung verwenden. Weitere Details zur Installation finden Sie auf der Terraform -Website.

Erstellen von AWS RDS -Snapshot mit Terraform

Jetzt, da wir bereits Terraform auf unserer lokalen Maschine installiert haben, können wir unsere Aufgabe bei der Arbeit mit AWS RDS fortsetzen.

Die Terraform -Konfiguration für verschiedene Komponenten wird in verschiedenen Dateien gespeichert, wie z. B.:

  1. Variablen.TF: Definition verschiedener Verwendungen in den Dateien.
  2. hauptsächlich.tf

Wie bereits erwähnt, verwendet Terraform mehrere Konfigurationsdateien, um Ressourcen vorzusehen. Jede dieser Dateien muss sich in ihrem jeweiligen Arbeitsordner/Verzeichnis befinden. Lassen Sie uns zu diesem Zweck ein Verzeichnis erstellen:

Schritt 1. Erstellen Sie einen Ordner, um Ihre Konfigurationsdateien zu enthalten, und ändern Sie das Verzeichnis in diesen Ordner.

$ mkdir linuxHint-terraform && cd linuxHint-terraform

Schritt 2. Lassen Sie uns unsere erste Konfigurationsdatei erstellen “Variablen.tfDas enthält die Informationen über unsere AWS -Region und die Art der Instanz, die wir verwenden möchten.

$ nano Variablen.tf

Setzen Sie nun den folgenden Text hinein und speichern Sie die Datei.

Variable "aws_region"
Beschreibung = "Die AWS -Region zum Arbeiten."
default = "US-East-1"

Schritt 3. Mach ein "hauptsächlich.tfDatei, die die Definition für unsere Infrastruktur enthalten.

$ nano main.tf

Stellen Sie nun die folgende Konfiguration hinein.

Terraform
fordert_providers
AWS =
Source = "Hashicorp/AWS"
Version = "~> 3.27 "


fordern_version = "> = 0.14.9 "

Anbieter "AWS"
Region = var.AWS_region
Shared_credentials_file = "/home/userername/.AWS/Anmeldeinformationen "
Profil = "Profil1"

Ressource "aws_db_instance" "mydb"
Allocated_storage = 10
Engine = "MySQL"
motor_version = "8.0.28 "
instance_class = "db.t2.Mikro"
name = "dbname"
password = "dbpassword"
userername = "dbuser"
identifier = "LinuxHint-Terraform-DB"
backup_retention_period = 0
parameter_group_name = "Standard.Mysql8.0 "
Skip_final_snapshot = true

Ressource "AWS_DB_SNAPSHOT" "Test"
db_instance_identifier = aws_db_instance.mydb.Ausweis
db_snapshot_identifier = "testsnapshot"

Ersetzen Sie in der vorherigen Datei die “Nutzername”Mit dem Wert in Ihrem Fall. Lassen Sie uns ein wenig über einige der oben verwendeten Parameter sehen:

  • Shared_credentials_file: Es ist der Pfad der Datei, die die Anmeldeinformationen der AWS -Benutzer enthält.
  • Profil: Es gibt das Profil des Benutzers an, das für die Arbeit mit dem AWS verwendet werden soll.
  • AWS_DB_Instance: Ressource zum Erstellen einer neuen RDS -Instanz.
  • DB_Instance_identifier: Es gibt die DB -Instanz -Kennung an, aus der der RDS -Snapshot generiert wird.
  • db_snapshot_identifier: verwendet als Snapshot -Kennung.

Initialisieren Sie das Terraform -Verzeichnis

Um den in unserer Konfiguration und anderen Dateien definierten Anbieter herunterzuladen und zu installieren, müssen wir das Verzeichnis mit dieser Datei initialisieren.

$ terraform init

Bauen Sie die Infrastruktur auf

Wenden Sie die Änderungen mit dem folgenden Befehl an, um die gewünschte Infrastruktur zu erstellen:

$ Terraform gelten

Geben Sie "Ja" in das Terminal ein, wenn Sie aufgefordert werden.

Überprüfen Sie die Prozedur

Lassen Sie uns nun überprüfen, ob der gewünschte RDS -Instanz -Eimer erstellt wird oder nicht. Gehen Sie zur RDS -Konsole und prüfen Sie die verfügbaren Datenbanken.

Wir können sehen, dass die „LinuxHint-Terraform-DB“ erstellt wird. Überprüfen Sie in ähnlicher Weise unter den Snapshots -Abschnitten, ob der in der Konfigurationsdatei angegebene Snapshot erstellt wurde oder nicht.

Löschen Sie die Ressourcen

Wenn Sie Ihre Aufgabe erledigt haben und die AWS -Ressourcen nicht mehr benötigen, löschen Sie sie einfach, indem Sie den folgenden Befehl ausführen:

$ Terraform zerstören

Abschluss

In diesem Leitfaden haben wir gelernt und demonstriert, dass der S3 -Bucket auf AWS mit Terraform erstellt wurde. Sie haben wahrscheinlich bemerkt, wie einfach es ist, mit Terraform zu arbeiten.