So aktivieren Sie die Versionierung auf dem S3 -Eimer mit Terraform

So aktivieren Sie die Versionierung auf dem S3 -Eimer mit Terraform
Infrastruktur als Code oder IAC ist ein neuer Ansatz, bei dem die Codierung zur Einrichtung einer Infrastruktur verwendet wird. Dies bedeutet, dass wir anstatt manuell VMs, Netzwerke und andere Komponenten eines Netzwerks einzurichten. Terraform hat sich zu einem hervorragenden Werkzeug entwickelt, das den IAC -Ansatz verwendet.

Wie viele andere Aufgaben kann Terraform verwendet werden, um einen AWS S3 -Eimer zu erstellen und zu verwalten. Versioning bedeutet, mehrere Versionen zu behalten, oder Sie können sie einfach Varianten einer Datei nennen. Die Versionierung in AWS S3 kann verwendet werden, um verschiedene Varianten des darin gespeicherten Objekts aufrechtzuerhalten und wiederherzustellen. Dies hat viele Vorteile. Zum Beispiel können wir versehentlich gelöschte Artikel wiederherstellen.

Was werden wir abdecken??

In diesem Handbuch werden wir sehen. Wir arbeiten an der Ubuntu 20.04 System für dieses Tutorial. Lassen Sie uns jetzt anfangen.

Was brauchst du??

  1. Grundlagen der Terraform
  2. Zugang zum Internet
  3. Auf Ihrem System installiertes Terraform installiert. Überprüfen Sie, ob Sie die Terraform -Verssion ausführen.

Erstellen von AWS S3 -Bucket mit Terraform

Nachdem wir uns ein wenig über Terraform gesehen haben und hoffentlich auf unserer lokalen Maschine installiert hätten, können wir unsere Aufgabe, mit S3 zu arbeiten, fortsetzen. Wie bereits erwähnt, verwendet Terraform mehrere Konfigurationsdateien für Bereitstellungsressourcen, und jede dieser Dateien muss sich in ihrem jeweiligen Arbeitsordner/Verzeichnis befinden. Lassen Sie uns für diesen Zweck ein Verzeichnis erstellen.

Schritt 1. Erstellen Sie zunächst einen Ordner, der alle Konfigurationsdateien enthält, und ändern Sie dann Ihr Terminalverzeichnis in Folgendes:

$ mkdir linuxHint-terraform && cd linuxHint-terraform

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

$ nano Variablen.tf

Geben Sie nun den folgenden Text hinein und speichern Sie die Datei:

Variable "aws_region"
Beschreibung = "Die AWS -Region zum Erstellen des S3 -Eimers in."
default = "US-East-1"

Variable "bucket_name"
Beschreibung = "Ein eindeutiger Name für den Eimer"
Standard = "Tecofer-4"

"Tecofers-4" ist der Name unseres Eimers, und Sie können hier Ihren eigenen Namen verwenden.

Schritt 3. 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 = var.AWS_region
Shared_credentials_file = "/home/your_user_name/.AWS/Anmeldeinformationen "
Profil = "Profil1"

Ressource "AWS_S3_Bucket" "Bucket1"
Bucket = var.Bucket_Name
Tags =
Name = "Beispiele3Bucket"


Ressource "aws_s3_bucket_acl" "Bucket1"
Bucket = var.Bucket_Name
ACL = "Privat"

Ressource "AWS_S3_Bucket_Versioning" "Bucket_versioning"
Bucket = var.Bucket_Name
Versioning_Configuration
status = "aktiviert"

Ändere das "Dein Benutzername" zum Benutzernamen Ihres Systems. Lassen Sie uns die in den vorherigen Dateien verwendeten Parameter sehen:

Eimer: Es ist ein optionaler Parameter, wenn angegeben wird, einen neuen Eimer erstellt. Wenn dieses Argument nicht vorhanden ist, gibt die Terraform dem Eimer einen zufälligen und eindeutigen Namen. Der Name des Eimers muss in Kleinbuchstaben sein, wobei die Länge von nicht mehr als 63 Zeichen.

Shared_credentials_file: Es ist der Pfad der Datei, die die Anmeldeinformationen der AWS -Benutzer enthält.

Profil: Es gibt das Profil des Benutzers zum Erstellen des S3 -Eimers an.

Die Ressource "AWS_S3_Bucket" Und "Aws_s3_bucket_acl" Bietet einen Eimer und eine ACL -Ressource (ACL -Konfiguration) für den Eimer. Der "ACL" Das Argument ist optional und bietet einen von Amazon entworfenen Satz vordefinierter Zuschüsse.

Ebenso die Ressource "Aws_s3_bucket_versioning" Bietet eine Ressource für die Versionskontrolle für einen S3 -Bucket. Der in diesem Block definierte Versioning_Configuration -Block enthält die erforderliche Konfiguration zu diesem Zweck. Das Statusargument ist obligatorisch und kann einen einzelnen Wert unter: aktiviert, deaktiviert und suspendiert enthalten.

Initialisierung des Terraform -Verzeichnisses

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

$ terraform init

Aufbau der Infrastruktur

Nachdem wir unsere Konfigurationsdateien erstellt haben, können wir die Änderungen mit dem folgenden Befehl anwenden:

$ Terraform gelten

Eingeben "Ja" auf dem Terminal, wenn sie aufgefordert werden. Wenn die Terraform ihre Arbeit beendet, wird die folgende Nachricht angezeigt:

Überprüfung des Verfahrens

Lassen Sie uns nun überprüfen, ob der gewünschte S3 -Eimer erstellt wird. Gehen Sie zur S3 -Konsole und prüfen Sie nach den verfügbaren Eimern:

Da unser Eimer erfolgreich erstellt wurde, können wir jetzt Dateien hochladen und hier neue Ordner erstellen.

Löschen Sie die Ressourcen, die Sie erstellt haben, wenn Sie sie nicht benötigen. Dadurch werden Sie vor unerwünschten Gebühren auf AWS erspart:

$ Terraform zerstören

Abschluss

In diesem Leitfaden haben wir erfahren, dass die Versionierung auf einem S3 -Eimer mit Terraform aktiviert wird. Wir haben einen Eimer erstellt und Versioning angewendet. Es gibt so viele Dinge, die wir mit Terraform tun können, um unsere Infrastrukturbereitstellung zu vereinfachen.