HUAWEI CLOUD → STACKIT · CASUS
Een Huawei Cloud-webshop op STACKIT: volledige assessmentcasus
Eén realistische omgeving, van begin tot eind beoordeeld: een webshop met een server, een load balancer, een publiek adres, een PostgreSQL-database, een sessiecache, objectopslag, een sleutel, een secret, DNS en een klein Kubernetes-cluster voor achtergrondjobs. 15 Terraform-resources werden 14 eenheden in drie golven, 12 RECONFIGURE en 2 REPLATFORM. Deze walkthrough toont elk cijfer, de fragmenten die ertoe doen en de beslissingen die bij uw architecten blijven.
De omgeving en het resultaat
Door StackToIT beoordeeld op 4 november 2026 aan de hand van één Terraform-bestand en één variabelenbestand met plaatshouderwaarden. Elke rij is een eenheid; de golf geeft aan wanneer de afhankelijkheden van de eenheid toestaan dat die verhuist.
| Huawei Cloud-resource (golf) | STACKIT-doel | Klasse en zekerheidsniveau |
|---|---|---|
| VPC (1) | STACKIT-netwerk | RECONFIGURE, MEDIUM |
| Subnetten app en data (2) | STACKIT-netwerken met eigen bereiken | RECONFIGURE, MEDIUM |
| Security group (1) | STACKIT security group | RECONFIGURE, LOW |
| ECS-webserver (3) | STACKIT-server, volume en netwerkinterface | RECONFIGURE, MEDIUM |
| EIP (1) | STACKIT public IP | RECONFIGURE, MEDIUM |
| Shared load balancer (3) | STACKIT Network Load Balancer | RECONFIGURE, MEDIUM |
| RDS for PostgreSQL (3) | STACKIT PostgreSQL Flex | REPLATFORM, MEDIUM |
| DCS Redis-sessies (3) | STACKIT Key Value Store (Valkey) | RECONFIGURE, MEDIUM |
| OBS-bucket (1) | STACKIT Object Storage | RECONFIGURE, MEDIUM |
| KMS-sleutel (1) en CSMS-secret (2) | STACKIT KMS en Secrets Manager | RECONFIGURE, MEDIUM |
| DNS-recordset (1) | Record in een STACKIT DNS-zone | RECONFIGURE, MEDIUM |
| CCE-cluster (3) | STACKIT Kubernetes Engine (SKE) | REPLATFORM, MEDIUM |
De regel van de security group hoort bij de eenheid van de groep, en daarom geven 15 resources 14 eenheden. Niets is geclassificeerd als REDESIGN, BLOCKED of MANUAL_REVIEW.
De cijfers van de run
15 resources, 14 eenheden
Eén bestand gelezen, geen module gemist, 13 afhankelijkheden tussen eenheden. De bronstatus is COMPLETE omdat het variabelenbestand de twee gevoelige waarden leverde.
12 en 2
12 eenheden zijn RECONFIGURE: de dienst bestaat op STACKIT en de instellingen veranderen. 2 zijn REPLATFORM: de database en het Kubernetes-cluster gaan naar een ander platformmodel.
13 MEDIUM, 1 LOW
Geen enkele eenheid heeft zekerheidsniveau HIGH. De provider is niet vastgezet met een lockbestand, wat de run vermeldt, en de LOW-eenheid is de security group, hieronder toegelicht.
3 golven: 6, 3 en 5 eenheden
Golf 1 bevat wat van niets afhangt, golf 2 de subnetten en het secret dat de sleutel noemt, golf 3 alles wat in het netwerk zit.
10 werkpakketten, 14 handmatige stappen
StackToIT schrijft een STACKIT-Terraform-concept dat uw architecten beoordelen. Alle 14 eenheden hebben stappen die een persoon nu kan starten, gegroepeerd per fase en eigenaar.
1 blokkerende vraag
De doelregio, eu01 of eu02. Vier verdere verzoeken (STACKIT-project, observability, openbare ingress en egress) worden door deze build vastgelegd zonder het concept te wijzigen; u stelt ze in de doelomgeving in.
De webtier: adres en load balancer
Het adres en de load balancer zijn de twee eenheden waarvan het resultaat verandert wat de buitenwereld ziet. De twee invoerpanelen zijn twee afzonderlijke resourceblokken uit main.tf, elk volledig getoond.
resource "huaweicloud_vpc_eip" "web" {
publicip {
type = "5_bgp"
}
bandwidth {
share_type = "PER"
name = "shop-web"
size = 20
charge_mode = "traffic"
}
}resource "huaweicloud_lb_loadbalancer" "web" {
name = "shop-lb"
vip_subnet_id = huaweicloud_vpc_subnet.app.ipv4_subnet_id
}{
"id": "huaweicloud_vpc_eip.web",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT public IP"
},
"reason": "An EIP becomes a STACKIT public IP. The address itself changes, so DNS records and allow lists that name it change too."
}
}
{
"id": "huaweicloud_lb_loadbalancer.web",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Network Load Balancer"
},
"reason": "A shared load balancer becomes a STACKIT Network Load Balancer. Listeners and backends are rewritten, and the public address changes."
}
}Het adres verandert
Een EIP wordt een STACKIT public IP, en de run geeft aan dat het adres zelf verandert. DNS-records en allowlists die het oude adres noemen, moeten mee veranderen.
Listeners worden herschreven
Een shared load balancer wordt een Network Load Balancer, zijn listeners en backends worden herschreven en het publieke adres verandert. Plan het certificaat en de health check daarbij.
De datatier: database en cache
Twee stateful eenheden, twee verschillende verhuizingen. De database behoudt zijn engine; de cache verandert van product.
resource "huaweicloud_rds_instance" "db" {
name = "shop-db"
flavor = "rds.pg.n1.xlarge.2"
vpc_id = huaweicloud_vpc.shop.id
subnet_id = huaweicloud_vpc_subnet.data.id
security_group_id = huaweicloud_networking_secgroup.web.id
availability_zone = ["eu-west-101a"]
db {
type = "PostgreSQL"
version = "15"
}
volume {
type = "CLOUDSSD"
size = 200
}
}
resource "huaweicloud_dcs_instance" "sessions" {
name = "shop-sessions"
engine = "Redis"
engine_version = "6.0"
capacity = 4
flavor = "redis.ha.xu1.large.r2.4"
availability_zones = ["eu-west-101a", "eu-west-101b"]
password = var.redis_password
vpc_id = huaweicloud_vpc.shop.id
subnet_id = huaweicloud_vpc_subnet.data.id
}{
"id": "huaweicloud_rds_instance.db",
"result": {
"class": "REPLATFORM",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT PostgreSQL Flex"
},
"reason": "Managed PostgreSQL to managed PostgreSQL: data moves with pg_dump/pg_restore or logical replication, and the flavor becomes a Flex flavor."
}
}
{
"id": "huaweicloud_dcs_instance.sessions",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Key Value Store (Valkey)"
},
"reason": "A DCS instance becomes a Valkey instance. The application changes its endpoint and credentials; check the engine and version in use, since a Memcached instance needs a client change."
}
}PostgreSQL naar PostgreSQL
De run noemt pg_dump met pg_restore of logische replicatie, en de flavor wordt een Flex-flavor. De bron draait versie 15; volgens de release notes van STACKIT eindigt de ondersteuning van versie 14 op 12 november 2026, dus 15 of hoger is een veilig vertrekpunt om te bevestigen.
De cache heeft een eigen methode nodig
Huawei noemt MIGRATE uitgeschakeld voor DCS Redis 6.0, dus de kopieermethode die STACKIT voor zijn Redis-aanbod documenteert, is zoals beschreven niet van toepassing. De handleiding over DCS en Valkey op deze site behandelt dat.
Data is een beslissing, geen resultaat
migration/data-movement.md noemt drie stateful eenheden, de cache, de bucket en de database, elk met mechanisme UNKNOWN en DECISION_REQUIRED.
De ene LOW-eenheid: een security group
De groep zelf wordt netjes gekoppeld. Het zekerheidsniveau daalt omdat één gekoppelde resource niet wordt beoordeeld.
resource "huaweicloud_networking_secgroup" "web" {
name = "shop-web"
description = "Web tier"
}
resource "huaweicloud_networking_secgroup_rule" "https" {
security_group_id = huaweicloud_networking_secgroup.web.id
direction = "ingress"
ethertype = "IPv4"
protocol = "tcp"
ports = "443"
remote_ip_prefix = "0.0.0.0/0"
}{
"id": "huaweicloud_networking_secgroup.web",
"result": {
"class": "RECONFIGURE",
"confidence": "LOW",
"reason": "A security group becomes a STACKIT security group. STACKIT rules only allow traffic, so a deny rule or a priority order of the source needs a decision.",
"findings": [
{
"check_id": "uncatalogued-related",
"severity": "warning",
"message": "huaweicloud_networking_secgroup_rule.https (huaweicloud_networking_secgroup_rule) is linked to this unit; the knowledge base catalogues it but has no mapping rule, semantic contract or criticality row for it (catalogued but unmapped), so what it does to this unit is not assessed."
}
]
}
}Gecatalogiseerd maar niet gekoppeld
De run kent het regeltype en heeft er geen koppeling voor, dus de run meldt dat niet wordt beoordeeld wat de regel met de groep doet. Lees de regel zelf: de demo staat HTTPS toe vanaf overal.
Deny-regels vragen een beslissing
STACKIT-regels laten verkeer alleen toe. Een deny-regel of een prioriteitsvolgorde in een echte bron vereist een expliciete ontwerpkeuze.
Volgorde en eigenaarschap
De golven uit migration/technical-sequencing.md. De run schrijft ook tien werkpakketten naar execution/README.md.
## Wave 1 — 6 unit(s)
| Unit | Class | Target |
|---|---|---|
| `huaweicloud_dns_recordset.www` | RECONFIGURE / MEDIUM | STACKIT DNS |
| `huaweicloud_kms_key.shop` | RECONFIGURE / MEDIUM | STACKIT KMS |
| `huaweicloud_networking_secgroup.web` | RECONFIGURE / LOW | STACKIT security groups |
| `huaweicloud_obs_bucket.media` | RECONFIGURE / MEDIUM | STACKIT Object Storage |
| `huaweicloud_vpc.shop` | RECONFIGURE / MEDIUM | STACKIT network |
| `huaweicloud_vpc_eip.web` | RECONFIGURE / MEDIUM | STACKIT public IP |
## Wave 2 — 3 unit(s)
| Unit | Class | Target |
|---|---|---|
| `huaweicloud_csms_secret.db` | RECONFIGURE / MEDIUM | STACKIT Secrets Manager |
| `huaweicloud_vpc_subnet.app` | RECONFIGURE / MEDIUM | STACKIT network |
| `huaweicloud_vpc_subnet.data` | RECONFIGURE / MEDIUM | STACKIT network |
## Wave 3 — 5 unit(s)
| Unit | Class | Target |
|---|---|---|
| `huaweicloud_cce_cluster.jobs` | REPLATFORM / MEDIUM | STACKIT Kubernetes Engine (SKE) |
| `huaweicloud_compute_instance.web` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `huaweicloud_dcs_instance.sessions` | RECONFIGURE / MEDIUM | STACKIT Key Value Store (Valkey) |
| `huaweicloud_lb_loadbalancer.web` | RECONFIGURE / MEDIUM | STACKIT Network Load Balancer |
| `huaweicloud_rds_instance.db` | REPLATFORM / MEDIUM | STACKIT PostgreSQL Flex |Eén pakket heeft geen eigenaar
WP-03 bevat de sleutel en het secret en toont Owner assignment required, omdat deze build geen eigenaarsrol heeft voor de categorie security. De run meldt het uitvoeringspakket als onvolledig totdat iemand wordt aangewezen.
Afhankelijkheden verklaren de golven
Het databasesecret wacht op de sleutel omdat het die noemt. Alles in golf 3 wacht op de subnetten, de langste keten in de omgeving.
De beslissingen die bij uw architecten liggen
Regio en netwerkontwerp
Beantwoord target.region, kies adresbereiken voor de twee STACKIT-netwerken en bepaal of routering een Network Area nodig heeft.
Databaseversie en methode
Kies de PostgreSQL-hoofdversie op STACKIT en daarna de verhuizing: dump en restore, of logische replicatie, op basis van de downtime die u accepteert.
Kopieermethode voor de cache
Bepaal hoe sleutels zonder MIGRATE in Valkey terechtkomen, en koppel de inloggegevens en de toegestane bereiken. Meerdere databasenummers vereisen een eigen plan.
Omgaan met sleutel en secret
Versleutel opnieuw in plaats van te exporteren, controleer het algoritme aan de lijst van STACKIT en schrijf het secret zelf in afhankelijkheidsvolgorde. De handleiding over KMS en CSMS op deze site loopt het door.
Kubernetes-versie
Het CCE-cluster draait v1.31. De CCE-pagina op deze site behandelt de SKE-versies waarop u terechtkomt.
Cutover
Verlaag de DNS-TTL, lever de nieuwe adressen voor het record aan, schrijf een rollback voor elke handmatige stap en spreek het venster af.
Wat deze run u niet vertelt
Het concept heeft beoordeling nodig
StackToIT schrijft een STACKIT-Terraform-concept dat uw architecten beoordelen. Niemand past het voor u toe.
Geen datavolumes
Omvang, wijzigingsfrequentie en toegestane downtime staan niet in de Terraform-code. Ze tonen NOT_PROVIDED totdat u ze aanlevert.
Geen controle op STACKIT
Er wordt niets gepland of toegepast tegen een STACKIT-project. Het pakket zegt dat zelf.
Geen zicht op wat de code niet toont
Resources die in de console zijn gemaakt, applicatieconfiguratie en data op serverdisks vallen buiten de run.
Vragen over deze walkthrough
Is dit een typische Huawei Cloud-omgeving?
Het is een bewust gewone webshop: web, database, cache, opslag, secrets, DNS en een jobcluster. De cijfers horen alleen bij deze omgeving. Uw eigen run telt anders.
Schrijft de run een STACKIT-Terraform-concept?
Ja. De run beoordeelde alle 14 eenheden en publiceerde zijn pakket, inclusief een STACKIT-Terraform-concept dat uw architecten beoordelen.
Met welke eenheden zou u beginnen?
Met die in golf 1 en 2, waarvan alle andere eenheden afhangen: het netwerk, de sleutel en de security group. Het sequencingbestand is een vertrekpunt voor uw eigen planning, geen plan met datums.
Kan ik dit reproduceren?
Ja, met uw eigen Terraform-code: voer het assessment uit op de map, open dan index.html en lees assessment.json, migration/technical-sequencing.md en execution/manual/actions.md in die volgorde.
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.