Skip to main content
📝 Cloud & DevOps (AWS)

Einen AWS EC2-Server mit Terraform auf dem Mac einrichten [Schritt-für-Schritt-Anleitung]

Einen AWS EC2-Server mit Terraform auf dem Mac einrichten [Schritt-für-Schritt-Anleitung] Einleitung: Die intelligentere Art, AWS-Server vom Mac aus...

7 min

Lesezeit

1,356

Wörter

Apr 02, 2025

Veröffentlicht

Engr Mejba Ahmed

Geschrieben von

Engr Mejba Ahmed

Artikel teilen

Einen AWS EC2-Server mit Terraform auf dem Mac einrichten [Schritt-für-Schritt-Anleitung]

Einen AWS EC2-Server mit Terraform auf dem Mac einrichten [Schritt-für-Schritt-Anleitung]


Einleitung: Die intelligentere Art, AWS-Server vom Mac aus zu starten

Wenn Sie schon einmal eine EC2-Instanz manuell über die AWS-Konsole erstellt haben, wissen Sie, wie leicht Fehler passieren — falsche Region gewählt, Sicherheitsgruppen vergessen oder SSH-Schlüssel falsch eingerichtet.

Stellen Sie sich vor, Ihre gesamte Cloud-Infrastruktur automatisch mit nur einem Befehl zu starten. Genau dafür steht Terraform.

Terraform ist ein leistungsstarkes Infrastructure as Code (IaC)-Tool, mit dem Sie Cloud-Deployments auf AWS, Azure, Google Cloud und mehr definieren, versionieren und automatisieren können. Für Entwickler auf dem Mac bietet es eine saubere, effiziente und wiederholbare Methode zur Serververwaltung — ganz ohne die AWS-Konsole.

In dieser Anleitung lernen Sie genau:

  • Terraform auf Ihrem Mac zu konfigurieren
  • Es mit AWS-Zugangsdaten zu verbinden
  • Eine Terraform-Konfigurationsdatei zum Starten einer EC2-Instanz zu schreiben
  • Ihr Deployment vertrauensvoll anzuwenden, zu verifizieren und zu verwalten

Am Ende verfügen Sie über einen vollständig funktionsfähigen AWS EC2-Server, der mit Terraform deployed wurde — jederzeit und überall reproduzierbar.


Schritt 1: Was Sie vor dem Start benötigen

Stellen Sie sicher, dass Sie folgendes haben:

🧰 Systemvoraussetzungen

  • macOS 12+
  • Homebrew (für einfache Paketinstallation)
  • Ein AWS-Konto mit Zugriffsschlüsseln
  • Grundkenntnisse von AWS EC2

☁️ AWS-Konto einrichten

  1. Melden Sie sich bei Ihrer AWS-Konsole an.

  2. Gehen Sie zu IAM → Benutzer → Sicherheitsanmeldeinformationen.

  3. Generieren Sie eine Access Key ID und einen Secret Access Key.

    • Bewahren Sie diese sicher auf — Terraform benötigt sie zur Authentifizierung bei AWS.

Schritt 2: Terraform auf dem Mac installieren

Der einfachste Weg, Terraform auf macOS zu installieren, ist über Homebrew:

brew tap hashicorp/tap
brew install hashicorp/tap/terraform

Installation überprüfen:

terraform -version

✅ Beispielausgabe:

Terraform v1.9.0
on darwin_amd64

Terraform ist jetzt global auf Ihrem System installiert.


Schritt 3: AWS CLI konfigurieren

Terraform kommuniziert über die AWS CLI mit AWS. Installieren und konfigurieren wir sie:

brew install awscli

Nach der Installation mit Ihren Zugangsdaten konfigurieren:

aws configure

Eingeben:

AWS Access Key ID: <your-access-key>
AWS Secret Access Key: <your-secret-key>
Default region name: us-east-1
Default output format: json

Dies erstellt eine Konfigurationsdatei in ~/.aws/credentials, die Terraform zur Authentifizierung verwendet.


Schritt 4: Ein neues Terraform-Projekt einrichten

Erstellen Sie ein Projektverzeichnis für Ihre Terraform-Dateien:

mkdir terraform-ec2-setup
cd terraform-ec2-setup

Erstellen Sie eine neue Datei namens main.tf:

touch main.tf

Hier werden alle Ihre Terraform-Konfigurationen stehen.


Schritt 5: Ihre Terraform-Konfigurationsdatei schreiben

Definieren Sie alles, was Terraform zum Erstellen einer EC2-Instanz benötigt — Provider, Region, AMI, Instanztyp und Sicherheitsgruppen.

Öffnen Sie main.tf und fügen Sie folgenden Code hinzu:

# Specify AWS as the provider
provider "aws" {
  region = "us-east-1"
}

# Create a key pair
resource "aws_key_pair" "mac_key" {
  key_name   = "mac-terraform-key"
  public_key = file("~/.ssh/id_rsa.pub")
}

# Create a security group
resource "aws_security_group" "allow_ssh" {
  name        = "allow_ssh"
  description = "Allow SSH inbound traffic"

  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

# Create an EC2 instance
resource "aws_instance" "my_ec2" {
  ami           = "ami-0c02fb55956c7d316"
  instance_type = "t2.micro"
  key_name      = aws_key_pair.mac_key.key_name
  security_groups = [aws_security_group.allow_ssh.name]

  tags = {
    Name = "Terraform-Mac-Instance"
  }
}

Schritt 6: Terraform initialisieren

Initialisieren Sie Terraform, bevor Sie Konfigurationen anwenden. Dies lädt alle notwendigen Provider-Plugins herunter:

terraform init

✅ Erwartete Ausgabe:

Initializing the backend...
Initializing provider plugins...
Terraform has been successfully initialized!

Schritt 7: Konfiguration validieren

Validieren Sie Ihre .tf-Dateien stets vor der Anwendung:

terraform validate

Bei korrekter Konfiguration sehen Sie:

Success! The configuration is valid.

Schritt 8: Infrastrukturplan einsehen

Sehen Sie, was Terraform erstellen wird — ohne tatsächlich Änderungen vorzunehmen:

terraform plan

Terraform gibt einen detaillierten Plan der zu erstellenden Ressourcen aus:

+ aws_instance.my_ec2
+ aws_security_group.allow_ssh
+ aws_key_pair.mac_key

Dies ist Ihre Chance, die Konfiguration vor dem Deployment zu bestätigen.


Schritt 9: Anwenden und EC2-Instanz erstellen

Sobald Sie bereit sind, deployen Sie die Instanz:

terraform apply

Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

Terraform wird:

  • Ein Schlüsselpaar erstellen
  • Eine Sicherheitsgruppe einrichten
  • Eine EC2-Instanz deployen

✅ Erwartete Ausgabe:

Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

Outputs:
instance_public_ip = "54.210.19.33"

Sie können sich nun per SSH mit Ihrer neuen Instanz verbinden:

ssh ec2-user@54.210.19.33

Schritt 10: In der AWS-Konsole verifizieren

Öffnen Sie Ihre AWS Management Console → EC2 Dashboard, und Sie sehen Ihre neue Instanz unter:

Name: Terraform-Mac-Instance

Dies bestätigt, dass Terraform Ihre Infrastruktur erfolgreich deployed hat.


Schritt 11: Ressourcen bereinigen (optional)

Zerstören Sie die Infrastruktur nach dem Testen, um unnötige AWS-Kosten zu vermeiden:

terraform destroy

Geben Sie yes zur Bestätigung ein.


Schritt 12: Den Terraform-Workflow verstehen

Hier eine Übersicht der Terraform-Lifecycle-Befehle, die Sie häufig verwenden werden:

Befehl Beschreibung
terraform init Projekt initialisieren und Provider-Plugins installieren
terraform validate Konfigurationssyntax prüfen
terraform plan Geplante Infrastrukturänderungen einsehen
terraform apply Änderungen anwenden und auf AWS deployen
terraform destroy Erstellte Ressourcen löschen

Schritt 13: Häufige Probleme und Lösungen

❌ Fehler: Ungültige AWS-Zugangsdaten

Überprüfen Sie Ihre ~/.aws/credentials-Datei oder führen Sie aws configure erneut aus.

❌ Zugriff verweigert (publickey)

Stellen Sie sicher, dass Ihr SSH-Schlüssel korrekt in der Terraform-Schlüsselpaar-Ressource und im Verzeichnis ~/.ssh auf Ihrem Mac eingetragen ist.

❌ Sicherheitsgruppe nicht gefunden

Terraform erstellt Abhängigkeiten automatisch, aber bei Änderungen an Ressourcennamen führen Sie terraform init erneut aus.

❌ State-File-Konflikte

Bearbeiten Sie terraform.tfstate niemals manuell. Verwenden Sie Remote-Backends wie S3 für Team-Umgebungen.


Schritt 14: Best Practices für Terraform + AWS auf dem Mac

✅ Remote State Storage verwenden

Speichern Sie den Terraform-Status in AWS S3 mit DynamoDB-Locking, um Konflikte zu vermeiden:

terraform {
  backend "s3" {
    bucket = "terraform-state-bucket"
    key    = "ec2/terraform.tfstate"
    region = "us-east-1"
  }
}

✅ Versionskontrolle

Fügen Sie .terraform/ zu Ihrer .gitignore hinzu und speichern Sie .tf-Dateien in Git für die Zusammenarbeit.

✅ Infrastruktur modularisieren

Nutzen Sie Terraform-Module für wiederverwendbare Konfigurationen — wie vpc, ec2 und security_groups.

✅ Alles taggen

Taggen Sie AWS-Ressourcen stets für einfacheres Management, Abrechnung und Auditing.


Schritt 15: EC2-Setup mit Variablen automatisieren

Erstellen Sie eine variables.tf-Datei für wiederverwendbare Konfigurationen:

variable "instance_type" {
  default = "t2.micro"
}

variable "region" {
  default = "us-east-1"
}

Aktualisieren Sie dann main.tf:

provider "aws" {
  region = var.region
}

resource "aws_instance" "my_ec2" {
  ami           = "ami-0c02fb55956c7d316"
  instance_type = var.instance_type
}

Ausführen:

terraform plan
terraform apply

Dies macht Ihr Deployment flexibel und umgebungsunabhängig.


Schritt 16: Bonus — Mit GitHub Actions automatisieren (CI/CD)

Automatisieren Sie Terraform-Deployments direkt aus GitHub.

Erstellen Sie .github/workflows/deploy.yml:

name: Terraform AWS Deploy
on:
  push:
    branches: [ "main" ]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Terraform
        uses: hashicorp/setup-terraform@v2
      - name: Terraform Init
        run: terraform init
      - name: Terraform Apply
        run: terraform apply -auto-approve

Diese Pipeline führt Terraform automatisch bei jedem Push zu main aus — ideal für Team-Automatisierung.


Wichtigste Erkenntnisse

  • 💻 Terraform ermöglicht die Automatisierung des AWS EC2-Setups vom Mac aus mit sauberem, wiederverwendbarem Code.
  • 🔐 Verwenden Sie IAM-Zugriffsschlüssel zur Authentifizierung — niemals Zugangsdaten im Code fest hinterlegen.
  • 🧠 Pläne stets validieren und einsehen, bevor Sie sie anwenden.
  • 🧩 Modularisieren Sie Ihr Terraform-Setup für Skalierbarkeit.
  • ☁️ Bereinigen Sie ungenutzte Ressourcen, um AWS-Kosten zu kontrollieren.

Jetzt loslegen

Bereit, Ihre AWS-Automatisierung auf das nächste Level zu heben? Terraform auf dem Mac zu beherrschen ist erst der Anfang — von hier aus können Sie auf Multi-Umgebungs-Deployments, S3-Buckets, VPCs und sogar Kubernetes-Cluster ausweiten — alles über Code.

👉 Starten Sie jetzt mit Ihrer ersten Terraform-verwalteten EC2-Instanz und erleben Sie, wie mühelos Cloud-Automatisierung sein kann.


FAQ

F: Wofür wird Terraform verwendet?

Terraform automatisiert Infrastructure-Deployments auf Cloud-Plattformen wie AWS, Azure und Google Cloud über einfache Konfigurationsdateien.

F: Ist Terraform kostenlos?

Ja. Die Terraform CLI ist Open Source, obwohl HashiCorp kostenpflichtige Versionen für Teams und Enterprise-Automatisierung anbietet.

F: Kann ich Terraform auch unter Windows oder Linux verwenden?

Absolut. Terraform läuft auf allen gängigen Betriebssystemen. Die Installationsbefehle unterscheiden sich je nach Plattform leicht.

F: Wie verbinde ich mich per SSH mit meiner Terraform EC2-Instanz?

Verwenden Sie Ihren privaten SSH-Schlüssel und die öffentliche IP der Instanz:

ssh ec2-user@<instance_ip>

F: Sollte ich Ressourcen nach dem Testen löschen?

Ja — führen Sie nach dem Testen immer terraform destroy aus, um unerwartete AWS-Kosten zu vermeiden.

Coffee cup

Hat Ihnen dieser Artikel gefallen?

Ihre Unterstützung hilft mir, mehr tiefgehende technische Inhalte, Open-Source-Tools und kostenlose Ressourcen für die Entwickler-Community zu erstellen.

Verwandte Themen

Engr Mejba Ahmed

Über den Autor

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

11  +  12  =  ?

Weiter lernen

Verwandte Artikel

Alle anzeigen

Comments

Leave a Comment

Comments are moderated before appearing.