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-doelKlasse en zekerheidsniveau
VPC (1)STACKIT-netwerkRECONFIGURE, MEDIUM
Subnetten app en data (2)STACKIT-netwerken met eigen bereikenRECONFIGURE, MEDIUM
Security group (1)STACKIT security groupRECONFIGURE, LOW
ECS-webserver (3)STACKIT-server, volume en netwerkinterfaceRECONFIGURE, MEDIUM
EIP (1)STACKIT public IPRECONFIGURE, MEDIUM
Shared load balancer (3)STACKIT Network Load BalancerRECONFIGURE, MEDIUM
RDS for PostgreSQL (3)STACKIT PostgreSQL FlexREPLATFORM, MEDIUM
DCS Redis-sessies (3)STACKIT Key Value Store (Valkey)RECONFIGURE, MEDIUM
OBS-bucket (1)STACKIT Object StorageRECONFIGURE, MEDIUM
KMS-sleutel (1) en CSMS-secret (2)STACKIT KMS en Secrets ManagerRECONFIGURE, MEDIUM
DNS-recordset (1)Record in een STACKIT DNS-zoneRECONFIGURE, 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.

Voorbeeldinvoer: adresmain.tf
resource "huaweicloud_vpc_eip" "web" {
  publicip {
    type = "5_bgp"
  }
  bandwidth {
    share_type  = "PER"
    name        = "shop-web"
    size        = 20
    charge_mode = "traffic"
  }
}
Voorbeeldinvoer: load balancermain.tf
resource "huaweicloud_lb_loadbalancer" "web" {
  name          = "shop-lb"
  vip_subnet_id = huaweicloud_vpc_subnet.app.ipv4_subnet_id
}
StackToIT-assessmentassessment.json
{
  "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.

Voorbeeldinvoermain.tf
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
}
StackToIT-assessmentassessment.json
{
  "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.

Voorbeeldinvoermain.tf
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"
}
StackToIT-assessmentassessment.json
{
  "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.

Golvenmigration/technical-sequencing.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

  1. Regio en netwerkontwerp

    Beantwoord target.region, kies adresbereiken voor de twee STACKIT-netwerken en bepaal of routering een Network Area nodig heeft.

  2. 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.

  3. 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.

  4. 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.

  5. Kubernetes-versie

    Het CCE-cluster draait v1.31. De CCE-pagina op deze site behandelt de SKE-versies waarop u terechtkomt.

  6. 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

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