ALIBABA CLOUD → STACKIT · LEITFADEN
ApsaraDB Redis und MongoDB: Migration zu STACKIT
Eine ApsaraDB-for-Redis-Instanz wird zu einer STACKIT-Key-Value-Store-Instanz (Valkey) und als RECONFIGURE eingestuft: Die Anwendung ändert Endpunkt und Zugangsdaten, die Daten werden Schlüssel für Schlüssel kopiert. ApsaraDB for MongoDB wird zu MongoDB Flex und als REPLATFORM eingestuft: Die Daten wandern per Dump und Restore. Die Memcache-Variante des Alibaba-Cloud-Cachedienstes ist die Ausnahme und braucht eine eigene Entscheidung.
Die Migration Schritt für Schritt
Acht Schritte für eine Umgebung mit Cache, Session-Speicher und Dokumentdatenbank. Die Schritte 1 bis 3 ergeben sich aus der Bewertung; die übrigen sind Proben, die Sie mit Ihren eigenen Daten durchführen.
1. instance_type und engine_version lesen
In der kvstore-Ressource steht in instance_type entweder Redis oder Memcache; diese Umgebung enthält je eine Instanz, mit engine_version 7.0 und 4.0. Eine Memcache-Instanz ist keine Redis-Instanz; trennen Sie die beiden daher, bevor Sie irgendetwas anderes tun.
2. Die verwendeten Befehle auflisten
Die Begründung des Laufs für Redis verlangt die Bestätigung, dass keine Tair-spezifischen Befehle im Einsatz sind. Suchen Sie die Anwendung nach Modulbefehlen ab, bevor Sie sich auf ein Valkey-Ziel verlassen.
3. MongoDB-Version und Replikagröße aus der Quelle übernehmen
Die mongodb-Ressource trägt engine_version, db_instance_class, db_instance_storage und replication_factor. Sie sind die Eingaben für den MongoDB-Flex-Flavor, den Sie von Hand dimensionieren.
4. Leere Ziele anlegen
STACKIT verlangt für das Key-Value-Store-Ziel mindestens so viel RAM, Speicher und Knoten wie die Quelle. Legen Sie Zugangsdaten an, bevor Sie kopieren.
5. Redis-Schlüssel kopieren
STACKIT beschreibt einen Schlüssel-für-Schlüssel-Transfer mit dem Befehl MIGRATE, als grober Richtwert etwa 50 Sekunden pro GB, und eine Prüfung, die INFO KEYSPACE und eine sortierte Schlüsselliste beider Seiten vergleicht.
6. MongoDB per Dump und Restore übertragen
Laden Sie ein logisches Backup herunter oder führen Sie mongodump gegen die Quelle aus und spielen Sie es mit mongorestore in die Flex-Instanz ein. Proben Sie das zuerst und messen Sie die Dauer.
7. Anwendungen umschalten
Beide Ziele haben neue Endpunkte und neue Zugangsdaten. Das STACKIT-Tutorial verbindet sich mit dem Key Value Store per TLS (Option --tls, oder --cacert, wenn die SwissSign-CA nicht vertrauenswürdig ist). Prüfen Sie daher bei jedem Client Verbindungsschema und CA-Vertrauen.
8. Quelle behalten, bis die Prüfungen bestanden sind
Laut STACKIT-Tutorial muss das Quell-Backup aufbewahrt werden, bis die Konsistenz des Ziels bestätigt ist, und vor Abschluss der Prüfungen werden keine Daten ins Ziel geschrieben. Halten Sie es bei MongoDB genauso.
Was der Lauf zu jeder Ressource festhält
Aus dem Lauf, der die unten gezeigte Umgebung bewertet hat. Ziele und Klassen sind die des Laufs; die rechte Spalte beschreibt, was Ihr Team tut.
| Alibaba-Cloud-Ressource | Klasse und STACKIT-Ziel | Was Ihr Team tut |
|---|---|---|
| alicloud_kvstore_instance.sessions (Redis 7.0) | RECONFIGURE, MEDIUM: STACKIT Key Value Store (Valkey) | Schlüssel mit MIGRATE kopieren, Endpunkt und Zugangsdaten umstellen, TLS testen |
| alicloud_kvstore_instance.cache (Memcache 4.0) | RECONFIGURE, MEDIUM: STACKIT Key Value Store (Valkey), mit der Redis-Begründung | Von Hand entscheiden: Key Value Store ist Valkey, ein Redis-kompatibler Speicher, und kein Memcache-Dienst |
| alicloud_mongodb_instance.catalog (6.0, replication_factor 3) | REPLATFORM, MEDIUM: STACKIT MongoDB Flex | Flavor dimensionieren, Dump und Restore, Indizes nach dem Restore prüfen |
| alicloud_vpc und alicloud_vswitch | RECONFIGURE, MEDIUM: STACKIT-Netzwerk | Netzwerke zuerst anlegen; alle drei Datendienste folgen in Welle 3 |
Die Datei zum Datenumzug führt alle drei Datenbankeinheiten mit dem Mechanismus UNKNOWN. Ihn zu wählen gehört zur Planung und ist nicht Sache des Laufs.
Zwei Instanzen der Redis-Familie, bewertet
Eine kleine Alibaba-Cloud-Umgebung, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links: die Eingabe. Rechts: das Ergebnis, das StackToIT dazu festgehalten hat, ein Auszug aus assessment.json mit den Werten genau so, 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.
resource "alicloud_kvstore_instance" "sessions" {
db_instance_name = "shop-sessions"
instance_class = "redis.master.small.default"
instance_type = "Redis"
engine_version = "7.0"
vswitch_id = alicloud_vswitch.data.id
security_ips = ["10.80.0.0/16"]
}
resource "alicloud_kvstore_instance" "cache" {
db_instance_name = "shop-cache"
instance_class = "memcache.master.small.default"
instance_type = "Memcache"
engine_version = "4.0"
vswitch_id = alicloud_vswitch.data.id
}[
{
"id": "alicloud_kvstore_instance.sessions",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Key Value Store (Valkey)"
},
"reason": "An ApsaraDB for Redis instance becomes a Valkey instance. The application changes its endpoint and credentials; confirm that no Tair-specific commands are in use."
}
},
{
"id": "alicloud_kvstore_instance.cache",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Key Value Store (Valkey)"
},
"reason": "An ApsaraDB for Redis instance becomes a Valkey instance. The application changes its endpoint and credentials; confirm that no Tair-specific commands are in use."
}
}
]Gleiche Klasse, gleiche Begründung
Die Memcache-Instanz erhält dieselbe Klasse, dasselbe Ziel und dieselbe Redis-Begründung wie die Redis-Instanz. Lesen Sie das als Aufforderung zur Prüfung, nicht als Zusage, dass Memcache-Clients funktionieren.
Endpunkte und Zugangsdaten ändern sich
Laut Begründung ändert die Anwendung Endpunkt und Zugangsdaten. Planen Sie die Verteilung der neuen Zugangsdaten zusammen mit dem Kopieren der Daten.
Eviction vor DTS
Die DTS-Vorprüfung von Alibaba Cloud verlangt für das Ziel die Eviction-Policy noeviction. Prüfen Sie die Policy bei jedem Ziel, in das DTS schreibt.
Persistenz ist eine Zieleinstellung
STACKIT beschreibt Snapshots (RDB) und Append-only-Dateien (AOF) für den Key Value Store. Entscheiden Sie, ob Session-Daten sie brauchen.
Ein MongoDB-Replica-Set, bewertet
Aus demselben Lauf. Links: die Eingabe. Rechts: der Auszug der Bewertung, gefolgt von den Zeilen zum Datenumzug, die die drei Datenbankeinheiten führen. 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.
resource "alicloud_mongodb_instance" "catalog" {
name = "shop-catalog"
engine_version = "6.0"
db_instance_class = "mdb.shard.2x.large.d"
db_instance_storage = 100
replication_factor = 3
storage_engine = "WiredTiger"
vswitch_id = alicloud_vswitch.data.id
security_ip_list = ["10.80.0.0/16"]
}{
"id": "alicloud_mongodb_instance.catalog",
"result": {
"class": "REPLATFORM",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT MongoDB Flex"
},
"reason": "ApsaraDB for MongoDB becomes MongoDB Flex. Data moves with a dump and restore, and the instance class becomes a Flex flavor.",
"axes": {
"feasibility": "SUPPORTED",
"motion": "REPLATFORM",
"change_types": [
"CONFIG",
"DATA"
]
}
}
}| Unit | Source service | Target service | Application | Mechanism | State | Data class | RPO | Downtime tolerance |
|---|---|---|---|---|---|---|---|---|
| alicloud_kvstore_instance.cache | alicloud_kvstore_instance | STACKIT Key Value Store (Valkey) | | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| alicloud_kvstore_instance.sessions | alicloud_kvstore_instance | STACKIT Key Value Store (Valkey) | | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| alicloud_mongodb_instance.catalog | alicloud_mongodb_instance | STACKIT MongoDB Flex | | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |Dump und Restore, wie der Lauf es sagt
Die Begründung nennt Dump und Restore und einen Flex-Flavor anstelle von db_instance_class. Die Spalte „Mechanism“ bleibt UNKNOWN, bis eine Person wählt.
Funktionsprüfung auf der Quellseite
Der Backup-Download von Alibaba Cloud lässt die Systemdatenbanken admin, local und config, system.*-Collections, Views und Time-Series-Collections aus und steht nur für Replica Sets und Sharded Cluster auf Cloud Disks zur Verfügung (Local Disks bis MongoDB 4.2). Benutzer, Rollen und Views müssen im Ziel neu angelegt werden.
Nur unverschlüsselte Backups
Für Instanzen auf Cloud Disks nennt die Download-Seite unverschlüsselte Backup-Daten als Voraussetzung. Sind Ihre Backups verschlüsselt oder unterstützt der Instanztyp keinen Download, führen Sie stattdessen mongodump gegen die Quelle aus.
Restore braucht einen passenden Client
Die Restore-Anleitung von Alibaba Cloud verlangt eine MongoDB-Clientversion, die zur Quelle passt, und vor mongorestore einen Schritt zum Zusammenführen der BSON-Dateien.
Entscheidungen, die Ihre Architekten treffen
Memcache oder Valkey
Ist eine Instanz Memcache, wählen Sie zwischen der Umstellung des Clients auf ein Redis-kompatibles Protokoll und dem eigenen Betrieb eines Memcache-kompatiblen Dienstes.
Ausfallzeit beim Redis-Kopieren
Das STACKIT-Tutorial trennt zuerst die Clients von der Quelle, damit während des MIGRATE-Kopierens nichts geschrieben wird. Der DTS-Task von Alibaba Cloud, der nur eine Vollmigration ausführt, enthält dieselbe Warnung. Stimmen Sie den Schreibstopp mit den Anwendungsverantwortlichen ab.
MongoDB-Flavor und Speicherklasse
Der Lauf nennt MongoDB Flex, aber keinen Flavor. Gehen Sie von den Quellwerten aus, db_instance_class mdb.shard.2x.large.d, 100 GB Speicher und drei Replikate, und dimensionieren Sie den Flex-Flavor nach gemessener Last, nicht nach dem Klassennamen.
Backup-Plan im Ziel
MongoDB Flex bietet geplante Backups alle 6, 8, 12 oder 24 Stunden und ein 30-Stunden-Fenster für Point-in-Time-Recovery. Legen Sie die Aufbewahrung vor dem Cutover fest.
Wer für die Secrets verantwortlich ist
Neue Zugangsdaten beider Dienste gehören in Ihr Secrets-Konzept und nicht in eine Pipeline-Variable.
Rückweg
Halten Sie die Alibaba-Cloud-Instanzen schreibgeschützt und unangetastet, bis die Anwendung den vereinbarten Zeitraum auf STACKIT gelaufen ist.
Redis und MongoDB: häufige Fragen
Ist STACKIT Key Value Store dasselbe wie Redis?
STACKIT beschreibt den Key Value Store als verwaltete Instanzen des Open-Source-Speichers Valkey, der das frühere Redis-Angebot ersetzt und mit bestehenden Redis-Setups kompatibel ist. Testen Sie Ihre Client-Bibliothek und jeden Modulbefehl.
Kann die Memcache-Instanz nach Valkey wandern?
Der Lauf stuft sie wie eine Redis-Instanz ein, doch Valkey ist kein Memcache-Dienst. Behandeln Sie den Memcache-Cache als Client- oder Designänderung und entscheiden Sie selbst.
Wie übertrage ich ein MongoDB-Replica-Set nach MongoDB Flex?
Ziehen Sie ein logisches Backup aus ApsaraDB for MongoDB oder führen Sie mongodump aus und spielen Sie es mit mongorestore in die Flex-Instanz ein. Die von uns gelesene STACKIT-Backup-Seite beschreibt den Import externer Dumps nicht; proben Sie daher das Laden und prüfen Sie Anzahl und Indizes.
Schreibt StackToIT das STACKIT-Terraform für diese Dienste?
Nicht für eine Alibaba-Cloud-Quelle. Es schreibt die Bewertung, die Planungsdateien und ein Entwurfsgerüst und führt jede Datenbank für Ihre Architekten auf.
Quellen
- Alibaba Cloud: Daten zwischen Tair-Instanzen (Redis OSS-kompatibel) mit DTS migrieren
- STACKIT: Key Value Store
- STACKIT: Redis-Daten in eine Key-Value-Store-Instanz migrieren
- Alibaba Cloud: Logisches Backup in eine selbst betriebene MongoDB-Datenbank zurückspielen
- Alibaba Cloud: Backup-Dateien von ApsaraDB for MongoDB herunterladen
- STACKIT: MongoDB Flex, Backup, Restore und Clone
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.