AWS Terraform · 4 min read · Feb 08, 2026
Erstellen eines S3-Buckets auf AWS mit Terraform

In diesem Artikel zeige ich Ihnen, wie Sie Terraform verwenden, um einen S3-Bucket auf AWS zu erstellen. Bevor Sie fortfahren, gehe ich davon aus, dass Sie mit S3-Buckets vertraut sind. Wenn nicht, können Sie hier klicken, um die Schritte zum Erstellen eines S3-Buckets über die AWS-Konsole zu sehen.
Voraussetzungen
- Grundlegendes Verständnis von Terraform.
- Terraform auf Ihrem System installiert.
- AWS-Konto (Erstellen Sie eines, wenn Sie noch keines haben).
- ‘access_key’ & ‘secret_key’ eines AWS IAM-Benutzers. (Klicken Sie hier, um zu lernen, wie Sie einen IAM-Benutzer mit ‘access_key’ & ‘secret_key’ auf AWS erstellen.)
Was wir tun werden
- Terraform-Konfigurationsdateien für den S3-Bucket schreiben.
- Einen S3-Bucket mit den Terraform-Konfigurationsdateien erstellen.
- Den erstellten S3-Bucket mit Terraform löschen.
Terraform-Konfigurationsdateien für den S3-Bucket schreiben
Erstellen Sie ein dediziertes Verzeichnis, in dem Sie Terraform-Konfigurationsdateien erstellen können.
Verwenden Sie den folgenden Befehl, um ein Verzeichnis zu erstellen und Ihr aktuelles Arbeitsverzeichnis zu ändern.
*mkdir terraform
**cd terraform/*Ich verwende „vim“ als Editor, um in Dateien zu schreiben. Sie können einen Editor Ihrer Wahl verwenden und die folgenden Konfigurationen kopieren und einfügen, um variables.tf, terraform.tfvars und main.tf zu erstellen.
Erstellen Sie ‘main.tf’, die dafür verantwortlich ist, einen S3-Bucket auf AWS zu erstellen. Diese main.tf wird die Werte der Variablen aus variables.tf und terraform.tfvars lesen.
*vim main.tf*provider "aws" {
region = "${var.region}"
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
}
resource "aws_s3_bucket" "this" {
bucket = "${var.bucket_name}"
force_destroy = "${var.force_destroy}"
region = "${var.region}"
tags = "${merge(var.tags, map("Name", format("%s", var.bucket_name)))}"
}Hier,
bucket:Der Name des Buckets. Wenn weggelassen, weist Terraform einen zufälligen, eindeutigen Namen zu.force_destroy:Ein Boolean, der angibt, dass alle Objekte aus dem Bucket gelöscht werden sollen, damit der Bucket ohne Fehler zerstört werden kann.region: Die AWS-Region, in der sich dieser Bucket befinden soll.tags:Eine Zuordnung von Tags, die dem Bucket zugewiesen werden sollen.
Ändern Sie den Wert von „region“, wenn Sie den Bucket in einer anderen Region als der von mir angegebenen erstellen möchten.
Erstellen Sie ‘variables.tf’, die die Deklaration und Definition der Variablen enthält.
*vim variables.tf*variable "access_key" {
description = "Zugriffsschlüssel zur AWS-Konsole"
}
variable "secret_key" {
description = "Geheimschlüssel zur AWS-Konsole"
}
variable "region" {
description = "Region des AWS VPC"
}
variable "bucket_name" {
description = "(Erforderlich) Erstellt einen eindeutigen Bucket-Namen"
type = "string"
default = "test-bucket-rahul-delete"
}
variable "force_destroy" {
description = "(Optional) Ein Boolean, der angibt, dass alle Objekte aus dem Bucket gelöscht werden sollen, damit der Bucket ohne Fehler zerstört werden kann"
type = "string"
default = true
}
variable "tags" {
description = "(Optional) Eine Zuordnung von Tags, die dem Bucket zugewiesen werden sollen"
type = "map"
default = {"env": "test"}
}Sobald Sie ‘variables.tf’ erstellt haben, vergessen Sie nicht, die zugewiesenen Werte für die Variablen zu ändern. Sie müssen die hervorgehobenen Werte ändern, da diese spezifisch für meine Umgebung sind. Sie können die restlichen Variablen so belassen, wie sie sind.
Erstellen Sie ‘terraform.tfvars’, die die Definition der Variablen access_key und secret_key enthält, die in der obigen Datei definiert sind, zusammen mit der Variablen „region“.
Die folgenden Schlüssel müssen mit den Schlüsseln Ihres IAM-Benutzers geändert werden.
*vim terraform.tfvars*region = "eu-west-3"
access_key = "AKIAQ6GAIA5XFLXF6HOV"
secret_key = "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"Jetzt sollten Sie 3 Dateien haben, nämlich variables.tf, terraform.tfvars und main.tf.
Erstellen eines S3-Buckets mit den Terraform-Konfigurationsdateien
Bevor Sie die folgenden Befehle ausführen, stellen Sie sicher, dass Sie den gültigen access_key und secret_key konfiguriert haben.
Der erste Befehl, der verwendet werden soll, ist ‘terraform init’. Dieser Befehl lädt Plugins für die in der Konfiguration verwendeten Anbieter herunter und installiert sie. In unserem Fall ist es AWS.
* **terraform init*
Der zweite Befehl, der verwendet werden soll, ist ‘terraform plan’. Dieser Befehl wird verwendet, um die Änderungen zu sehen, die an der Infrastruktur vorgenommen werden.
* terraform plan*
Der Befehl ‘terraform apply’ erstellt die Ressourcen auf AWS, die in der main.tf-Datei erwähnt sind. Sie werden aufgefordert, Ihre Eingabe zur Erstellung der Ressourcen bereitzustellen.
terraform apply
Wenn Sie den obigen Befehl ausführen, können Sie nach erfolgreichem Abschluss sehen, dass 1 neue Ressource hinzugefügt wurde und 0 zerstört wurden.
Sie können zur AWS S3-Konsole gehen, um zu überprüfen, ob der S3-Bucket erstellt wurde oder nicht.

Löschen des S3-Buckets mit Terraform
Wenn Sie eine Ressource, die Sie mit der in der main.tf-Datei genannten Konfiguration erstellt haben, nicht mehr benötigen, können Sie den Befehl “terraform destroy” verwenden, um all diese Ressourcen zu löschen. Hier wird der S3-Bucket beim Ausführen des folgenden Befehls gelöscht.
terraform destroyIm obigen Screenshot sehen Sie, dass die Ressource zerstört wurde.
Fazit
In diesem Artikel haben wir die Schritte zum Erstellen eines S3-Buckets mit Terraform gesehen. Wir haben auch gesehen, wie der Bucket, den wir erstellt haben, mit nur einem Befehl gelöscht werden kann. **
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.