AZURE VNET → STACKIT-NETZWERKE

Azure VNet, Subnetze und NSGs zu STACKIT

Ein virtuelles Azure-Netzwerk zieht als ein Netzwerk je Subnetz mit denselben IPv4-Präfixen zu STACKIT um, und Network Security Groups werden zu STACKIT Security Groups, die an den Servern hängen. StackToIT übernimmt jede Regel, die es lesen kann, als Regel und benennt jeden Azure-Standard, den STACKIT anders löst.

Ein VNet mit zwei Subnetzen, umgewandelt

Eine kleine Umgebung, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links die Eingabe, rechts die Ressourcenblöcke des STACKIT-Terraforms, das die Engine geschrieben hat; die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.

Beispieleingabemain.tf
resource "azurerm_virtual_network" "shop" {
  name                = "vnet-shop"
  location            = azurerm_resource_group.net.location
  resource_group_name = azurerm_resource_group.net.name
  address_space       = ["10.30.0.0/16"]
}

resource "azurerm_subnet" "web" {
  name                 = "snet-web"
  resource_group_name  = azurerm_resource_group.net.name
  virtual_network_name = azurerm_virtual_network.shop.name
  address_prefixes     = ["10.30.1.0/24"]
}

resource "azurerm_subnet" "app" {
  name                 = "snet-app"
  resource_group_name  = azurerm_resource_group.net.name
  virtual_network_name = azurerm_virtual_network.shop.name
  address_prefixes     = ["10.30.2.0/24"]
}
STACKIT-Terraform von StackToITterraform/network.tf
resource "stackit_network" "app" {
  project_id       = var.project_id
  name             = "snet-app"
  ipv4_prefix      = "10.30.2.0/24"
  ipv4_nameservers = var.default_ipv4_nameservers
}

resource "stackit_network" "web" {
  project_id       = var.project_id
  name             = "snet-web"
  ipv4_prefix      = "10.30.1.0/24"
  ipv4_nameservers = var.default_ipv4_nameservers
}
  • Ein Netzwerk je Subnetz

    STACKIT kennt keinen VNet-Container. snet-web und snet-app werden zu zwei STACKIT-Netzwerken im Projekt; Netzwerke, die einander privat erreichen müssen, kommen in eine Network Area.

  • Präfixe bleiben

    10.30.1.0/24 und 10.30.2.0/24 bleiben die Präfixe der neuen Netzwerke; der Adressplan bleibt also, wie er ist.

  • Nameserver gesetzt

    Die Netzwerke lesen ihre Nameserver aus einer Variablen. Ihr Standardwert ist der STACKIT DNS Resolver in eu01, und der Code vermerkt, dass private Namen einen eigenen DNS-Server brauchen.

Eine Network Security Group, umgewandelt

Aus demselben Lauf. Links die Eingabe, rechts die Ressourcenblöcke, die StackToIT geschrieben hat; die Prüfkommentare über jedem Block und die inaktive HTTPS-Regel, die als Kommentarblock in der Datei steht, sind hier ausgelassen.

Beispieleingabemain.tf
resource "azurerm_network_security_group" "web" {
  name                = "nsg-web"
  location            = azurerm_resource_group.net.location
  resource_group_name = azurerm_resource_group.net.name

  security_rule {
    name                       = "allow-https"
    priority                   = 100
    direction                  = "Inbound"
    access                     = "Allow"
    protocol                   = "Tcp"
    source_port_range          = "*"
    destination_port_range     = "443"
    source_address_prefix      = "Internet"
    destination_address_prefix = "*"
  }

  security_rule {
    name                       = "allow-ssh-from-admin"
    priority                   = 110
    direction                  = "Inbound"
    access                     = "Allow"
    protocol                   = "Tcp"
    source_port_range          = "*"
    destination_port_range     = "22"
    source_address_prefix      = "203.0.113.0/24"
    destination_address_prefix = "*"
  }
}

resource "azurerm_subnet_network_security_group_association" "web" {
  subnet_id                 = azurerm_subnet.web.id
  network_security_group_id = azurerm_network_security_group.web.id
}
STACKIT-Terraform von StackToITterraform/security.tf
resource "stackit_security_group" "web" {
  project_id = var.project_id
  name       = "nsg-web"
}

resource "stackit_security_group_rule" "web_allow_ssh_from_admin" {
  project_id        = var.project_id
  security_group_id = stackit_security_group.web.security_group_id
  direction         = "ingress"
  ether_type        = "IPv4"
  ip_range          = "203.0.113.0/24"
  port_range = {
    max = 22
    min = 22
  }
  protocol = {
    name = "tcp"
  }
}
  • Regeln mit Adressen werden übernommen

    Die SSH-Regel aus 203.0.113.0/24 wird zu einer aktiven STACKIT-Security-Group-Regel für TCP-Port 22. STACKIT-Regeln sind zustandsbehaftet; Antwortverkehr braucht also keine eigene Regel.

  • Service Tags werden eine Entscheidung

    Die HTTPS-Regel erlaubt den Service Tag Internet. STACKIT kennt keine Service-Tag-Auswahl; der Code schreibt die Regel daher als inaktiven Block in die Datei und fragt Ihren Security Architect nach den Adressbereichen.

  • Prioritäten entfallen ohne Verlust

    STACKIT-Regeln haben keine Priorität. Keine Deny-Regel der Umgebung hat Vorrang vor einer Allow-Regel; der Code verwirft daher keine Allow-Regel und schreibt sie als ungeordnete STACKIT-Regeln.

  • Pro Server zugewiesen

    Die NSG hängt an snet-web. STACKIT Security Groups hängen an der Netzwerkschnittstelle jedes Servers; die Gruppe kommt also an jeden migrierten Server dieses Subnetzes.

Azure-Standards, die der Code benennt

Jede NSG bringt Regeln mit, die niemand geschrieben hat. STACKIT beginnt mit anderen Standards, und der Lauf führt jeden Unterschied in der Datei auf.

  • Eingehend aus dem VNet und vom Load Balancer

    Eine neue STACKIT Security Group lässt keinen eingehenden Verkehr zu, bis eine Regel es erlaubt. Der Code fordert explizite Regeln, wo der Verkehr von AllowVnetInBound und AllowAzureLoadBalancerInBound weiter fließen muss.

  • Verkehr innerhalb der Gruppe

    Mitglieder einer selbst angelegten STACKIT-Gruppe erreichen sich nur mit einer expliziten Ingress-Regel. Der Code sagt, wo eine nötig ist.

  • Standard-Egress

    STACKIT legt in jeder neuen Gruppe eine IPv4-Egress-Regel an, die alles erlaubt. Der Egress der Quelle ist enger; Sie entscheiden also, ob Sie die Standardregel nach dem Apply löschen oder den weiteren Egress akzeptieren.

  • Änderungen greifen binnen einer Minute

    In neun Messungen erreichte eine Regeländerung die Datenebene 27 bis 50 Sekunden nach der Antwort der API. Der Code empfiehlt, nach einer Minute zu prüfen, nicht sofort.

So wird die Netzwerkumgebung zugeordnet

Azure-RessourceSTACKIT-ZielMigrationsklasse
Virtuelles NetzwerkSTACKIT-Projektnetzwerk oder Network AreaRekonfigurieren
SubnetzeSTACKIT-Netzwerke mit denselben IPv4-PräfixenRekonfigurieren
Network Security Group mit Subnetz-ZuordnungSTACKIT Security Group mit ihren RegelnRekonfigurieren

Klassen so, wie der Lauf sie entschieden hat. Der Lauf nennt für diese Umgebung acht Entscheidungen, vom Service Tag bis zum Standard-Egress, jede in der Entscheidungsdatei festgehalten.

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, die Netzwerkteams stellen

Werden Azure-NSG-Regeln zu STACKIT-Security-Group-Regeln?

Allow-Regeln mit Protokoll, Port und Adressbereich werden STACKIT-Security-Group-Regeln, die zustandsbehaftet sind. Prioritäten, Deny-Regeln und Service Tags haben kein Gegenstück, und StackToIT benennt jede davon für Ihre Architekten.

Was passiert mit der Subnetz-Zuordnung einer NSG?

STACKIT Security Groups hängen an Netzwerkschnittstellen, nicht an Netzwerken. Die Gruppe kommt an jeden migrierten Server des Subnetzes, dem die NSG zugeordnet war.

Ändern sich unsere IP-Bereiche?

Nein. Jedes Subnetz wird ein STACKIT-Netzwerk mit demselben IPv4-Präfix; Ihr Adressplan bleibt also, wie er ist.

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.