GOOGLE CLOUD → STACKIT · NETZWERK-ZUORDNUNG

GCP VPC, Firewall-Regeln und Cloud NAT auf STACKIT

Ein VPC-Netzwerk wird zu STACKIT-Netzwerken in einem Projekt, eine Firewall-Allow-Regel zu einer Security-Group-Regel, und Cloud NAT zum Ausgangsweg des STACKIT-Netzwerks. Deny-Regeln, Tag-Selektoren und eine feste Ausgangsadresse lassen sich nicht eins zu eins übertragen, und StackToIT benennt jeden dieser Punkte im Lauf.

Eine Firewall-Regel, als Security Group neu geschrieben

Ein kleines Netzwerk, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet: zwei Subnetze, vier Firewall-Regeln, ein Cloud Router mit Cloud NAT und eine reservierte Adresse. Links die HTTPS-Regel der Eingabe, rechts die Ressourcenblöcke des STACKIT-Terraform, die der Lauf geschrieben hat; die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.

Beispieleingabemain.tf
resource "google_compute_firewall" "web_https" {
  name      = "allow-https-web"
  network   = google_compute_network.core.name
  direction = "INGRESS"
  priority  = 1000

  allow {
    protocol = "tcp"
    ports    = ["443"]
  }

  source_ranges = ["0.0.0.0/0"]
  target_tags   = ["web"]
}
STACKIT-Terraform von StackToITterraform/security.tf
resource "stackit_security_group" "web_https" {
  project_id = var.project_id
  name       = "allow-https-web"
}

resource "stackit_security_group_rule" "web_https_allow_https_web" {
  project_id        = var.project_id
  security_group_id = stackit_security_group.web_https.security_group_id
  direction         = "ingress"
  ether_type        = "IPv4"
  ip_range          = "0.0.0.0/0"
  port_range = {
    max = 443
    min = 443
  }
  protocol = {
    name = "tcp"
  }
}
  • Richtung, Bereich und Port bleiben

    Die Ingress-Regel für TCP 443 von 0.0.0.0/0 wird zu einer Regel einer Security Group mit gleichem Bereich und Port.

  • Das Ziel-Tag nicht

    Die Quelle wendet die Regel auf Instanzen mit dem Tag web an. STACKIT kennt keinen Tag-Selektor, deshalb lässt der Lauf eine Entscheidung offen: welche Netzwerkschnittstellen diese Gruppe führen.

  • Die Priorität entfällt

    Security-Group-Regeln auf STACKIT haben keine Priorität; der Lauf hält fest, dass die Reihenfolge, auf die sich die Quelle verließ, nicht übernommen wird.

Cloud NAT und die Egress-Deny-Regel

Der Teil des Netzwerks, in dem sich die Modelle am stärksten unterscheiden. Links das Ende der Eingabedatei: die Regel, die ausgehendes SMTP sperrt, der Cloud Router, die reservierte Adresse und das NAT-Gateway. Rechts der eine Block, den der Lauf dafür geschrieben hat.

Beispieleingabemain.tf
resource "google_compute_firewall" "deny_egress_smtp" {
  name      = "deny-egress-smtp"
  network   = google_compute_network.core.name
  direction = "EGRESS"
  priority  = 900

  deny {
    protocol = "tcp"
    ports    = ["25"]
  }

  destination_ranges = ["0.0.0.0/0"]
}

resource "google_compute_router" "core" {
  name    = "core-router"
  region  = "europe-west3"
  network = google_compute_network.core.id
}

resource "google_compute_address" "nat" {
  name   = "core-nat-ip"
  region = "europe-west3"
}

resource "google_compute_router_nat" "core" {
  name                               = "core-nat"
  router                             = google_compute_router.core.name
  region                             = "europe-west3"
  nat_ip_allocate_option             = "MANUAL_ONLY"
  nat_ips                            = [google_compute_address.nat.self_link]
  source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
}
STACKIT-Terraform von StackToITterraform/network.tf
resource "stackit_public_ip" "nat" {
  project_id = var.project_id
}
  • Die reservierte Adresse wird zur Public IP

    Der Lauf stuft sie als DIRECT ein und vermerkt, dass sich die Adresse selbst ändert; DNS-Einträge und Freigabelisten von Partnern müssen angepasst werden.

  • Das NAT-Gateway hat keinen Block

    Ausgehender Zugriff für Server ohne Public IP gehört zum STACKIT-Netzwerk. Der Lauf hält fest, dass eine feste Ausgangsadresse, die Partner freigeben, so nicht erhalten bleibt.

  • Die Deny-Regel ist ein Redesign

    Eine Security Group erlaubt nur. Der Lauf stuft die Regel als REDESIGN ein und beschreibt, wie sich die Absicht mit expliziten Egress-Regeln nachbauen lässt.

So wird die Netzwerkumgebung abgebildet

Jede Zeile ist eine Einheit des Laufs auf der Beispielumgebung: zehn Ressourcen gelesen, neun Migrationseinheiten. Der Cloud Router hat keine eigene Einheit; an ihm hängt die NAT-Konfiguration.

Google-Cloud-RessourceSTACKIT-Ziel im LaufMigrationsklasse
VPC-NetzwerkSTACKIT-Projektnetzwerk, mit Network Area, wo Netzwerke privat miteinander kommunizieren müssenRekonfigurieren
SubnetzSTACKIT-Netzwerk mit demselben IPv4-BereichRekonfigurieren
Firewall-Regel, allowSTACKIT-Security-Group mit einer Regel je Allow-RegelRekonfigurieren
Firewall-Regel mit Netzwerk-Tag als QuelleSecurity Group; die Regel steht als Kommentar, bis Sie das Tag auf eine Gruppe oder Bereiche abbildenRekonfigurieren
Firewall-Regel, Egress-DenyKein Gegenstück: STACKIT-Security-Groups erlauben nurRedesign
Cloud-NAT-GatewayImpliziter Ausgangszugriff des STACKIT-NetzwerksRekonfigurieren
Reservierte externe AdresseSTACKIT Public IPDirekt

Klassen, wie der Lauf sie entschieden hat. Das Beispiel hat keine Lock-Datei für den Google-Provider; deshalb bleibt jede Einheit höchstens bei mittlerer Konfidenz, die Egress-Deny-Regel steht auf niedrig.

Wo die beiden Modelle im Alltag auseinanderlaufen

Die Google-Cloud-Spalte folgt der Dokumentation zu VPC-Firewall und Cloud NAT, die STACKIT-Spalte der Dokumentation zu Security Groups, Public IPs und Netzwerken sowie, wo sie es ausdrücklich sagt, der Ausgabe des Laufs.

ThemaGoogle CloudSTACKIT
Wo eine Regel liegtEine Regel gehört zu einem VPC-Netzwerk und gilt für alle Instanzen, für Instanzen mit bestimmten Netzwerk-Tags oder für Instanzen, die als bestimmte Service Accounts laufen.Eine Security Group gehört zu einem Projekt und wirkt auf die Netzwerkschnittstellen, die sie führen. Der Lauf vermerkt, dass die VPC-Zugehörigkeit der Quellregel nicht übernommen wird.
Reihenfolge und DenyPrioritäten von 0 bis 65535, Standard 1000; eine Regel erlaubt oder verweigert.Regeln erlauben nur. Sie werden gemeinsam ausgewertet, ohne Reihenfolge, und addieren sich, wenn mehrere Gruppen an einer Schnittstelle hängen.
StandardverhaltenIngress verweigert, Egress erlaubt, solange keine Regel etwas anderes sagt.Ingress verweigert, außer von Mitgliedern derselben Gruppe; Egress erlaubt. Laut Lauf verwaltet der Provider die beiden Standard-Egress-Regeln einer neuen Gruppe nicht; sie werden nach dem Anwenden gelöscht, wenn der Egress enger sein soll.
ZustandsbehaftetRückverkehr einer erlaubten Verbindung ist erlaubt.Auch Security Groups können zustandsbehaftet arbeiten: Rückverkehr einer erlaubten Verbindung passiert ohne eigene Regel.
Bereiche, die es nur bei Google gibtDer IAP-Bereich 35.235.240.0/20 lässt Identity-Aware Proxy Port 22 erreichen, ohne dass die VM eine öffentliche Adresse braucht.Der Lauf übernimmt den Bereich in die Regel von allow-iap-ssh und markiert ihn: Health-Check- und IAP-Bereiche von Google gibt es auf STACKIT nicht. Ersetzen Sie sie durch die Adressen Ihres Bastion-Hosts oder Load Balancers.
AusgangsadresseCloud NAT kann eine manuelle, feste Menge externer Adressen nutzen, die ein Ziel freigeben kann.Server ohne Public IP verlassen das Netzwerk über dessen Router-IP. Eine an einen Server gebundene Public IP wird dessen Ausgangsadresse. Der Lauf hält fest, dass die Router-Adresse nicht festgelegt werden kann.
NamensauflösungDer Resolver der VPC beantwortet auch private Zonen und interne Hostnamen.Der Lauf warnt: Private Namen brauchen einen eigenen DNS-Server.
Wirksamwerden von RegelnHier nicht behandelt.Laut einem Kommentar in der Ausgabe des Laufs erreichte eine Regeländerung die Datenebene 27 bis 50 Sekunden nach der API-Antwort; prüfen Sie nach einer Minute.

Die Reihenfolge, die funktioniert

Praxis, verknüpft mit den Dateien, die der Lauf schreibt.

  1. Regeln danach erfassen, was sie auswählen

    Lesen Sie jede Firewall-Regel nach Ziel (alle Instanzen, Tags oder Service Accounts), Richtung und Priorität. Der Lauf behält eine Security Group je Regel; die Befunde zeigen, welche per Tag auswählen.

  2. Netzwerkaufbau festlegen

    Subnetze werden zu Netzwerken. Müssen sie projektübergreifend privat miteinander kommunizieren, kommen sie in eine Network Area; die Bereiche werden dann aus der Area vergeben.

  3. Gruppen an Schnittstellen anbinden

    Die manuellen Schritte des Laufs in execution/manual/actions.md führen auf, welche Netzwerkschnittstellen jede Gruppe nennen. Lösen Sie jedes Tag in eine Gruppe oder in Bereiche auf.

  4. Deny-Regeln nachbauen

    Löschen Sie bei einem Egress-Deny nach dem Anwenden die Standard-Egress-Regeln und legen Sie für jedes Ziel, das die Quelle weiterhin erlaubt, eine Egress-Regel an.

  5. Ausgangsadresse klären

    Gibt ein Partner Ihre NAT-Adressen frei, geben Sie den Servern, die ihn aufrufen, eine Public IP und melden Sie die neue Adresse vor dem Cutover.

  6. Nach einer Minute prüfen

    Testen Sie die Erreichbarkeit mit den neuen Regeln und warten Sie die Verteilung ab, bevor Sie eine Regel bewerten.

Fragen von Netzwerkteams

Kann eine Google-Cloud-Firewall-Regel mit Deny nach STACKIT umziehen?

Nicht als Deny. STACKIT-Security-Groups kennen keine Deny-Regeln, deshalb stuft StackToIT eine Egress-Deny-Regel als REDESIGN ein. Die Absicht wird nachgebaut, indem Sie die Standard-Egress-Regeln der Gruppe löschen und nur die Ziele erlauben, die die Quelle weiter erreicht.

Bleibt unsere ausgehende IP-Adresse gleich?

Nein. Die reservierte Adresse wird zu einer STACKIT Public IP, also einer anderen Adresse. Der Lauf hält außerdem fest, dass die gemeinsame Ausgangsadresse des Netzwerks nicht fest ist und nicht gesetzt werden kann; eine Public IP je Server behält ihre Adresse.

Was passiert mit Regeln, die per Netzwerk-Tag auswählen?

STACKIT hat keinen Tag-Selektor. Der Lauf schreibt die Gruppe und lässt die Regel als auskommentierten Block stehen, bis ein Verantwortlicher das Tag auf eine Security Group oder Bereiche abbildet; ein Tag wird nie zu Adressen aufgelöst.

Ändert StackToIT etwas in unserem Google-Cloud-Projekt?

Nein. Es liest das Terraform und schreibt Dateien; in keiner Cloud wird etwas angewendet. Die Security-Group-Regeln wendet Ihr Team nach der Prüfung an.

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.