Cookies time! 🍪

We use cookies in order to improve our website and to offer you a better experience. You can also consult our Cookie policy.

Terraform

Stellen Sie sicher und effizient Infrastruktur als Code mit Terraform bereit.

Automatisieren Sie Ihre Bereitstellungspipeline

Eine CI/CD-Pipeline wird oft durch eine Änderung im Code getriggert (wie ein Post-Commit-Hook in Git) und kann dabei helfen, die Änderung zusammenzuführen, indem sie Schritte zum Testen, Genehmigen und Bereitstellen bietet. Beachten Sie, dass Terraform eher als Orchestrierungstool als ein Automatisierungstool angesehen wird. Dennoch ist es durchaus möglich, Terraform in einen globaleren Arbeitsablauf zu integrieren, bei dem Terraform die Infrastruktur einrichtet und andere ergänzende Tools wie Chef, Puppet oder Ansible dann die Anwendungen konfigurieren, die auf der neuen bzw. aktualisierten Infrastruktur laufen.

Einheitlichkeit über Umgebungen hinaus

Wenn Sie Ihre gesamte Infrastruktur als Terraform-Modul oder Templates definieren, ist es einfach, die gleichen Templates mit leicht unterschiedlichen Variablen wiederzuverwenden. Dies ist ideal für eine richtige DevOps-Umgebung, die eine einheitliche Umgebung verlangt.
Zusätzlich kann bei der Verwendung von Infrastruktur als Coding Tools wie Terraform der Code automatisch als klare Beschreibung des gewünschten Zustands der Infrastruktur dienen. Dadurch wird es einfacher, neue Entwickler in Projekte einzubinden.

Verfolgen Sie alle Änderungen

Wenn die Versionierung durchgesetzt wird, wird das Repository, das den Code enthält, zu einer sogenannten “Single Source of Truth”.
Diesen einzigen Kontrollpunkt über die Infrastruktur zu haben, hilft bei der Introspektion und der Entdeckung, wie die Infrastruktur aufgebaut ist. Entwicklungs- und Betriebsteams verwenden das gleiche Quellcode-Repository. Folglich können beide Teams Änderungen überprüfen und anwenden. Dies senkt das Risiko von Missverständnissen zwischen den Teams, da sie alle den gleichen Kontext teilen und die gleichen Dateien sehen.

Automatisieren Sie die Bereitstellung Ihrer Infrastruktur mit Terraform

Schema-Terraform (new).webp

Verwalten Sie Ihre Infrastruktur präzise mit dem Terraform-Provider-Plugin von Scaleway

Authentifizierung

Die Scaleway-Authentifizierung basiert auf einem Access Key und einem Private Key. Um neue Schlüsselpaare zu erstellen, navigieren Sie zum Abschnitt „API Tokens“ unter der Registerkarte „Zugangsdaten“ in Ihrer Scaleway-Console. Scaleway bietet 3 Möglichkeiten, Zugangsdaten bereitzustellen: Statische Zugangsdaten, Umgebungsvariablen und gemeinsame Konfigurationsdatei.

Ausführungspläne

Terraform hat eine Planungsphase, in der ein Ausführungsplan erstellt wird. Dieser Ausführungsplan zeigt, was Terraform tun wird, wenn Sie den „apply“-Befehl ausführen. Dieser Schritt kann böse Überraschungen vermeiden, wenn Terraform die Infrastruktur beeinflusst.

Ressourcen-Graph

Terraform baut einen Graphen all Ihrer Ressourcen auf und parallelisiert die Erstellung und Änderung aller nicht abhängigen Ressourcen. Als Ergebnis baut Terraform die Infrastruktur so effizient wie möglich auf, sodass Sie einen Einblick in die Abhängigkeiten in Ihrer Infrastruktur erhalten können.

Veränderungen an Automatisierungen

Komplexe Changesets können mit minimaler menschlicher Interaktion auf Ihre Infrastruktur angewendet werden. Mit dem obigen Ausführungsplan und dem Ressourcendiagramm wissen Sie genau, was Terraform ändern wird und in welcher Reihenfolge, wodurch menschliche Fehler vermieden werden können.

Open source

Da Terraform ein Open-Source-Projekt ist, ist auch das Plugin des Scaleway Terraform-Providers Open-Source. Es wird auf Github gehostet und sowohl von unseren DevOps als auch von der Community gepflegt. Dieses Plugin ist in Go geschrieben – zögern Sie nicht, zu diesem Plugin beizutragen oder die Entwicklung einer neuen Funktion anzufragen. Um mehr über unsere Terraform Roadmap zu erfahren, sehen Sie sich unsere öffentliche Roadmap auf GitHub an.
(https://github.com/scaleway/terraform-provider-scaleway/issues/125).

Kompatibel mit dem Marktstandard

Scaleway Object Storage kann zur Speicherung Ihres Terraform-Status verwendet werden. Konfigurieren Sie dazu Ihr Backend als S3-Backend. Beachten Sie, dass noch keine Locking-Mechanismen unterstützt werden, wenn Sie Ihre tfstate-Datei in einem S3-kompatiblen Bucket von AWS speichern. Wenn Sie einen Locking-Mechanismus benötigen, können Sie auch Scaleway Managed Database verwenden.

Versionierung der Infrastruktur

Ihre Infrastruktur ist nun explizit als Konfigurationsdatei definiert und Sie können, wie bei jedem anderen Code auch, Ihr Terraform-Repository versionieren. Das Hinzufügen einer Strategie zur Versionierung wird Ihren Prozess zur Verwaltung der Infrastruktur verändern. In der Tat wird jeder Beteiligte in der Lage sein, Ihren Code zu übertragen und zu überprüfen. Ein weiterer großer Vorteil der Versionierung der Infrastruktur ist die Möglichkeit, im Falle eines Fehlers, zu einer früheren Version zurückzukehren.

Syntax

HCL (HashiCorp Configuration Language) ist eine Konfigurationssprache, die von HashiCorp entwickelt wurde. Das Ziel von HCL ist es, eine strukturierte Konfigurationssprache zu erstellen, die benutzerfreundlich für Mensch und Maschine ist und mit Befehlszeilen-Tools verwendet werden kann, aber speziell auf DevOps-Tools und Server ausgerichtet ist.

Grundlegende Terraform Befehle

Scaleway
  • 1
    $
  • 2
  • 3
  • 4
  • 5
  • 6

Häufig gestellte Fragen

Terraform ist ein Open-Source Software-Tool für Infrastruktur als Code, das von HashiCorp erstellt wurde. Es wurde entwickelt, um Infrastrukturen sicher und effizient zu erstellen, zu ändern und davon Versionen zu erstellen. Terraform kann bestehende und beliebte Service-Provider wie Scaleway, aber auch viele andere wie AWS, AZURE, GCP, OpenStack oder sogar eigene Inhouse-Lösungen verwalten.

Terraform generiert einen Ausführungsplan, der genau beschreibt, was das Tool tun wird, um den gewünschten Zustand zu erreichen. Terraform führt dann diesen Plan aus, um die beschriebene Infrastruktur aufzubauen. Wenn sich die Konfiguration ändert, ist Terraform in der Lage, festzustellen, was sich geändert hat und inkrementelle Ausführungspläne zur Anwendung zu erstellen.

Terraform wird zum Erstellen, Verwalten und Aktualisieren von Infrastruktur-Ressourcen wie Elastic-Metal-Servern, Virtuellen Maschine (Development Instances, General Purpose Instances oder GPU Instances), Netzwerken-Load-Balancern, Container-Orchestrierung (Kubernetes Kapsule) verwendet. Ein Provider ist dafür verantwortlich, API-Interaktionen zu verstehen und Ressourcen zu veröffentlichen.

Ja, Terraform unterstützt Multi-Cloud-Konfiguration. Damit können Sie Infrastrukturen und Ressourcen von mehreren Cloud-Anbietern mit einem einzigartigen Tool für die effiziente Bereitstellung, Änderung und Erstellung von Versionen verwalten. Sie können eine einzige Konfiguration zur Verwaltung von mehreren Providern verwenden und Abhängigkeiten von mehreren Clouds steuern.

Terraform ist dafür ausgelegt, Ihre Infrastruktur zu verwalten. Wenn Sie manuelle Änderungen daran vornehmen, werden diese bei der nächsten Anwendung der Terraform-Konfiguration überschrieben. Um dies zu vermeiden, fügen Sie der Ressource in der Konfigurationsdatei den Parameter „ignore_changes“ hinzu.

Ja, Sie können Ihre Terraform-Statusdatei auf Scaleway Object Storage speichern, indem Sie das S3-Backend benutzen. (https://www.terraform.io/docs/providers/scaleway/index.html#scaleway-s3-compatible).

Wenden Sie sich ganz einfach an die Scaleway-Community. Wir sind im #terraform Kanal präsent.