So erstellen Sie eine AWS -RDS -DB -Instanz mit Terraform

So erstellen Sie eine AWS -RDS -DB -Instanz mit Terraform
Terraform unterstützt mehrere Cloud -Service -Anbieter, da es für den Zweck des Infrastrukturcode erstellt wurde IAC -Lösung. Mit IAC können wir die Infrastruktur-Einrichtung mit Konfigurationsdateien verwalten (e.G. Bereitstellen, Aktualisierung und Verwaltung unserer Infrastruktur, indem Sie die erforderlichen Ressourcen definieren.) Es wird also festgestellt. Mit Terraform können wir jedoch die RDS -Verwaltungsaufgabe weiter vereinfachen.

Was werden wir abdecken??

In diesem Leitfaden werden wir sehen, wie wir eine AWS RDS -DB -Instanz mit Terraform bereitstellen können. Beginnen wir zunächst mit der Installation von Terraform auf Ubuntu 20.04.

Terraform installieren

Hashicorp bietet das offizielle Terraform -Paket für Ubuntu/Debian, Centos/Rhel, Fedora und Amazon Linux. Darüber hinaus hält es auch vorgefertigte Binärdatoren und kann auch aus der Quelle zusammengestellt werden. Für diesen Handbuch verwenden wir das Standardpaket des Debian -Paket -Repositorys, um Terraform auf Ubuntu 20 zu installieren.04.

Schritt 1. Zuerst installieren gnupg, Software-Properties-Common- und Curl-Pakete, um die GPG-Signatur von Hashicorp zu überprüfen und das erforderliche Repository zu installieren:

$ sudo APT-Get Update && sudo apt-Get Install -y GNUPG Software-Properties-Common Curl

Schritt 2. Jetzt fügen Sie die hinzu Hashicorp GPG Taste mit dem Befehl:

$ curl -fssl https: // apt.Veröffentlichungen.Hashicorp.com/gpg | sudo apt-key add -

Schritt 3. Fahren Sie fort, indem Sie das erforderliche Repository hinzufügen:

$ sudo apt-add-repository "Deb [arch = amd64] https: // apt.Veröffentlichungen.Hashicorp.com $ (lsb_release -cs) main "

Schritt 4. Fügen Sie schließlich den Befehl Update aus, um das Repository hinzuzufügen und Terraform zu installieren:

$ sudo apt-Get Update && sudo apt-Get Installieren Sie Terraform

Schritt 5. Überprüfen Sie, ob Terraform durch Ausführen des Befehls installiert ist:

$ terraform -version

Aufbau der AWS -RDS -Infrastruktur mit Terraform

Nachdem wir Terraform auf unserer lokalen Maschine installiert haben, können wir unsere Aufgabe, mit AWS zu arbeiten, fortsetzen. Wie bereits erwähnt, verwendet Terraform mehrere Konfigurationsdateien für Bereitstellungsressourcen, und jede dieser Dateien muss in ihrem jeweiligen Arbeitsordner/Verzeichnis platziert werden. Lassen Sie uns zu diesem Zweck ein Verzeichnis erstellen:

Schritt 1. Erstellen Sie einen Ordner für Ihre Konfigurationsdateien und ändern Sie das Verzeichnis in diesen Ordner:

$ mkdir linuxHint-terraform && cd linuxHint-terraform

Schritt 2. Mach ein 'hauptsächlich.tf'Datei, 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 = "US-West-2"
Access_key = "Ihr Zugriffsschlüssel"
secry_key = "dein sekret-key"

Ressource "aws_db_instance" "rds_instance"
Allocated_storage = 20
identifier = "rds-terraform"
storate_type = "gp2"
Engine = "MySQL"
motor_version = "8.0.27 "
instance_class = "db.t2.Mikro"
name = "Ihr DB-Name"
userername = "Your-DB-Username"
password = "Ihr Passwort"
öffentlich_ACCESSIBLE = True
Skip_final_snapshot = true
Tags =
NAME = "BeispielPlerDSServerInstance"

Diese Datei enthält die gesamte Konfiguration, die mithilfe von Terraform bereitgestellt werden soll. Ersetzen Sie einfach den fetthaltigen Text durch Ihre eigenen Konfigurationsdetails. Lassen Sie uns jeden der in der obigen Datei verwendeten Abschnitte untersuchen:

1. Terraform: Es definiert die Terraformeinstellungen. Der 'erforderliche Anbieter' definiert den Anbieter, der mit der Terraform verwendet wird, und die "Quelle" ist ein optionaler Parameter für Hostname, einen Namespace und den Anbietertyp. Im obigen Code ist die Quelle als "Hashicorp/AWS" definiert, die wie alle Anbieter aus dem Terraform -Register installiert sind. Der obige Anbieter verweist auf 'Register.Terraform.IO/Hashicorp/AWS '.

Das Versionsattribut definiert die Version des Anbieters, den Sie verwenden möchten.

2. Anbieter: Dies gibt an, mit welcher Cloud -Plattform Sie interagieren werden (AWS, Azure, GCP usw.). Dies kontrolliert auch die Region, in der Sie Ihre Ressourcen und die Sicherheitsanmeldeinformationen für Ihren Benutzer bereitstellen.

3. Ressource: Es umfasst Komponenten, die eine Infrastruktur wie Datenbanken, Speicher, Netzwerk usw. erstellen. Die erste Zeichenfolge, hier “aws_instance„Definiert den Ressourcentyp und der zweite einen benutzerdefinierten Namen, den Sie verwenden möchten. Diese beiden sind kombiniert, um eine eindeutige ID für diese Ressource zu bilden, hier ist esaws_instance.Rds_instance''. Ebenso können wir auch Maschinengrößen, Festplattenbildnamen oder VPC -IDs einbeziehen.

Um Ihre Konfiguration zu validieren oder zu überprüfen, verwenden Sie den Befehl:

$ Terraform Validate

Initialisierung des Terraform -Verzeichnisses

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

Aus dem obigen Bild unsere drin Der Befehl ist erfolgreich und es werden hier auch einige neue Dateien erstellt. Es gibt auch einen weiteren Befehl "Terraform -Plan", obwohl es nicht obligatorisch ist, ihn zu verwenden, aber zum Beispiel einige Vorteile hat.:

  1. Sie können sehen, dass die Aktionen, die Terraform ausführen wird.
  2. Es kann auf syntaktische Fehler in Ihren Konfigurationsdateien hinweisen.

Terraform erwähnt diesen Befehl in seiner Dokumentation nicht, da beim Ausführen des Befehls "Terraform Apply" derselbe Plan erneut präsentiert wird.

Aufbau der Infrastruktur

Verwenden Sie den Befehl, um unsere Infrastruktur aufzubauen:

$ Terraform gelten

Dadurch wird zunächst den Ausführungsplan ausgibt, in dem die Tasks -Terraform beschrieben wird. Danach wird es innehalten und Sie bitten, den Plan zu bestätigen, fortzufahren. Wenn alles so eingestellt ist, wie Sie es gewünscht haben, geben Sie 'Ja' ein, um fortzufahren:

Wenn Sie bereit sind, fortzufahren, geben Sie 'Ja' ein.

Es wird einige Zeit dauern, um den Prozess abzuschließen. Wenn dieser Vorgang abgeschlossen ist, wird die folgende Nachricht angezeigt:

Auf Ihrer AWS -Verwaltungskonsole wird die RDS -Instanz aufgeführt:

Zerstörung der Ressourcen

Wenn Sie fertig sind und die von Ihnen erstellten AWS -Ressourcen nicht mehr benötigen, können Sie sie einfach mit dem Befehl löschen:

$ Terraform zerstören

Abschluss

In diesem Leitfaden haben wir über die Bereitstellung einer RDS -Instanz auf AWS mit Terraform erfahren. Sie können auch versuchen, eine EC2 -Instanz auf die gleiche Weise zu konfigurieren.