0Pricing
Terraform Infrastructure as Code · Lektion

VPC und Netzwerk konfigurieren

Stellen Sie mit Terraform eine AWS Virtual Private Cloud, Subnetze und Security Groups bereit, um Ihrer Infrastruktur eine sichere, isolierte Netzwerkgrundlage zu geben.

VPC und Netzwerk konfigurieren ist eine kostenlose Terraform Infrastructure as Code-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Terraform Infrastructure as Code-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.

Warum eine benutzerdefinierte VPC?

Jedes AWS-Konto verfügt über eine Standard-VPC, aber Produktionsinfrastruktur verdient ein Netzwerk, das Sie selbst entwerfen. Eine VPC (Virtual Private Cloud) ist ein isolierter Bereich der AWS-Cloud, in dem Sie IP-Bereiche, Subnetze, Routing und Firewalls kontrollieren.

Mit Terraform beschreiben Sie das gesamte Netzwerk als Code, sodass es über Regionen und Konten hinweg reproduzierbar ist.

Die VPC-Ressource deklarieren

Die Ressource aws_vpc bildet die Grundlage Ihres Netzwerks. Der CIDR-Block definiert den privaten IP-Bereich. Ein /16-Block stellt ungefähr 65.000 Adressen bereit, die Sie in Subnetze aufteilen können.

resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_support   = true
  enable_dns_hostnames = true

  tags = {
    Name = "main-vpc"
  }
}

Öffentliche und private Subnetze

Subnetze teilen den VPC-Bereich in kleinere Blöcke auf, die jeweils an eine Availability Zone gebunden sind.

  • Öffentliches Subnetz — verfügt über eine Route zu einem Internet-Gateway und wird für Load Balancer und Bastion-Hosts verwendet.
  • Privates Subnetz — verfügt über keine direkte Internetroute und eignet sich ideal für Datenbanken und Anwendungsserver.

Ein öffentliches Subnetz erstellen

Jedes Subnetz benötigt einen eigenen CIDR-Bereich (einen Ausschnitt aus dem VPC-Bereich) und eine Availability Zone. Wenn Sie map_public_ip_on_launch auf true setzen, werden Instanzen, die hier gestartet werden, automatisch öffentliche IPs zugewiesen.

resource "aws_subnet" "public" {
  vpc_id                  = aws_vpc.main.id
  cidr_block              = "10.0.1.0/24"
  availability_zone       = "us-east-1a"
  map_public_ip_on_launch = true

  tags = {
    Name = "public-subnet"
  }
}

Das Internet-Gateway

Ein Internet-Gateway (IGW) ermöglicht Ressourcen in einem öffentlichen Subnetz den Zugriff auf das Internet. Sie verbinden es direkt mit der VPC.

resource "aws_internet_gateway" "gw" {
  vpc_id = aws_vpc.main.id

  tags = {
    Name = "main-igw"
  }
}

Routingtabellen

Ein Subnetz wird erst dann wirklich öffentlich, wenn eine Routingtabelle den Datenverkehr von 0.0.0.0/0 an das Internet-Gateway weiterleitet. Routingtabellen ordnen Ziel-CIDRs Zielen zu.

resource "aws_route_table" "public" {
  vpc_id = aws_vpc.main.id

  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = aws_internet_gateway.gw.id
  }
}

Routen mit Subnetzen verknüpfen

Routingtabellen bewirken nichts, solange sie keinem Subnetz zugeordnet sind. Die Ressource aws_route_table_association verknüpft beide miteinander.

resource "aws_route_table_association" "public" {
  subnet_id      = aws_subnet.public.id
  route_table_id = aws_route_table.public.id
}

Sicherheitsgruppen als Firewalls

Eine Sicherheitsgruppe ist eine zustandsbehaftete virtuelle Firewall um eine Instanz. Zustandsbehaftet bedeutet, dass Antwortverkehr auf eine erlaubte eingehende Anfrage automatisch zugelassen wird. Daher müssen Sie normalerweise nur die relevanten Regeln für eingehenden Datenverkehr angeben.

Eine Web-Sicherheitsgruppe definieren

Im Folgenden erlauben wir eingehenden HTTP-Datenverkehr von überall und sämtlichen ausgehenden Datenverkehr. In realen Deployments sollten Sie den Quell-CIDR so weit wie möglich einschränken.

resource "aws_security_group" "web" {
  name   = "web-sg"
  vpc_id = aws_vpc.main.id

  ingress {
    from_port   = 80
    to_port     = 80
    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"]
  }
}

Eine Instanz in das Netzwerk einbinden

Verbinden Sie Subnetz und Sicherheitsgruppe über subnet_id und vpc_security_group_ids mit einer EC2-Instanz. Dadurch befindet sich der Server innerhalb Ihres benutzerdefinierten Netzwerks.

resource "aws_instance" "app" {
  ami                    = "ami-0abcd1234"
  instance_type          = "t3.micro"
  subnet_id              = aws_subnet.public.id
  vpc_security_group_ids = [aws_security_group.web.id]
}

Netzwerk-IDs ausgeben

Machen Sie wichtige IDs als Outputs verfügbar, damit andere Module oder Ihr Team nach dem Anwenden darauf verweisen können.

output "vpc_id" {
  value = aws_vpc.main.id
}

output "public_subnet_id" {
  value = aws_subnet.public.id
}

Kurzer Check

Testen Sie Ihr Verständnis des VPC-Routings.

Zusammenfassung: Ihr Netzwerkfundament

Sie haben in Terraform ein vollständiges Netzwerk erstellt:

  • aws_vpc mit einem CIDR-Bereich.
  • Subnets über mehrere Availability Zones hinweg, öffentlich oder privat.
  • Internet gateway sowie Route Tables für die öffentliche Erreichbarkeit.
  • Security groups als zustandsbehaftete Firewalls.

Dieses Netzwerk bildet das Rückgrat, an das alle anderen AWS-Ressourcen angebunden werden.

Häufig gestellte Fragen

Ist die Lektion „VPC und Netzwerk konfigurieren“ kostenlos?

Ja — der vollständige Text von „VPC und Netzwerk konfigurieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Terraform Infrastructure as Code-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „VPC und Netzwerk konfigurieren“?

Stellen Sie mit Terraform eine AWS Virtual Private Cloud, Subnetze und Security Groups bereit, um Ihrer Infrastruktur eine sichere, isolierte Netzwerkgrundlage zu geben. Du übst Terraform Infrastructure as Code mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Terraform Infrastructure as Code zu starten?

Keine Vorkenntnisse erforderlich. Terraform Infrastructure as Code auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „VPC und Netzwerk konfigurieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Terraform Infrastructure as Code-Lektion Code schreiben und ausführen?

Ja. Jede Terraform Infrastructure as Code-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. AWS-Provider konfigurieren
  2. EC2-Instanzen bereitstellen
  3. S3-Buckets und IAM verwalten
  4. VPC und Netzwerk konfigurieren
← Zurück zu Terraform Infrastructure as Code