AWS VPC → STACKIT-NETWERK

AWS VPC- en netwerkmigratie naar STACKIT

STACKIT kent geen VPC-object: subnets worden STACKIT-netwerken in een project en netwerken die privé met elkaar communiceren, worden samengebracht in een Network Area. StackToIT neemt de prefixes en DNS-servers over en zet wat STACKIT anders doet, zoals NAT-egressadressen, om in heldere beslissingen.

Subnets behouden hun prefixes

Een kleine omgeving, geschreven voor deze pagina en op 4 november 2026 beoordeeld door StackToIT. Links de invoer. Rechts de resourceblokken van de STACKIT-Terraform die de engine schreef; de reviewopmerkingen boven elk blok in het bestand zijn hier weggelaten.

Voorbeeldinvoermain.tf
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"
}
STACKIT-Terraform van StackToITterraform/network.tf
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
}

De VPC-communitymodule, omgezet

Uit de gepubliceerde run van de AWS Retail Store. De subnets worden berekend uit de availability zones, dus hun aantal en prefixes worden variabelen die u eenmalig instelt. De reviewopmerkingen boven elk blok in het bestand zijn hier weggelaten.

AWS-bronterraform/lib/vpc/vpc.tf
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
}
STACKIT-Terraform van StackToITterraform/network.tf
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
}

Zo wordt het netwerk gekoppeld

AWS-resourceSTACKIT-doelMigratieklasse
VPCNetwerken van het STACKIT-project of Network AreaHerconfiguratie
SubnetsSTACKIT-netwerken met dezelfde IPv4-prefixesHerconfiguratie
Internet gatewayIngebouwd in een gerouteerd STACKIT-netwerkHerconfiguratie
NAT gatewayStandaardrouting van STACKIT met uitgaande NATHerconfiguratie
Route tablesStandaardrouting van STACKIT of routingtabellen van een Network AreaHerconfiguratie
Security groupsSTACKIT security groups en regelsHerconfiguratie
Network ACL'sSTACKIT security groups (stateful)Redesign

Klassen zoals de run van de AWS Retail Store ze heeft bepaald.

Beslissingen die de run voor uw netwerkteam opent

  • Egressadres

    Een NAT gateway geeft een vast egressadres. Op STACKIT is het adres dat van het netwerk zelf, dus StackToIT vraagt of servers op allowlists openbare STACKIT-IP's krijgen.

  • Privé-DNS

    Namen die alleen de AWS VPC-resolver beantwoordt, vereisen een eigen DNS-server. StackToIT wijst aan waar de bron daarop steunt.

  • Project of Network Area

    Of het doelproject in een Network Area staat, verandert de routing en de plaatsing van clusters. De run legt dat daarom vóór de pilot vast als beslissing.

Wat het netwerk van de Retail Store werd

De VPC-communitymodule van de gepubliceerde run, resourcegroep voor resourcegroep.

AWS-resourcesIn de runOp STACKIT
VPC1 eenheidNetwork Area en netwerken
Subnets7 in de module; private en public staan aan, vijf andere staan uitTelkens één STACKIT-netwerk voor de twee die aanstaan; de andere zouden netwerken worden als ze aanstonden
NAT gateway en het adres ervan1 gateway, ingesteld op één NATUitgaande routing van het STACKIT-netwerk; het adres hoort bij het netwerk
Internet gateway1De standaardgateway van het STACKIT-netwerk
Route tables6; private en public staan aanStandaardrouting van het netwerk
Network ACL's7, in de bron allemaal uitgeschakeldZouden security groups worden, omdat STACKIT geen stateless ACL's kent
Security groups15: 7 uitgewerkt, 5 voor managed dataservices, 3 uitgeschakeldSTACKIT security groups en regels voor de 7; de 5 bereiken de dataservices als adressen in toegangslijsten

Aantallen uit de gepubliceerde run van de AWS Retail Store; uitgeschakeld betekent dat de bronconfiguratie de resource niet aanmaakt.

Meer netwerkbeslissingen die de run opent

Ze moeten allemaal vóór de pilot zijn genomen en hebben een eigenaar.

  • Workload placement (Network Architect)

    Een Kubernetes Engine-cluster wordt in één netwerk uitgerold, en een database, cache of broker krijgt een toegangslijst en geen netwerk-id. De opties zijn één netwerk voor cluster en services, de bronnetwerken met plaatsing per tier, een redesign, of consumers buiten het netwerk.

  • Pod segmentation (Security Architect)

    Van de vijf security groups van de services valt niet te bewijzen dat ze op Kubernetes één en dezelfde betekenis hebben. De opties zijn een NetworkPolicy op basis van de groepsregels, een security group op de nodes, of geen segmentatie.

  • Load balancer path (Network Architect)

    Een target pool bereikt targets via een privé-IP en het cluster exporteert geen nodeadres naar Terraform. Een workload is bereikbaar via een node port of via een Ingress-controller.

  • Which network instance (Platform Architect)

    De load balancer verwijst naar een herhaald openbaar netwerk. Niets in de bron zegt welke instance wordt bedoeld, dus er wordt geen instance aangenomen.

Bewezen op een echte AWS-omgeving

De AWS Retail Store Sample App, een openbaar Terraform-project van AWS, door StackToIT beoordeeld en volledig gepubliceerd, precies zoals de run het heeft opgeleverd.

Casestudy bekijken (Engels)
282
Terraform-resourcedeclaraties geanalyseerd
44
migratie-eenheden geïdentificeerd
38
doeleenheden gegenereerd, van de 52 onderzochte eenheden
331
planstappen uitgeschreven

Vragen van netwerkteams

Heeft STACKIT een VPC?

Niet als GA-containerobject. Een project met zijn netwerken is de grens en een Network Area verbindt netwerken privé met elkaar. De nieuwere stackit_vpc-resources zijn een opt-in-functie van de provider die nog kan wijzigen, dus StackToIT gebruikt ze niet.

Blijven onze CIDR-bereiken behouden?

Ja. Een subnet wordt een STACKIT-netwerk met dezelfde IPv4-prefix.

Wat gebeurt er met security groups?

STACKIT security groups zijn stateful zoals die van AWS, ook voor regels die naar een andere groep verwijzen. StackToIT maakt de regels daarom één voor één opnieuw aan.

Worden Network ACL's overgenomen?

STACKIT kent geen stateless network ACL's. De module in de gepubliceerde run definieert er zeven, in de bron allemaal uitgeschakeld, dus de run werkte er geen uit. Als ze aanstonden, zouden ze worden herbouwd als stateful security groups, en dat is een redesign.

Waarom krijgen de databases geen security group?

De managed dataservices van STACKIT kennen geen security group en bepalen hun clients aan de hand van een eigen toegangslijst. In de run zijn vijf security groups uit de bron om die reden niet uitgewerkt; wat ze toelieten, bereikt de toegangslijsten als adressen.

Bronnen

Uw volgende stap: STACKIT.

Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.

Laat uw gegevens achter, onze specialisten nemen contact met u op.

Liever zelf een e-mail sturen? connect@stacktoit.com

Wij gebruiken uw gegevens alleen om dit verzoek te beantwoorden en een mogelijke pilot te bespreken. Privacyverklaring