ALIBABA CLOUD → STACKIT · VOLLSTÄNDIGER LEITFADEN
Der vollständige Leitfaden für die Migration von Alibaba Cloud zu STACKIT
Beginnen Sie mit dem Terraform, das Sie schon haben: stacktoit assess ausführen, assessment.json und den Migrationsplan lesen, die Entscheidungen klären, die der Lauf Ihnen überlässt, zuerst das STACKIT-Netzwerk bauen, dann Datenbanken und Speicher, Compute und zuletzt die Edge-Dienste umziehen: Load Balancer, DNS und Logs. Im Beispiellauf werden neun Ressourcen zu neun Einheiten in drei Wellen, alle RECONFIGURE oder REPLATFORM, keine davon als STACKIT-Terraform entworfen; jede ist also ein manueller Schritt mit einem Verantwortlichen. Dieser Leitfaden erklärt die Reihenfolge und die Entscheidungen dahinter.
Die Migration in acht Schritten
1. Terraform sammeln und Provider-Version festschreiben
Sammeln Sie jedes Root-Modul mit dem Provider aliyun/alicloud und committen Sie .terraform.lock.hcl. Ohne Lock-Eintrag meldet der Lauf den Provider als nicht festgeschrieben und begrenzt die Konfidenz seiner Einheiten auf MEDIUM, wie Sie es bei jeder Einheit des Beispiels sehen.
2. Bewerten
Führen Sie stacktoit assess ./alibaba-terraform aus. Es liest die Dateien und verbindet sich mit keinem Alibaba-Cloud-Konto. Ressourcen, die kein Modul deklariert, etwa von Hand angelegte Objekte, fehlen im Ergebnis; nehmen Sie sie zuerst ins Terraform auf oder führen Sie sie von Hand auf.
3. Die Ausgabe in dieser Reihenfolge lesen
assessment.json für Klasse, Ziel und Begründung jeder Einheit. migration/technical-sequencing.md für die Wellen. migration/data-movement.md für die zustandsbehafteten Einheiten. execution/manual/actions.md für manuelle Schritte und Verantwortliche. index.html zeigt dasselbe in einem Arbeitsbereich.
4. Klären, was der Lauf Ihnen überlässt
Der Beispiellauf nennt fünf offene Anfragen. Eine blockiert den Entwurf: die STACKIT-Region (eu01 oder eu02). Tragen Sie sie in inputs-template.yaml ein und starten Sie den Lauf erneut; der nächste Lauf übernimmt Ihre Antwort. Die übrigen vier (Projekt, Observability, öffentlicher Zugang, ausgehender Verkehr) werden zwar erfasst, ändern in diesem Build aber nichts; die Vorlage nennt jeweils, wo Sie die Einstellung stattdessen vornehmen.
5. Die Landing Zone bauen
Legen Sie zuerst die STACKIT-Projektstruktur an, dann die Netzwerke. Eine VPC hat keine Eins-zu-eins-Entsprechung: Ihre vSwitches werden STACKIT-Netzwerke, das Routing dazwischen planen Sie bei Bedarf mit einer Network Area. Security Groups folgen, mit einer Entscheidung für jede Deny-Regel, denn STACKIT-Regeln erlauben nur Datenverkehr.
6. Die Daten übertragen
Datenbanken und Buckets halten Zustand. Der Lauf führt sie auf und setzt den Mechanismus auf UNKNOWN. Sie wählen ihn, proben den Umzug und messen seine Dauer.
7. Compute und Edge-Dienste umziehen
Allgemeine Praxis, keine Ausgabe des Laufs: Bauen Sie das Image jedes Servers neu oder importieren Sie es, richten Sie dann den STACKIT Load Balancer ein, ändern Sie DNS und stellen Sie die Log-Collector um.
8. Umstellen, beobachten, stilllegen
Allgemeine Praxis, keine Ausgabe des Laufs: Stellen Sie in der Reihenfolge der Wellen um, wo es passt, lassen Sie die Alibaba-Cloud-Umgebung laufen, bis alle Prüfungen bestanden sind, und notieren Sie, wie jeder Schritt zurückgenommen wird. Den Rollback überlässt der Lauf der Person, die den Schritt ausführt.
Ein Webserver, eine Datenbank und ein Load Balancer, bewertet
Eine kleine Alibaba-Cloud-Umgebung mit neun Ressourcen, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links drei Blöcke der Eingabe, rechts das Ergebnis des Laufs für vier Einheiten: ein Auszug aus assessment.json mit den Werten, wie der Lauf sie geschrieben hat. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten. Die Eingabeblöcke stehen in getrennten Ausschnitten, weil sie in main.tf nicht direkt aufeinander folgen.
resource "alicloud_instance" "web" {
instance_name = "shop-web-01"
instance_type = "ecs.g7.large"
image_id = "ubuntu_22_04_x64_20G_alibase_20240926.vhd"
vswitch_id = alicloud_vswitch.app.id
security_groups = [alicloud_security_group.app.id]
system_disk_category = "cloud_essd"
system_disk_size = 40
}
resource "alicloud_db_instance" "orders" {
engine = "PostgreSQL"
engine_version = "16.0"
instance_type = "pg.n2.2c.2m"
instance_storage = 100
instance_name = "shop-orders"
vswitch_id = alicloud_vswitch.app.id
instance_charge_type = "Postpaid"
}resource "alicloud_slb_load_balancer" "front" {
load_balancer_name = "shop-front"
load_balancer_spec = "slb.s2.small"
address_type = "internet"
}[
{
"id": "alicloud_instance.web",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Compute Engine"
},
"reason": "An ECS instance becomes a STACKIT server. The instance type becomes a STACKIT flavor, the image is rebuilt or imported, and the attached disks and interfaces become volumes and network interfaces."
}
},
{
"id": "alicloud_db_instance.orders",
"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 instance class becomes a Flex flavor."
}
},
{
"id": "alicloud_slb_load_balancer.front",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Network Load Balancer"
},
"reason": "A CLB or NLB load balancer becomes a STACKIT Network Load Balancer. Listeners and backends are rewritten, and the public address changes."
}
},
{
"id": "alicloud_security_group.app",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT security groups"
},
"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."
}
}
]Begründungen zum Weitergeben
Laut ECS-Begründung wird der Instanztyp zu einem STACKIT-Flavor, das Image wird neu gebaut oder importiert, und Datenträger und Schnittstellen werden zu Volumes und Netzwerkschnittstellen. Laut Datenbank-Begründung werden die Daten mit pg_dump und pg_restore oder per logischer Replikation übertragen.
In einer Security Group steckt eine Entscheidung
STACKIT-Regeln erlauben nur Datenverkehr; eine Deny-Regel oder eine Prioritätsfolge der Quelle braucht daher Ihre Entscheidung.
Entworfen oder nicht
Zahlen des Laufs: 9 Ressourcen, 9 Einheiten, 0 als STACKIT-Terraform erzeugt, 9 dem Architekten überlassen. Bei einer Alibaba-Cloud-Quelle enthält die Ausgabe terraform.tf, variables.tf und eine README; der Rest ist manuelle Arbeit.
Die Reihenfolge, die der Lauf berechnet
Wellen folgen den Referenzen zwischen Ressourcen: Eine Einheit zieht nach allen Einheiten um, von denen sie abhängt. Das ist der Migrationsplan, den der Lauf schrieb, kein Terminplan.
## Wave 1 — 5 unit(s)
| Unit | Class | Target |
|---|---|---|
| `alicloud_alidns_record.www` | RECONFIGURE / MEDIUM | STACKIT DNS |
| `alicloud_log_project.app` | RECONFIGURE / MEDIUM | STACKIT Logs |
| `alicloud_oss_bucket.media` | RECONFIGURE / MEDIUM | STACKIT Object Storage |
| `alicloud_slb_load_balancer.front` | RECONFIGURE / MEDIUM | STACKIT Network Load Balancer |
| `alicloud_vpc.main` | RECONFIGURE / MEDIUM | STACKIT network |
## Wave 2 — 2 unit(s)
| Unit | Class | Target |
|---|---|---|
| `alicloud_security_group.app` | RECONFIGURE / MEDIUM | STACKIT security groups |
| `alicloud_vswitch.app` | RECONFIGURE / MEDIUM | STACKIT network |
## Wave 3 — 2 unit(s)
| Unit | Class | Target |
|---|---|---|
| `alicloud_db_instance.orders` | REPLATFORM / MEDIUM | STACKIT PostgreSQL Flex |
| `alicloud_instance.web` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |Netzwerk zuerst, Daten und Compute zuletzt
Die VPC liegt in Welle 1, vSwitch und Security Group in Welle 2, Datenbank und Server in Welle 3, weil beide den vSwitch referenzieren.
Edge-Einheiten erscheinen früh
Load Balancer, DNS-Eintrag, Bucket und Log-Projekt referenzieren nichts und landen daher in Welle 1. In Ihrem Plan ziehen sie um, wenn die Anwendung bereit ist, nicht schon dann, wenn die Abhängigkeiten es zulassen.
Jede Ressource, ihr STACKIT-Ziel und ihre Klasse
| Alibaba-Cloud-Ressource | STACKIT-Ziel | Migrationsklasse |
|---|---|---|
| VPC | STACKIT-Netzwerk, bei Bedarf mit Network Area für das Routing | Rekonfigurieren |
| vSwitch | STACKIT-Netzwerk mit eigenem Adressbereich | Rekonfigurieren |
| Security Group | STACKIT Security Group | Rekonfigurieren |
| ECS-Instanz | STACKIT-Compute-Engine-Server | Rekonfigurieren |
| ApsaraDB RDS for PostgreSQL | STACKIT PostgreSQL Flex | Replatforming |
| OSS-Bucket | STACKIT Object Storage mit S3-API | Rekonfigurieren |
| Classic Load Balancer | STACKIT Network Load Balancer | Rekonfigurieren |
| Alibaba-Cloud-DNS-Eintrag | Eintrag in einer STACKIT-DNS-Zone | Rekonfigurieren |
| Simple-Log-Service-Projekt | STACKIT Logs | Rekonfigurieren |
Klassen, wie der Lauf sie festgelegt hat. Die vertiefenden Leitfäden zu Datenbanken, Load Balancern, Funktionen, DNS, CDN und Logs gehen auf ihre Zeilen tiefer ein.
Was sich unterwegs unterscheidet
Aussagen zu STACKIT und zu Alibaba Cloud DTS stammen von den unter „Quellen“ genannten Seiten, gelesen am Tag der Erstellung.
Namen und Adressen ändern sich
OSS-Clients wechseln auf einen S3-Client, und die Adressen von Load Balancer und Elastic IP ändern sich. DNS-Einträge und Freigabelisten, die sie nennen, ändern sich mit.
Datenbanken werden geklont, nicht in derselben Instanz wiederhergestellt
STACKIT dokumentiert, dass PostgreSQL Flex keinen In-Place-Restore hat: Sie klonen ein Backup in eine neue Instanz und lenken die Clients dorthin. Alibaba Cloud DTS unterstützt Schema-, Voll- und inkrementelle Migration zwischen ApsaraDB-RDS-Instanzen (MySQL, MariaDB, SQL Server, PostgreSQL); als Ziel nennt die Seite nur RDS-Instanzen, nicht STACKIT.
Typ des Load Balancers
Der STACKIT Network Load Balancer wird als Layer 4 beschrieben. Ein Classic Load Balancer mit HTTPS-Listenern gehört womöglich eher auf den Application Load Balancer; der Lauf ordnet ihn dem Network Load Balancer zu und überlässt die Listener Ihnen.
DNS-Funktionen
STACKIT DNS nennt Forward-, Reverse- und Secondary-Zonen und hält fest, dass DNSSEC-Zonensignierung derzeit nicht verfügbar ist. Gewichtete und linienbasierte Auflösung der Quelle brauchen eine Prüfung.
Logs werden neu geschrieben
STACKIT Logs basiert auf Grafana Loki. Sammlung, Abfragen und Auswertungsansichten von Simple Log Service werden neu geschrieben.
Entscheidungen, die Ihre Architekten treffen
Datenmechanismus und Ausfallzeit
Für Datenbank und Bucket: wie, wie schnell, wie lange der Betrieb stillstehen darf. Der Lauf vermerkt RPO und Ausfalltoleranz als NOT_PROVIDED, bis Sie sie in der Applications-Datei eintragen.
Semantik der Security Group
Deny-Regeln und Prioritätsfolgen haben keine direkte Entsprechung.
Server-Images
Aus der eigenen Pipeline neu bauen oder das Alibaba-Cloud-Image importieren. Der Lauf sagt nur, dass eines von beiden geschieht.
Balancer-Typ je Listener
Network oder Application Load Balancer.
Wellenplan und Verantwortliche
Die Wellen sind ein Ausgangspunkt. Weisen Sie jedem manuellen Schritt Verantwortlichen und Datum zu; der Lauf schreibt „timing to be scheduled by the owner“.
Fragen von Architekten
Braucht StackToIT Zugriff auf unser Alibaba-Cloud-Konto?
Nein. Es liest Terraform- und OpenTofu-Root-Module mit dem Provider aliyun/alicloud und verbindet sich mit keinem Konto.
Schreibt es das STACKIT-Terraform?
Für eine Alibaba-Cloud-Quelle in diesem Build nicht. Der Beispiellauf erzeugte 0 Einheiten und überließ 9 dem Architekten; die STACKIT-Ressourcen baut Ihr Team auf Grundlage der Bewertung.
Womit beginne ich beim Lesen der Ausgabe?
Mit assessment.json für jede Einheit, dann migration/technical-sequencing.md, migration/data-movement.md und execution/manual/actions.md. index.html zeigt dasselbe in einem Arbeitsbereich.
Welche Alibaba-Cloud-Dienste deckt die Zuordnung ab?
ECS, Datenträger, VPC und vSwitch, Security Groups, Elastic IPs, Load Balancer, ACK, ApsaraDB RDS, PolarDB, Redis, MongoDB, OSS, NAS, Message Queues, Function Compute, KMS, DNS, CDN, Elasticsearch, Simple Log Service, MaxCompute, AnalyticDB und Tablestore haben eine dokumentierte Behandlung. Alles andere ist MANUAL_REVIEW; in diesem Build gilt das auch für Hilfsressourcen wie SLB-Listener und Logstores des Log Service, wie die Leitfäden zu Load Balancern und zum Runbook zeigen.
Quellen
Ihr nächster Schritt: STACKIT.
Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.