HashiCorp Terraform ist ein IaC-Tool (Infrastructure as Code), mit dem Sie eine Cloud-Infrastruktur bereitstellen und verwalten können. Terraform bietet Plug-ins, die als Anbieter bezeichnet werden und mit denen Sie mit Cloud-Anbietern und anderen APIs interagieren können. Sie können den Terraform-Provider für Google Cloud verwenden, um Google Cloud -Ressourcen wie Cloud Storage bereitzustellen und zu verwalten.
Auf dieser Seite wird die Verwendung von Terraform mit Cloud Storage vorgestellt. Dazu gehören eine Einführung in die Funktionsweise von Terraform und einige Ressourcen, die Ihnen den Einstieg in die Verwendung von Terraform mit Google Clouderleichtern. Außerdem finden Sie Links zur Terraform-Referenzdokumentation für Cloud Storage, Codebeispiele und Anleitungen zum Bereitstellen von Cloud Storage-Ressourcen mit Terraform.
Eine Anleitung für die ersten Schritte mit Terraform für Google Cloudfinden Sie unter Terraform installieren und konfigurieren oder im Terraform-Schnellstart für Google Cloud .
So funktioniert Terraform
Terraform hat eine deklarative, konfigurationsorientierte Syntax, mit der Sie die Infrastruktur beschreiben können, die Sie in Ihrem Google Cloud -Projekt bereitstellen möchten. Nachdem Sie diese Konfiguration in einer oder mehreren Terraform-Konfigurationsdateien erstellt haben, können Sie die Konfiguration mit der Terraform-Befehlszeile auf Ihre Cloud Storage-Ressourcen anwenden.
In den folgenden Schritten wird die Funktionsweise von Terraform erläutert:
- Sie beschreiben die Infrastruktur, die Sie bereitstellen möchten, in einer Terraform-Konfigurationsdatei. Sie müssen keinen Code schreiben, der beschreibt, wie die Infrastruktur bereitgestellt wird. Terraform stellt die Infrastruktur für Sie bereit.
- Sie führen den Befehl
terraform planaus, der Ihre Konfiguration auswertet und einen Ausführungsplan generiert. Sie können den Plan prüfen und bei Bedarf Änderungen vornehmen. -
Anschließend führen Sie den Befehl
terraform applyaus, der die folgenden Aktionen ausführt:- Ihre Infrastruktur wird basierend auf Ihrem Ausführungsplan bereitgestellt, indem die entsprechenden Cloud Storage APIs im Hintergrund aufgerufen werden.
- Es wird eine Terraform-Zustandsdatei erstellt, eine JSON-Datei, die die Ressourcen in Ihrer Konfigurationsdatei den Ressourcen in der realen Infrastruktur zuordnet. Terraform verwendet diese Datei, um den aktuellen Status Ihrer Infrastruktur zu erfassen und zu bestimmen, wann Ressourcen erstellt, aktualisiert und gelöscht werden müssen.
-
Wenn Sie anschließend
terraform applyausführen, verwendet Terraform die Zuordnung in der Zustandsdatei, um die vorhandene Infrastruktur mit dem Code zu vergleichen und bei Bedarf Aktualisierungen vorzunehmen:- Wenn ein Ressourcenobjekt in der Konfigurationsdatei definiert, aber in der Zustandsdatei nicht vorhanden ist, wird es von Terraform erstellt.
- Wenn ein Ressourcenobjekt in der Zustandsdatei vorhanden ist, aber eine andere Konfiguration als die Konfigurationsdatei hat, aktualisiert Terraform die Ressource entsprechend Ihrer Konfigurationsdatei.
- Wenn ein Ressourcenobjekt in der Zustandsdatei mit der Konfigurationsdatei übereinstimmt, lässt Terraform die Ressource unverändert.
Terraform-Ressourcen für Cloud Storage
Ressourcen sind die grundlegenden Elemente der Terraform-Sprache. Jeder Ressourcenblock beschreibt ein oder mehrere Infrastrukturobjekte, z. B. virtuelle Netzwerke oder Compute-Instanzen.
In der folgenden Tabelle sind die Terraform-Ressourcen aufgeführt, die für Cloud Storage verfügbar sind:
| Dienst | Terraform-Ressourcen | Datenquellen |
|---|---|---|
|
Cloud Storage Terraform-Dienst: |
|
|
|
Storage Intelligence Terraform-Dienst: |
||
|
Funktion für Speicherbatchvorgänge von Storage Intelligence Terraform-Dienst: |
- | |
|
Storage Insights-Funktion von Storage Intelligence Terraform-Dienst: |
Terraform-basierte Anleitungen für Cloud Storage
In der folgenden Tabelle sind alle Terraform-basierten Anleitungen und Tutorials für Cloud Storage aufgeführt:
| Anleitung | Details | |
|---|---|---|
| Kurzanleitung: Mit Terraform einen Bucket erstellen und ein Objekt hochladen | In dieser Kurzanleitung erfahren Sie, wie Sie mit Terraform beginnen, indem Sie eine Terraform-Konfigurationsdatei erstellen, die einen Storage-Bucket bereitstellt und ein Beispielobjekt in den Bucket hochlädt. | |
| Bucket erstellen | In diesem Leitfaden wird beschrieben, wie Sie einen Bucket erstellen. | |
| Bucket-Metadaten abrufen | In diesem Leitfaden wird beschrieben, wie Sie die Metadaten eines Buckets aufrufen. | |
| Objekte hochladen | In dieser Anleitung wird beschrieben, wie Sie Objekte aus Ihrem lokalen Dateisystem in einen Bucket hochladen. | |
| Objekt-metadaten abrufen | In dieser Anleitung wird beschrieben, wie Sie die Metadaten eines Objekts aufrufen. | |
| Objektlebenszyklen verwalten | In dieser Anleitung wird beschrieben, wie Sie die Lebenszykluskonfiguration für einen Bucket festlegen. | |
| Pub/Sub-Benachrichtigungen konfigurieren | In dieser Anleitung wird beschrieben, wie Sie Ihren Bucket so konfigurieren, dass Benachrichtigungen über Objektänderungen an ein Pub/Sub-Thema gesendet werden. | |
| HMAC-Schlüssel erstellen | In dieser Anleitung wird beschrieben, wie Sie HMAC-Schlüssel (Hash-based Message Authentication Code) für Dienstkonten in Ihrem Projekt erstellen. | |
| Daten öffentlich bereitstellen | In diesem Guide wird beschrieben, wie Sie alle Objekte in einem Bucket für alle Nutzer im öffentlichen Internet lesbar machen. | |
| Statische Website hosten | In diesem Leitfaden wird beschrieben, wie Sie einen Bucket konfigurieren, um eine statische Website für eine Domain zu hosten, die Ihnen gehört. |
Terraform-Module und -Blueprints für Cloud Storage
Mithilfe von Modulen und Blueprints können Sie die Bereitstellung und Verwaltung von Google Cloud -Ressourcen in großem Maßstab automatisieren. Ein Modul ist ein wiederverwendbarer Satz von Terraform-Konfigurationsdateien, der eine logische Abstraktion von Terraform-Ressourcen erstellt. Ein Blueprint ist ein Paket aus bereitstellbaren und wiederverwendbaren Modulen und einer Richtlinie, mit der eine bestimmte Lösung implementiert und dokumentiert wird.
In der folgenden Tabelle sind Module und Blueprints aufgeführt, die mit Cloud Storage zusammenhängen:
| Modul oder Blueprint | Details |
|---|---|
terraform-google-cloud-storage |
Mit diesem Modul werden ein oder mehrere Cloud Storage-Buckets erstellt und beliebigen Nutzern grundlegende Berechtigungen dafür zugewiesen. |
Nächste Schritte
- Terraform-Codebeispiele für Cloud Storage
- Dokumentation zu Terraform Google Cloud
- Google Cloud -Anbieterdokumentation in HashiCorp
- Infrastruktur als Code für Google Cloud