VMWARE → STACKIT · RUNBOOK

Netzwerk-, DNS- und Firewall-Cutover von VMware zu STACKIT

Der Entwurf legt die Netzwerke, die Schnittstellen mit ihren alten Adressen und die Server in Abhängigkeitsreihenfolge an. DNS-Einträge, Firewall-Regeln und öffentliche Adressen legt er nicht an, und der Cutover-Abschnitt des Plans sagt das auch. Dieses Runbook ordnet den ganzen Umzug um diese Lücken herum, für eine Demo-Umgebung mit zwölf Einheiten, mit einer verantwortlichen Rolle und einer Prüfung für jeden Schritt und einem Rollback für jeden Punkt ohne Rückweg.

Was der Lauf für die Netzwerkseite schreibt

Eine für diese Seite geschriebene Demo-Umgebung, am 4. November 2026 von StackToIT bewertet: acht VMs, vier Portgruppen, eine Load-Balancer-VM in zwei davon. Links das ganze Blatt vNetwork. Rechts das Netzwerk, das der Lauf für die Portgruppe PG-DMZ entwirft; der DNS-Satz über dem Block wird unten zitiert.

BeispieleingabeRVTools_tabvNetwork.csv
VM,NIC label,Adapter,Network,Switch,Connected,IPv4 Address,VM UUID
lb01,Network adapter 1,Vmxnet3,PG-DMZ,dvs-prod,True,10.60.0.10,4206-f018-0001
lb01,Network adapter 2,Vmxnet3,PG-App,dvs-prod,True,10.60.1.10,4206-f018-0001
web01,Network adapter 1,Vmxnet3,PG-DMZ,dvs-prod,True,10.60.0.11,4206-f018-0002
web02,Network adapter 1,Vmxnet3,PG-DMZ,dvs-prod,True,10.60.0.12,4206-f018-0003
app01,Network adapter 1,Vmxnet3,PG-App,dvs-prod,True,10.60.1.21,4206-f018-0004
app02,Network adapter 1,Vmxnet3,PG-App,dvs-prod,True,10.60.1.22,4206-f018-0005
db01,Network adapter 1,Vmxnet3,PG-DB,dvs-prod,True,10.60.2.31,4206-f018-0006
dns01,Network adapter 1,Vmxnet3,PG-Infra,dvs-prod,True,10.60.3.5,4206-f018-0007
batch01,Network adapter 1,Vmxnet3,PG-App,dvs-prod,True,10.60.1.61,4206-f018-0008
STACKIT-Terraform von StackToITterraform/network.tf
resource "stackit_network" "network_PG_DMZ" {
  project_id       = var.project_id
  name             = "pg-dmz"
  ipv4_prefix      = var.network_PG_DMZ_ipv4_prefix
  ipv4_nameservers = var.network_PG_DMZ_ipv4_nameservers
}
  • Präfix und Nameserver sind Ihre Sache

    RVTools exportiert keine Subnetzmasken, wie der Bericht des Laufs festhält, und zeigt nicht, welche DNS-Server die VMs der Portgruppe nutzen, wie der Kommentar über dem Block sagt. Beides sind Variablen ohne Standardwert: das Präfix und die Nameserver des neuen Netzwerks.

  • Namen werden umgeschrieben

    Aus der Portgruppe PG-DMZ wird das Netzwerk pg-dmz. Alles, was auf den alten Namen verweist, etwa Skripte oder Dokumentation, braucht den neuen; der Lauf führt den Namen als zu bestätigende Einstellung.

Der Load Balancer mit zwei Netzwerken und der Cutover-Hinweis

Links die Schnittstellen und der Server, die der Lauf für lb01 entwirft, ohne Kommentarzeilen. Rechts die Reihenfolge der Einheiten und der Cutover-Abschnitt des Plans aus migration/technical-sequencing.md (Zeilen 9 bis 33, Welle 2 mit acht Einheiten).

STACKIT-Terraform von StackToITterraform/compute.tf
resource "stackit_network_interface" "vm_lb01_nic1" {
  project_id = var.project_id
  network_id = stackit_network.network_PG_DMZ.network_id
  ipv4       = "10.60.0.10"
}

resource "stackit_network_interface" "vm_lb01_nic2" {
  project_id = var.project_id
  network_id = stackit_network.network_PG_App.network_id
  ipv4       = "10.60.1.10"
}

resource "stackit_server" "vm_lb01" {
  project_id        = var.project_id
  name              = "lb01"
  machine_type      = var.vm_lb01_machine_type
  availability_zone = var.availability_zone
  boot_volume = {
    source_type = "image"
    source_id   = var.vm_lb01_image_id
    size        = 60
  }
  network_interfaces = [stackit_network_interface.vm_lb01_nic1.network_interface_id, stackit_network_interface.vm_lb01_nic2.network_interface_id]
}
Reihenfolge der Einheitenmigration/technical-sequencing.md
## Wave 1 — 4 unit(s)

| Unit | Class | Target |
|---|---|---|
| `network.PG-App` | RECONFIGURE / MEDIUM | STACKIT network |
| `network.PG-DB` | RECONFIGURE / MEDIUM | STACKIT network |
| `network.PG-DMZ` | RECONFIGURE / MEDIUM | STACKIT network |
| `network.PG-Infra` | RECONFIGURE / MEDIUM | STACKIT network |

## Wave 2 — 8 unit(s)

| Unit | Class | Target |
|---|---|---|
| `vm.app01` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `vm.app02` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `vm.batch01` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `vm.db01` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `vm.dns01` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `vm.lb01` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `vm.web01` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `vm.web02` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |

## Cutover (decision support — performed by the customer)

No cutover facts: the scan and the draft established no DNS record set whose value the draft re-binds to a generated address, no public address re-binding, no DNS record unit, no certificate unit and no open cutover decision. That is not a statement that nothing has to be cut over: a name, an address or a certificate outside the scanned source is not seen, and a unit that exists only if OpenTofu decides so at plan time is not read here. StackToIT performs no cutover and gives no time estimate.
  • Adressen bleiben erhalten

    Jede Schnittstelle trägt die Adresse des Quelladapters als feste IPv4: 10.60.0.10 auf der DMZ-Seite und 10.60.1.10 auf der Anwendungsseite. Geschrieben wird nur die erste Adresse eines Adapters; weitere Adressen sind eine Entscheidung.

  • Erst die Netzwerke, dann die Server

    Welle 1 enthält die vier Netzwerke, Welle 2 die acht Server, weil ein Server auf sein Netzwerk wartet. Einheiten derselben Welle können laut Plan parallel umziehen; die Reihenfolge innerhalb von Welle 2 legen Sie fest.

  • Der Cutover-Abschnitt ist absichtlich leer

    Der Plan hält fest, dass er kein DNS-Record-Set, keine Neubindung öffentlicher Adressen und kein Zertifikat gefunden hat und dass das nicht heißt, es müsse nichts umgestellt werden. Er führt keinen Cutover aus und nennt keine Zeitschätzung.

Das Runbook in Reihenfolge

Network Architect und Platform Architect sind die Rollen, die der Lauf seinen offenen Einstellungen zuweist; die übrigen Verantwortlichen sind Vorschläge. Schritte mit dem Vermerk „Praxis“ sind allgemeine Methode, keine Ausgabe des Laufs.

SchrittVerantwortlichPrüfung
1. Präfix und DNS-Server der vier Netzwerke festlegen und die Variablen füllen.Network ArchitectDie Vorab-Prüfungen des Plans verlangen, dass jede Präfix- und Nameserver-Variable einen Wert hat.
2. Je VM entscheiden, ob sie ihre Adresse behält und was mit ihrem DNS-Namen geschieht. Der Lauf führt beides als offene Einstellung.Network ArchitectEin Entscheidungsvermerk je VM.
3. Die TTL der Einträge, die auf die Server zeigen, einige Tage vorher senken (Praxis).DNS-VerantwortlicherDie Einträge zeigen die gesenkte TTL und die alte TTL ist abgelaufen.
4. Die Firewall-Regeln als Security Groups schreiben. Der Entwurf hat keine (Praxis für die Regeln).Security-VerantwortlicherJede Schnittstelle hat ihre Gruppe; ein Testhost erreicht nur das Erlaubte.
5. Die vier Netzwerke anwenden (Welle 1).Platform ArchitectVier Netzwerke existieren mit den gewählten Präfixen und den Namen pg-dmz, pg-app, pg-db und pg-infra.
6. Schnittstellen und Server anwenden (Welle 2) und isoliert halten. Den Zustand von batch01 festlegen, das an der Quelle ausgeschaltet ist.Platform ArchitectJeder Server zeigt die Quelladresse; lb01 zeigt zwei Schnittstellen; batch01 läuft nur, wenn gewollt.
7. Daten kopieren, erst vollständig, später die Änderungen (Praxis).AnwendungsverantwortlicherZeilenzahlen oder Prüfsummen stimmen.
8. Schreibzugriffe stoppen, letzte Kopie ziehen und die Quell-VMs ausschalten (Praxis).AnwendungsverantwortlicherKeine Sitzung mehr auf der Quelle.
9. Die Ziel-VMs von der Datenebene nach außen starten (Praxis).Platform ArchitectHealth Checks bestehen auf jeder Ebene.
10. Eine öffentliche IP an die Schnittstelle von lb01 hängen und die nötigen Ports in deren Security Group öffnen.Network ArchitectEine Anfrage von außen erreicht lb01.
11. DNS umschalten: Einträge auf die neuen Adressen ändern oder die Resolver auf die neuen Nameserver.DNS-VerantwortlicherNamen lösen innen und außen auf die neuen Adressen auf.
12. Beobachten, die Quelle ausgeschaltet, aber nicht gelöscht (Praxis).BetriebDer vereinbarte Beobachtungszeitraum ist ohne Vorfall vergangen.
13. Die Quell-VMs stilllegen (Praxis).Plattform-VerantwortlicherFreigabe dokumentiert.

Der Plan des Laufs umfasst für diese Umgebung 53 Schritte, 21 automatisiert und 32 manuell. Die Cutover-Welle dieses Plans enthält keinen; deshalb liegen die Schritte 3 und 7 bis 13 bei Ihnen.

Was STACKIT-Networking Ihnen hier bietet

Aus den STACKIT-Seiten zu Core Networking und Netzwerkschnittstellen.

  • Security Groups

    Zustandsbehaftet, je Netzwerkschnittstelle angewendet, eingehend standardmäßig verboten, ausgehend standardmäßig erlaubt. Eine Gruppe kann für mehrere Schnittstellen gelten.

  • Schnittstellen und Adressen

    Ein Server kann bis zu fünf Schnittstellen haben; eine feste IPv4 wird beim Anlegen der Schnittstelle gesetzt. NIC Security gegen IP- und MAC-Spoofing ist beim Anlegen einer Schnittstelle standardmäßig an; laut der How-to-Seite der STACKIT CLI ist deren Flag --nic-security aber aus, solange Sie es nicht setzen. Setzen Sie es in Skripten daher ausdrücklich.

  • Öffentliche Adressen

    Eine Floating IP ist eine öffentliche IPv4, die per NAT auf die private Adresse einer VM abgebildet wird; der Gast sieht sie nicht. Die Router-Adresse bietet gemeinsamen ausgehenden Zugriff, sobald im Projekt eine Floating IP vergeben ist.

  • DNS-Einträge

    Einträge legen Sie im Portal an, und nur in primären Zonen. Ein gelöschter Eintrag löst nach Ablauf seiner TTL nicht mehr auf.

Die DNS-Einstellungen, die der Lauf zurückgibt

Aus der Aktionsliste desselben Laufs: zwei Einstellungen einer VM, beide für den Network Architect.

Offene Einstellungenexecution/manual/actions.md
  - `ip-address` (Network Architect)
    - Why: The mapping rule for this kind of unit recognises the unit but only passes this setting to a person; it does not decide its value. The rehost case asks whether the VM keeps its address; the draft sets only the first address of an adapter as ipv4 (stackit_network_interface.ipv4).
    - Done when: A person decides whether the VM must keep its addresses and how any further address of an adapter is provided, since the draft sets only the first address of each adapter as the ipv4 of the network interface.
  - `dns-name` (Network Architect)
    - Why: The mapping rule for this kind of unit recognises the unit but only passes this setting to a person; it does not decide its value. DNS records are not migrated; the draft creates no stackit_dns_record_set.
    - Done when: A person confirms the value against the target, or the knowledge base gains a rule that decides this setting.

Rollback

Der Rollback hängt davon ab, wie weit Sie gekommen sind. Für seine manuellen Schritte hält der Plan des Laufs fest, dass er nicht weiß, wie sie rückgängig gemacht werden; die folgenden Schritte sind daher Praxis.

  • Vor Schritt 8

    Die Quelle ist unberührt. Stoppen Sie die Zielserver und beheben Sie die Ursache. Bei DNS ist nichts rückgängig zu machen.

  • Nach Schritt 8, vor Schritt 11

    Quell-VMs wieder einschalten, Ziel-Schnittstellen deaktivieren oder Server stoppen und prüfen, dass die Quelle antwortet. Zwischenzeitlich auf dem Ziel geschriebene Daten gehen verloren, wenn Sie sie nicht zurückkopieren.

  • Nach Schritt 11

    Einträge auf die alten Adressen zurücksetzen, die öffentliche IP von lb01 lösen und die Quelle einschalten. Die gesenkte TTL aus Schritt 3 macht das schnell. Klären Sie vorher, was mit den seit der Umstellung auf STACKIT geschriebenen Daten geschieht.

  • Quellplatten behalten

    Löschen Sie Quell-VMs und -Platten erst nach Schritt 13. Sie sind der Rollback.

Fragen zum Netzwerk-Cutover

Legt der Lauf DNS-Einträge oder Firewall-Regeln an?

Nein. Seine Hinweise sagen, dass er kein DNS-Record-Set anlegt, und das Terraform, das er für diese Umgebung geschrieben hat, enthält keine Security Group. Beides bauen Sie selbst.

Behalten die Server ihre IP-Adressen?

Der Entwurf setzt die Quelladresse als feste IPv4 auf jeder Schnittstelle, also ja für die erste Adresse jedes Adapters. Ob sie sie behalten müssen, ist eine Entscheidung, die der Lauf aufführt.

Was passiert mit einer ausgeschalteten VM wie batch01?

Der Entwurf setzt keinen gewünschten Status; der Server würde bei STACKIT also starten. Den Zielzustand jedes Servers führt der Lauf als Entscheidung.

Wird der Cutover-Zeitbedarf geschätzt?

Nein. Der Plan nennt keine Zeitschätzung; die Ausfallzeit hängt von Ihrer Datenkopie und Ihren DNS-TTLs ab.

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.