Skip to content

Deployment mit Terraform


Um die im Lehrvortrag besprochene "Lift & Shift"-Migration der Quarkus-Anwendung nach AWS automatisiert und reproduzierbar durchzuführen, verwenden wir Terraform.

Was ist Terraform?

Terraform ist ein Werkzeug für Infrastructure as Code (IaC). Es ermöglicht die Definition und Bereitstellung von Cloud-Infrastruktur (wie virtuelle Maschinen, Netzwerke, Datenbanken) über deklarative Konfigurationsdateien.

Kernprinzipien

  • Deklarativ: Sie beschreiben den gewünschten Endzustand der Infrastruktur, Terraform kümmert sich um die Umsetzung.
  • Zustandsverwaltung: Terraform speichert den aktuellen Zustand der verwalteten Infrastruktur, um Änderungen planen und anwenden zu können.
  • Anbieter-agnostisch: Unterstützt viele Cloud-Anbieter (AWS, Azure, GCP etc.) und andere Dienste.

Bereitstellung der Beispielanwendung

Die folgenden Schritte beschreiben, wie Sie die Quarkus-Anwendung mithilfe des bereitgestellten Terraform-Skripts in Ihrem eigenen AWS-Konto bereitstellen können.

Voraussetzungen

  • Ein AWS-Konto mit konfigurierten Zugangsdaten (Credentials).
  • Terraform CLI installiert.
  • Docker installiert (falls die Anwendung als Container gebaut werden soll).

Downloads

Terraform-Skript (ZIP) Quarkus-Anwendung (ZIP)


Schritte

Die folgenden Basisschritte beschreiben den Prozess. Detailliertere Anweisungen, insbesondere zur Konfiguration und Anpassung, finden Sie in den README-Dateien innerhalb des Terraform-ZIP-Archivs.

  1. Entpacken: Entpacken Sie beide ZIP-Archive.
  2. Terraform initialisieren: Navigieren Sie im Terminal in das Verzeichnis mit den Terraform-Dateien (.tf) und führen Sie terraform init aus. Dies lädt die notwendigen Provider-Plugins.
  3. Planen: Führen Sie terraform plan aus. Terraform zeigt Ihnen an, welche Ressourcen erstellt oder geändert werden.
  4. Anwenden: Führen Sie terraform apply aus und bestätigen Sie mit yes. Terraform erstellt nun die AWS-Ressourcen (z.B. EC2-Instanz, Sicherheitsgruppen etc.) und konfiguriert sie.
  5. (Optional) Anwendung deployen: Sie müssen die Quarkus-Anwendung zunächst als uber Jar in den entsprechenden Projekt-Ordnern erstellen.
  6. Zugriff: Nach erfolgreichem Abschluss gibt Terraform einige Informationen, wie die öffentliche IP-Adresse der Instanz aus, unter der die Anwendung erreichbar ist.

Aufräumen Um die erstellten Ressourcen wieder zu löschen und Kosten zu vermeiden, führen Sie im Terraform-Verzeichnis terraform destroy aus.


Zurück zur Übersicht des Lehrvortrags