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. 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. 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. 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. 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. 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. 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. 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. 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-RessourceKlasse und STACKIT-ZielWas 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ündungVon 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 FlexFlavor dimensionieren, Dump und Restore, Indizes nach dem Restore prüfen
alicloud_vpc und alicloud_vswitchRECONFIGURE, MEDIUM: STACKIT-NetzwerkNetzwerke 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.

Beispieleingabemain.tf
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
}
StackToIT-Bewertungassessment.json
[
  {
    "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.

Beispieleingabemain.tf
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"]
}
StackToIT-Bewertungassessment.json
{
  "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"
      ]
    }
  }
}
Datenumzugmigration/data-movement.md
| 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

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.