ARCHITECTUUR · LANDING ZONE
Zo bouwt u een STACKIT landing zone
Een STACKIT landing zone is een organisatie met mappen en projecten, een besluit of die projecten aan een Network Area worden gekoppeld, een adresplan, een antwoord voor DNS en de identiteiten waarmee Terraform draait. Bronclouds geven u een VPC en een accountstructuur; op STACKIT kiest u eerst de projectindeling, omdat het project, en niet een VPC-object, de grens is waarbinnen uw netwerken bestaan. Deze pagina toont de indelingen, wat een echte StackToIT-run van de landing zone vergt en in welke volgorde u die bouwt.
Vier manieren om de doelomgeving in te delen
De opties verschillen in waar de grens van het privénetwerk ligt en hoeveel van de routering van de bron u kunt nabootsen. Feiten met de markering docs komen uit de hieronder genoemde STACKIT-documentatie; feiten met de markering run komen uit het assessment verderop.
| Indeling | Wat het u oplevert | Wat het u kost |
|---|---|---|
| Eén project, geen Network Area | De netwerken van een project delen de router van het project en bereiken elkaar; security groups gelden voor het hele project (run). Het bewijs van de run dat de standaardrouting van STACKIT een gerouteerd netwerk dezelfde bereikbaarheid geeft als de NAT-route van de bron, komt uit een test in een project buiten een Network Area (eu01, 10 oktober 2026); een project binnen een area is niet getest. | Geen privéverbinding met andere projecten. Het uitgaande adres is dat van het netwerk zelf, gedeeld door elk gerouteerd netwerk van het project, niet vast en niet instelbaar (run). Eén set quota voor alles. |
| Projecten in een Network Area | Een area verbindt projecten binnen een organisatie op netwerkniveau en maakt de verbinding met on-premises omgevingen eenvoudiger (docs). Een netwerk neemt zijn adresbereik uit de bereiken van de area, en de routeringstabellen van alle projectrouters worden vanzelf bijgewerkt (docs). | De run heeft de standaardroutetabel van een area niet gelezen, dus een project dat binnen een area wordt aangemaakt valt niet onder de vervanging van een NAT-routetabel: dat geval is uw beslissing. Aangepaste routeringstabellen zijn een opt-in-functie die nog kan veranderen: maximaal 20 tabellen per area en 50 routes per tabel, ingeschakeld met een label bij het aanmaken van de area; een bestaande area wordt via het Help Center overgezet (docs). |
| Meerdere projecten per omgeving, gegroepeerd in mappen | Mappen groeperen projecten en bevatten zelf geen resources; één niveau mappen wordt ondersteund (docs). Quota worden per project ingesteld en gelden voor IaaS- en Cloud Foundry-resources, niet voor elke resource in een project (docs), dus een workload die eigen ruimte nodig heeft, kan een eigen project krijgen. | Meer objecten om te beheren en meer roltoewijzingen. Projecten bereiken elkaar niet privé, tenzij een area ze verbindt (zie de vorige rij). |
| Area voor gedeelde services, publieke projecten voor geïsoleerde workloads | De pagina over projecten noemt twee projecttypen, Public en Network Area (de laatste waar die is ingeschakeld). Beide combineren in één organisatie, met gedeelde services bereikbaar via de area en geïsoleerde workloads erbuiten, is een ontwerp dat deze pagina daaruit afleidt; de documentatie beschrijft het niet als patroon. | Twee netwerkmodellen om te beheren, twee sets routeringsregels om uit te leggen, en het egressbesluit uit de eerste rij geldt nog steeds voor elk project buiten de area. |
De run betreft één kleine AWS-omgeving. De run noemt wat de eigen resources nodig hebben; een indeling voor uw organisatie kiest hij niet.
Een VPC met drie subnets, omgezet
Een kleine omgeving die voor deze pagina is geschreven en op 4 november 2026 door StackToIT is beoordeeld. Links: de VPC en twee van de drie subnets. Rechts: de twee STACKIT-netwerken die het concept schrijft (reviewopmerkingen boven elk blok zijn weggelaten). De VPC zelf heeft geen blok, geen van beide netwerken neemt de zone over en de vlag voor het publieke adres van public_a wordt niet overgenomen.
resource "aws_vpc" "core" {
cidr_block = "10.40.0.0/16"
enable_dns_hostnames = true
tags = { Name = "core" }
}
resource "aws_subnet" "public_a" {
vpc_id = aws_vpc.core.id
cidr_block = "10.40.0.0/24"
availability_zone = "eu-central-1a"
map_public_ip_on_launch = true
tags = { Name = "public-a" }
}
resource "aws_subnet" "app_a" {
vpc_id = aws_vpc.core.id
cidr_block = "10.40.10.0/24"
availability_zone = "eu-central-1a"
tags = { Name = "app-a" }
}resource "stackit_network" "app_a" {
project_id = var.project_id
name = "app-a"
ipv4_prefix = "10.40.10.0/24"
ipv4_nameservers = var.default_ipv4_nameservers
labels = {
Name = "app-a"
}
}
resource "stackit_network" "public_a" {
project_id = var.project_id
name = "public-a"
ipv4_prefix = "10.40.0.0/24"
ipv4_nameservers = var.default_ipv4_nameservers
labels = {
Name = "public-a"
}
}Het project is de grens
Dat staat in de eigen opmerking van het concept: het project is de grens van de VPC, en de subnets worden netwerken in dat ene project, gerouteerd door de router van het project. Een routeringstabel is een resource van een area, niet van een project.
Zelfde prefix, geen zone
Elk subnet wordt een stackit_network met dezelfde IPv4-prefix. De availability zone wordt niet overgenomen, omdat het netwerk de regio bedient; servers en volumes kiezen hun zone.
Publiek is geen eigenschap van een subnet
map_public_ip_on_launch heeft geen tegenhanger bij een netwerk. Een server krijgt een publiek IP als eigen resource, dus de vlag staat in de lijst met niet overgenomen eigenschappen en wordt per server bepaald.
Gesloten egress is niet beschikbaar
De run legt vast dat STACKIT geen manier documenteert om uitgaande toegang voor een netwerk uit te schakelen, dus een subnet dat in de bron geen internetpad had, wordt gemarkeerd als verruimd en niet stilzwijgend gekopieerd.
Wat de run van de landing zone vergt
Uit dezelfde run. Links: de adresbereiken en de routeringsvoorwaarde zoals migration/landing-zone-requirements.md ze vermeldt. Rechts: hoe assessment.json de private DNS-zone, de instancerol en de routetabel vastlegt (id, klasse, zekerheidsniveau en doel; de redenen staan samengevat in de tabel hieronder).
| Resource | Attribute | Prefix |
|---|---|---|
| `stackit_network.app_a` | `ipv4_prefix` | Stated in `terraform/network.tf`: `10.40.10.0/24` |
| `stackit_network.data_a` | `ipv4_prefix` | Stated in `terraform/network.tf`: `10.40.20.0/24` |
| `stackit_network.public_a` | `ipv4_prefix` | Stated in `terraform/network.tf`: `10.40.0.0/24` |
Ranges the security group rules name (the addresses a rule lets in or out, not networks of the target):
- `10.40.0.0/24` (1 rule)
## 5. Routing
- Create the target project outside a Network Area: aws_route_table.app is replaced by STACKIT's default routing, which was observed to give a routed network the same reachability only in a project outside a Network Area (needed before the pilot){
"id": "aws_route53_zone.internal",
"class": "REDESIGN",
"confidence": "MEDIUM",
"target": {
"service": "self-managed internal DNS (e.g. CoreDNS or BIND on servers or SKE)"
}
}
{
"id": "aws_iam_role.deploy",
"class": "MANUAL_REVIEW",
"confidence": "LOW",
"target": {
"service": "STACKIT service account attached to servers"
}
}
{
"id": "aws_route_table.app",
"class": "RECONFIGURE",
"confidence": "LOW",
"target": {
"service": "implicit (STACKIT network default routing)"
}
}Bereiken worden vermeld, niet verzonnen
Elke prefix komt uit de bronsubnets. Open prefixes zijn gemarkeerd, met de variabele of beslissing die ze vastlegt. Controleer de lijst vóór de eerste apply tegen uw on-premises bereiken; die controle op overlap is gangbare praktijk, geen handeling van de run.
Routering is een stap vooraf
De run maakt van de NAT-routetabel een stap: maak het doelproject buiten een Network Area aan, vóór de pilot. Die stap hoort bij de Network Architect en staat in de voorbereidingsfase van het plan, naast het egressbesluit en vóór elk netwerkblok.
Identiteit en DNS blijven open
De run schrijft geen service account voor de instancerol en geen DNS-zone voor de private zone. Beide worden handmatige stappen van het uitvoeringsplan, en de twee instellingen van de private zone staan in de lijst met niet overgenomen eigenschappen: voor geen van beide bestaat een STACKIT-resource die er één op één mee overeenkomt.
Wat de engine classificeert, en waarom
| Bronconstructie | STACKIT-doel | Klasse en reden uit de run |
|---|---|---|
| VPC | Projectnetwerk, of een Network Area wanneer netwerken privé met elkaar moeten praten | RECONFIGURE: STACKIT kent in zijn algemeen beschikbare model geen VPC-containerobject; elk subnet wordt een netwerk in een project. |
| Subnets (public, app, data) | Elk één STACKIT-netwerk, dezelfde IPv4-prefix | RECONFIGURE: publiek of privé is geen eigenschap van een subnet. |
| Internet gateway, NAT gateway, Elastic IP | Impliciet: de standaardgateway van het netwerk en uitgaande bron-NAT | RECONFIGURE: er bestaan geen afzonderlijke objecten; het vaste egressadres gaat verloren. |
| Routetabel met een NAT-standaardroute | De standaardrouting van STACKIT | RECONFIGURE, zekerheidsniveau LOW: in een project buiten een Network Area is gelijke bereikbaarheid waargenomen; neem vóór de pilot een besluit over het egressadres. |
| Security group | STACKIT security group met regels | RECONFIGURE: stateful regelsets; AWS-interne bereiken moeten worden vervangen. |
| Private hosted zone | DNS-server die u zelf draait, bijvoorbeeld op servers of SKE | REDESIGN: STACKIT DNS is uitsluitend publieke autoritatieve DNS en kan niet aan een netwerk worden gekoppeld. |
| EC2-instancerol | Service account dat aan de server is gekoppeld | MANUAL REVIEW, zekerheidsniveau LOW: geen instance profile in de omgeving geeft de rol aan een server, dus de run kan niet zeggen welke servers die gebruiken en schrijft geen service account. |
Klassen en redenen zoals de run ze bepaalde. De inleiding van de DNS Resolver zegt dat de volledige functionaliteit mogelijk nog niet is geïmplementeerd en noemt geen private zones, dus plan interne namen rond een DNS-server die u zelf beheert.
De volgorde waarin u bouwt
1. Organisatie en rollen
De organisatie is de technische scope op het hoogste niveau. Geef de mensen die migreren de Resource Manager-rollen die ze nodig hebben: Project Creator en Folder Creator bestaan op mapniveau, en de legacy-organisatierollen worden niet doorgegeven aan mappen of projecten (docs). De run noemt geen organisatie en veronderstelt er geen.
2. Mappen en projecten
Maak eerst het mapniveau aan (slechts één niveau), daarna de projecten: bijvoorbeeld één per omgeving en één voor een workload die een eigen quota nodig heeft. Het concept neemt het project uit de variabele project_id, die geen standaardwaarde heeft.
3. Besluit: area of geen area
Gebruik de tabel hierboven. Als een project een ander privé moet bereiken, of on-premises systemen het moeten bereiken, plan dan een area. Als de routeringsvoorwaarde van de run op u van toepassing is, houd dat project dan buiten de area of bepaal de routeringstabel zelf.
4. Adresplan
Leg de prefixes vast op basis van sectie 4 van het eisenbestand, verwijder overlap en houd de bereiken die uw security group-regels noemen in de pas met die prefixes.
5. DNS en egress
Zet de DNS-server voor interne namen op en beantwoord het egressbesluit: accepteer het adres van het netwerk, of geef elke server die op een toegestane lijst staat een eigen publiek IP.
6. Identiteiten
Maak het service account aan waaronder Terraform draait. Het eisenbestand zegt alleen dat de identiteit de rol nodig heeft die IaaS-resources in het project mag aanmaken; het noemt geen rol, dus zoek die op. Pipelines komen aan bod in de CI/CD-gids.
7. Services en quota
Schakel de services in die sectie 8 voor het project en de regio noemt, en controleer de quota voor de aantallen in sectie 9. De run noemt geen quota en leest er geen.
8. Eerst het fundament toepassen
Het uitvoeringsplan groepeert netwerken en security groups vóór workloads en noemt de handmatige voorwaarden vóór tofu apply. Voer plan eerst uit in een testproject.
Beslissingen die de architect neemt
Projectindeling
Eén project, meerdere, of een area. De run kan hier niet voor kiezen; hij kan alleen melden wat de resources nodig hebben.
Egressadres
Leg het antwoord op het egressbesluit vast vóór de pilot; zeven planstappen wachten er in deze run op.
Interne DNS
Welke server interne namen beantwoordt en wie die beheert.
Bootimages en machinetypen
Het concept laat het image, het machinetype en de grootte van het bootvolume over aan variabelen, omdat de bron een AMI en een instancetype noemt en geen STACKIT-equivalent.
Wie projecten mag aanmaken
Een project aanmaken is een rol. Houd die bij een kleine groep en leg de regel vast voordat het eerste project bestaat.
Vragen over de landing zone
Heeft STACKIT een VPC?
Niet als containerobject in het algemeen beschikbare model, volgens de run. Een subnet wordt een netwerk in een project en de router van het project verbindt de netwerken van dat project. Netwerken van verschillende projecten worden verbonden via een Network Area.
Heb ik een Network Area nodig?
Alleen als projecten elkaar privé moeten bereiken of als u er on-premises omgevingen mee verbindt. De bevinding van de run over routering is een reden om dit vroeg te beslissen, omdat een NAT-routetabel wordt vervangen door standaardrouting waarvan de bereikbaarheid alleen in een project buiten een area is waargenomen.
Hoe diep kunnen mappen gaan?
Eén niveau. STACKIT ondersteunt momenteel één niveau in de maphiërarchie, en mappen groeperen projecten zonder zelf cloudresources te bevatten.
Maakt StackToIT de organisatie en de projecten aan?
Nee. Het concept heeft een project nodig en neemt de id uit een variabele. StackToIT leest en schrijft bestanden en maakt niets aan in een cloudaccount.
Wat vervangt mijn instancerollen?
Een service account dat aan de server is gekoppeld, dat de run markeert als handmatige review met zekerheidsniveau LOW. Bepaal de rechten zelf en test ze op één server.
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
Hartelijk dank.
Uw verzoek is bij ons binnengekomen. Onze specialisten nemen contact met u op.