AWS VPC → STACKIT NETZWERK
AWS VPC und Netzwerk zu STACKIT migrieren
STACKIT kennt kein VPC-Objekt: Subnetze werden zu STACKIT-Netzwerken in einem Projekt, und Netzwerke, die privat miteinander kommunizieren, kommen in eine Network Area. StackToIT übernimmt Präfixe und DNS-Server und macht aus dem, was STACKIT anders löst, etwa NAT-Egress-Adressen, klare Entscheidungen.
Subnetze behalten ihre Präfixe
Eine kleine Umgebung, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links die Eingabe, rechts die Ressourcenblöcke aus dem STACKIT-Terraform der Engine; die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
}
resource "aws_subnet" "private_a" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "eu-central-1a"
}
resource "aws_subnet" "private_b" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.2.0/24"
availability_zone = "eu-central-1b"
}resource "stackit_network" "private_a" {
project_id = var.project_id
name = "private-a"
ipv4_prefix = "10.0.1.0/24"
ipv4_nameservers = var.default_ipv4_nameservers
}
resource "stackit_network" "private_b" {
project_id = var.project_id
name = "private-b"
ipv4_prefix = "10.0.2.0/24"
ipv4_nameservers = var.default_ipv4_nameservers
}Das Community-VPC-Modul, umgestellt
Aus dem veröffentlichten Lauf der AWS Retail Store Sample App. Die Subnetze werden aus den Availability Zones berechnet; ihre Anzahl und Präfixe werden daher zu Variablen, die Sie einmal setzen. Die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "5.21.0"
name = var.environment_name
cidr = var.vpc_cidr
azs = local.azs
public_subnets = local.public_subnets
private_subnets = local.private_subnets
enable_nat_gateway = true
create_igw = true
enable_dns_hostnames = true
single_nat_gateway = true
# Manage so we can name
manage_default_network_acl = true
default_network_acl_tags = { Name = "${var.environment_name}-default" }
manage_default_route_table = true
default_route_table_tags = { Name = "${var.environment_name}-default" }
manage_default_security_group = true
default_security_group_tags = { Name = "${var.environment_name}-default" }
public_subnet_tags = merge(var.tags, var.public_subnet_tags)
private_subnet_tags = merge(var.tags, var.private_subnet_tags)
tags = var.tags
}resource "stackit_network" "vpc_vpc_private" {
count = var.private_count
project_id = var.project_id
name = "vpc-vpc-private-${count.index}"
ipv4_prefix = var.private_ipv4_prefixes[count.index]
ipv4_nameservers = var.default_ipv4_nameservers
}
resource "stackit_network" "vpc_vpc_public" {
count = var.public_count
project_id = var.project_id
name = "vpc-vpc-public-${count.index}"
ipv4_prefix = var.public_ipv4_prefixes[count.index]
ipv4_nameservers = var.default_ipv4_nameservers
}So wird das Netzwerk zugeordnet
| AWS-Ressource | STACKIT-Ziel | Migrationsklasse |
|---|---|---|
| VPC | STACKIT-Projektnetzwerk oder Network Area | Rekonfigurieren |
| Subnetze | STACKIT-Netzwerke mit denselben IPv4-Präfixen | Rekonfigurieren |
| Internet-Gateway | In ein geroutetes STACKIT-Netzwerk eingebaut | Rekonfigurieren |
| NAT-Gateway | STACKIT-Standardrouting mit ausgehendem NAT | Rekonfigurieren |
| Routing-Tabellen | STACKIT-Standardrouting oder Routing-Tabellen der Network Area | Rekonfigurieren |
| Security Groups | STACKIT-Security-Groups und -Regeln | Rekonfigurieren |
| Netzwerk-ACLs | STACKIT-Security-Groups (zustandsbehaftet) | Redesign |
Klassen so, wie der Lauf der AWS Retail Store Sample App sie entschieden hat.
Entscheidungen, die der Lauf Ihrem Netzwerkteam vorlegt
Egress-Adresse
Ein NAT-Gateway liefert eine feste Egress-Adresse. Auf STACKIT gehört die Adresse dem Netzwerk selbst; StackToIT fragt daher, ob Server auf Freigabelisten öffentliche STACKIT-IPs erhalten.
Privates DNS
Namen, die nur der AWS-VPC-Resolver beantwortet, brauchen einen eigenen DNS-Server. StackToIT zeigt, wo die Quelle darauf angewiesen ist.
Projekt oder Network Area
Ob das Zielprojekt in einer Network Area liegt, ändert Routing und Cluster-Platzierung. Der Lauf hält es daher als Entscheidung vor dem Pilot fest.
Was aus dem Netzwerk des Retail Store wurde
Das Community-VPC-Modul des veröffentlichten Laufs, Ressourcengruppe für Ressourcengruppe.
| AWS-Ressourcen | Im Lauf | Bei STACKIT |
|---|---|---|
| VPC | 1 Einheit | Network Area und Netzwerke |
| Subnetze | 7 im Modul; „private“ und „public“ sind aktiv, fünf weitere sind abgeschaltet | Je ein STACKIT-Netzwerk für die zwei aktiven; die übrigen würden zu Netzwerken, wenn sie aktiviert würden |
| NAT-Gateway und seine Adresse | 1 Gateway, als einzelnes NAT gesetzt | Ausgehendes Routing des STACKIT-Netzwerks; die Adresse gehört dem Netzwerk |
| Internet-Gateway | 1 | Das Standard-Gateway des STACKIT-Netzwerks |
| Routing-Tabellen | 6; „private“ und „public“ sind aktiv | Standard-Routing des Netzwerks |
| Network ACLs | 7, in der Quelle alle abgeschaltet | Würden zu Security Groups, da STACKIT keine zustandslosen ACLs hat |
| Security Groups | 15: 7 entworfen, 5 für verwaltete Datendienste, 3 abgeschaltet | STACKIT-Security-Groups und -Regeln für die 7; die 5 erreichen die Datendienste als Adressen in der Zugriffsliste |
Zahlen aus dem veröffentlichten Lauf der AWS Retail Store Sample App; abgeschaltet heißt, dass die Quellkonfiguration die Ressource nicht anlegt.
Weitere Netzwerkentscheidungen, die der Lauf aufwirft
Alle sind vor dem Pilot fällig und haben einen Verantwortlichen.
Platzierung der Workloads (Network Architect)
Ein Kubernetes-Engine-Cluster wird in genau ein Netzwerk gesetzt, und Datenbank, Cache oder Broker nehmen eine Zugriffsliste und keine Netzwerk-ID. Zur Wahl stehen ein Netzwerk für Cluster und Dienste, die Quellnetzwerke mit Platzierung nach Schicht, ein Neuentwurf oder Verbraucher außerhalb des Netzwerks.
Pod-Segmentierung (Security Architect)
Was die fünf Security Groups der Dienste auf Kubernetes bedeuten, lässt sich nicht belegen. Zur Wahl stehen NetworkPolicy aus den Gruppenregeln, eine Security Group auf den Nodes oder keine Segmentierung.
Pfad des Load Balancers (Network Architect)
Ein Target Pool erreicht Ziele über private IPs, und der Cluster gibt keine Node-Adresse an Terraform aus. Ein Workload ist über einen Node Port oder über einen Ingress-Controller erreichbar.
Welche Netzwerkinstanz (Platform Architect)
Der Load Balancer verweist auf ein wiederholtes öffentliches Netzwerk. Die Quelle sagt nicht, welche Instanz gemeint ist, daher wird keine angenommen.
Bewiesen an einer echten AWS-Umgebung
Die AWS Retail Store Sample App, ein öffentliches Terraform-Projekt von AWS, von StackToIT bewertet und vollständig veröffentlicht, genau so, wie der Lauf es geschrieben hat.
Fallstudie ansehen (Englisch)- 282
- Terraform-Ressourcendefinitionen analysiert
- 44
- Migrationseinheiten identifiziert
- 38
- Zieleinheiten erzeugt, von 52 betrachteten
- 331
- Planschritte erstellt
Fragen aus Netzwerkteams
Hat STACKIT eine VPC?
Nicht als GA-Containerobjekt. Ein Projekt mit seinen Netzwerken bildet die Grenze, und eine Network Area verbindet Netzwerke privat. Die neueren stackit_vpc-Ressourcen sind ein optionales Provider-Feature, das sich noch ändern kann; daher nutzt StackToIT sie nicht.
Bleiben unsere CIDR-Bereiche erhalten?
Ja. Ein Subnetz wird zu einem STACKIT-Netzwerk mit demselben IPv4-Präfix.
Was passiert mit Security Groups?
STACKIT-Security-Groups sind zustandsbehaftet wie die von AWS, einschließlich Regeln, die auf eine andere Gruppe verweisen. StackToIT legt die Regeln daher einzeln neu an.
Werden Network ACLs übernommen?
STACKIT kennt keine zustandslosen Network ACLs. Das Modul im veröffentlichten Lauf definiert sieben, die in der Quelle alle abgeschaltet sind; deshalb hat der Lauf keine entworfen. Wären sie aktiv, würden sie als zustandsbehaftete Security Groups neu gebaut, und das ist ein Neuentwurf.
Warum bekommen die Datenbanken keine Security Group?
Die verwalteten Datendienste von STACKIT haben keine Security Group und beziehen ihre Clients aus einer eigenen Zugriffsliste. Im Lauf wurden fünf Quellgruppen aus diesem Grund nicht entworfen; was sie zuließen, erreicht die Zugriffslisten als Adressen.
Quellen
Ihr nächster Schritt: STACKIT.
Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.