Terraform

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

Automatisieren Sie Ihre Bereitstellungspipeline

Eine CI/CD-Pipeline wird oft durch eine Codeänderung ausgelöst (wie ein Post-Commit-Hook in Git) und kann dabei helfen, die Änderung zusammenzuführen, indem sie Schritte zum Testen, Genehmigen und Bereitstellen bietet. Gehen Sie noch einen Schritt weiter und integrieren Sie Terraform in Ihren Workflow, um Ihre Infrastruktur bereitzustellen und andere ergänzende Tools wie Chef, Puppet oder Ansible zur Konfiguration Ihrer Anwendungen zu nutzen.

Umgebungen übergreifende Konsistenz

Sie können ganz einfach die gleichen Templates mit leicht unterschiedlichen Variablen wiederverwenden. Der Code kann automatisch als klare Beschreibung des gewünschten Zustands der Infrastruktur dienen. Dadurch wird es einfacher, neue Entwickler in Projekte einzubinden.

Verfolgen Sie alle Änderungen

Die Teams in den Bereichen Entwicklung und Betrieb verwenden beide 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

Präzise Verwaltung Ihrer Infrastruktur

Authentifizierung

Um neue Schlüsselpaare zu erstellen, navigieren Sie zum Abschnitt "API Tokens" unter dem Tab "Zugangsdaten" in Ihrer Scaleway Console. Scaleway bietet 3 Möglichkeiten, Zugangsdaten bereitzustellen: Statische Zugangsdaten, Umgebungsvariablen und die gemeinsame Konfigurationsdatei.

zur Console

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 mit der Infrastruktur arbeitet.

Open Source

Das Plugin des Scaleway-Terraform-Anbieters ist 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.

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 Interaktion Ihrerseits quasi automatisch 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.

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.

Versionsverwaltung der Infrastruktur

Ihre Infrastruktur ist nun explizit als Konfigurationsdatei definiert und Sie können, wie bei jedem anderen Code auch, Ihr Terraform-Repository in Versionen verwalten. 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.

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.

Terraform-Hauptbefehle

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 von ihnen Versionen zu erstellen. Terraform kann bestehende und beliebte Service-Anbieter 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 zu erstellen. Wenn sich die Konfiguration ändert, kann Terraform feststellen, was sich geändert hat und inkrementelle Ausführungspläne für die Anwendung erstellen, die anschließend angewendet werden können.

Terraform wird zum Erstellen, Verwalten und Aktualisieren von Infrastruktur-Ressourcen wie virtuelle Maschinen (Development Instances, General Purpose Instances oder GPU Instances), Load Balancern, Container-Orchestrierung (Kubernetes Kapsule) verwendet. Ein Anbieter ist dafür verantwortlich, API-Interaktionen zu verstehen und Ressourcen zu verwalten.

Ja, Terraform unterstützt die 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.

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 nutzen.

Wenden Sie sich ganz einfach an die Scaleway-Community. Sie finden uns im #terraform-Channel.