HUAWEI CLOUD ECS → STACKIT COMPUTE ENGINE

Huawei Cloud ECS to STACKIT Compute Engine

An ECS instance becomes a STACKIT server: the flavor becomes a STACKIT flavor, the image is rebuilt or imported, and the attached disks and interfaces become volumes and network interfaces. StackToIT reads this from your Huawei Cloud Terraform, gives every resource around the server a target and a reason too, and orders the work so that networks come first.

An ECS instance with its data disk, assessed

A small Huawei Cloud estate written for this page and assessed by StackToIT on 4 November 2026. Left: the input. Right: the result StackToIT recorded for it, an excerpt of assessment.json with the values exactly as the run wrote them.

Example inputmain.tf
resource "huaweicloud_compute_instance" "erp" {
  name               = "erp-app-01"
  image_id           = "6f3b0e2a-1c4d-4e5f-8a9b-0c1d2e3f4a5b"
  flavor_id          = "s6.xlarge.2"
  availability_zone  = "eu-west-101a"
  security_group_ids = [huaweicloud_networking_secgroup.app.id]
  system_disk_type   = "SSD"
  system_disk_size   = 40

  network {
    uuid = huaweicloud_vpc_subnet.app.id
  }
}
StackToIT assessmentassessment.json
{
  "id": "huaweicloud_compute_instance.erp",
  "result": {
    "class": "RECONFIGURE",
    "confidence": "MEDIUM",
    "target": {
      "service": "STACKIT Compute Engine"
    },
    "reason": "An ECS instance becomes a STACKIT server. The flavor becomes a STACKIT flavor, the image is rebuilt or imported, and the attached disks and interfaces become volumes and network interfaces."
  }
}
  • Flavor to STACKIT flavor

    s6.xlarge.2 becomes a STACKIT flavor. Compute Engine was found in the STACKIT catalogues of eu01 and eu02, with 176 and 58 machine types to choose from.

  • Image rebuilt or imported

    The server is rebuilt from a STACKIT image or started from an imported copy of the ECS image, whichever fits the workload.

  • Every setting named

    The report names the 8 settings of the instance your team carries over, from availability_zone and flavor_id to system_disk_size and system_disk_type.

  • Owner per package

    The instance goes to the Platform Architect, the EIP and the networks to the Network Architect, the EVS disk to the Storage Architect, each package with the condition under which it is done.

The EVS disk, assessed on its own

From the same run. Left: the input. Right: the result StackToIT recorded for it, an excerpt of assessment.json with the values exactly as the run wrote them.

Example inputmain.tf
resource "huaweicloud_evs_volume" "data" {
  name              = "erp-data"
  availability_zone = "eu-west-101a"
  volume_type       = "SSD"
  size              = 200
}

resource "huaweicloud_compute_volume_attach" "data" {
  instance_id = huaweicloud_compute_instance.erp.id
  volume_id   = huaweicloud_evs_volume.data.id
}
StackToIT assessmentassessment.json
{
  "id": "huaweicloud_evs_volume.data",
  "result": {
    "class": "RECONFIGURE",
    "confidence": "MEDIUM",
    "target": {
      "service": "STACKIT Block Storage"
    },
    "reason": "An EVS disk becomes a STACKIT volume. The disk type does not carry over; choose a STACKIT performance class, and move the data at the host level or with the server image."
  }
}

How the ECS estate maps

Huawei Cloud resourceSTACKIT targetMigration class
ECS instanceSTACKIT Compute Engine: server, volumes and network interfacesReconfigure
EVS diskSTACKIT Block StorageReconfigure
EIPSTACKIT public IPReconfigure
Security group with its ruleSTACKIT security groupsReconfigure
VPCSTACKIT network, with a Network Area where routing is neededReconfigure
SubnetSTACKIT network with its own address rangeReconfigure
Volume attachmentDecided by your architectsArchitect decision

Classes as the run decided them for 8 resources in 7 units: the security group rule is assessed with its group, and its direction, protocol, port and source range are listed under the group.

The order of the work

Waves are computed from the dependencies in your Terraform: a unit moves only after every unit it depends on, and units in the same wave can move in parallel.

  1. Wave 1: foundations

    VPC, security group, EVS disk and EIP, none of which depends on another resource of the estate.

  2. Wave 2: subnet

    The subnet erp-app, which needs its VPC, becomes a STACKIT network with the range 10.30.1.0/24 to plan for.

  3. Wave 3: server

    The ECS instance erp-app-01, once its network and security group are in place.

  4. Wave 4: attachment

    The volume attachment, which joins the server and its data disk.

Proven on a real AWS estate

The AWS Retail Store Sample App, a public Terraform project from AWS, assessed by StackToIT and published in full, exactly as the run wrote it.

View Case Study
282
Terraform resource declarations analyzed
44
migration units identified
38
target units generated, from 52 considered
331
plan steps written

Questions infrastructure teams ask

Does StackToIT connect to our Huawei Cloud account?

No. It reads Terraform and OpenTofu root modules that use the huaweicloud/huaweicloud provider. Nothing connects to your Huawei Cloud account.

What happens to the public IP address of an ECS server?

An EIP becomes a STACKIT public IP. The address itself changes, so DNS records and allow lists that name it change too.

How is the EVS disk moved?

An EVS disk becomes a STACKIT volume. The disk type does not carry over: you choose a STACKIT performance class and move the data at the host level or with the server image.

Sources

Your next move: STACKIT.

Tell us about your estate. We show you what StackToIT delivers for it: target architecture, Terraform artifacts and a structured migration plan.