ALIBABA CLOUD → STACKIT · GIDS

ApsaraDB Redis- en MongoDB-migratie naar STACKIT

Een ApsaraDB for Redis-instance wordt een STACKIT Key Value Store-instance (Valkey), ingedeeld als RECONFIGURE: de applicatie wijzigt het endpoint en de inloggegevens en de data wordt sleutel voor sleutel gekopieerd. ApsaraDB for MongoDB wordt MongoDB Flex, ingedeeld als REPLATFORM: de data wordt verplaatst met een dump en restore. De Memcache-variant van de cachedienst van Alibaba Cloud is de uitzondering en vereist een eigen beslissing.

De migratie op volgorde

Acht stappen voor een omgeving met een cache, een sessiestore en een documentdatabase. Stap 1 tot en met 3 komen uit het assessment, de overige stappen zijn oefeningen die u uitvoert op uw eigen data.

  1. 1. instance_type en engine_version lezen

    In de kvstore-resource geeft instance_type aan of het Redis of Memcache is; deze omgeving heeft van elk één, met engine_version 7.0 en 4.0. Een Memcache-instance is geen Redis-instance, dus sorteer ze vóór al het andere.

  2. 2. De commando's opsommen die uw code gebruikt

    In de reden bij Redis vraagt de run te bevestigen dat er geen Tair-specifieke commando's in gebruik zijn. Zoek in de applicatie naar modulecommando's voordat u op een Valkey-doel vertrouwt.

  3. 3. De MongoDB-versie en replicagrootte uit de bron overnemen

    De mongodb-resource bevat engine_version, db_instance_class, db_instance_storage en replication_factor. Dat is de invoer voor de MongoDB Flex-flavor die u zelf dimensioneert.

  4. 4. De lege doelen aanmaken

    STACKIT vereist een Key Value Store-doel met evenveel of meer RAM, opslag en nodes dan de bron. Maak inloggegevens aan vóór elke kopie.

  5. 5. De Redis-sleutels kopiëren

    STACKIT documenteert een kopie sleutel voor sleutel met het commando MIGRATE, als richtlijn ongeveer 50 seconden per GB, en een controle die INFO KEYSPACE en een gesorteerde sleutellijst aan beide kanten vergelijkt.

  6. 6. MongoDB dumpen en terugzetten

    Download een logische back-up of voer mongodump uit op de bron en zet daarna met mongorestore terug in de Flex-instance. Oefen het eerst en meet de duur.

  7. 7. De applicaties omschakelen

    Beide doelen hebben nieuwe endpoints en nieuwe inloggegevens. De tutorial van STACKIT verbindt met Key Value Store via TLS (de vlag --tls, of --cacert waar de SwissSign CA niet wordt vertrouwd), dus controleer het verbindingsschema en het CA-vertrouwen van elke client.

  8. 8. De bron behouden totdat de controles slagen

    De tutorial van STACKIT zegt dat de back-up van de bron bewaard moet blijven totdat de consistentie van het doel is bevestigd, en dat er geen data naar het doel gaat voordat de controles klaar zijn. Pas dezelfde regel toe op MongoDB.

Wat de run per resource vastlegt

Uit de run op de omgeving hieronder. Doelen en klassen komen van de run; de rechterkolom is wat uw team doet.

Alibaba Cloud-resourceKlasse en STACKIT-doelWat uw team doet
alicloud_kvstore_instance.sessions (Redis 7.0)RECONFIGURE, MEDIUM: STACKIT Key Value Store (Valkey)Sleutels kopiëren met MIGRATE, endpoint en inloggegevens omschakelen, TLS testen
alicloud_kvstore_instance.cache (Memcache 4.0)RECONFIGURE, MEDIUM: STACKIT Key Value Store (Valkey), met de reden van RedisZelf beslissen: Key Value Store is Valkey, een met Redis compatibele opslag, en geen Memcache-dienst
alicloud_mongodb_instance.catalog (6.0, replication_factor 3)REPLATFORM, MEDIUM: STACKIT MongoDB FlexEen flavor dimensioneren, dump en restore, na het terugzetten de indexen controleren
alicloud_vpc en alicloud_vswitchRECONFIGURE, MEDIUM: STACKIT networkMaak eerst de netwerken aan; alle drie de datadiensten volgen in golf 3

Het bestand voor dataverplaatsing toont alle drie de database-eenheden met het mechanisme UNKNOWN. Het kiezen ervan hoort bij het plan; de run doet dat niet.

Twee instances uit de Redis-familie, beoordeeld

Een kleine Alibaba Cloud-omgeving, voor deze pagina geschreven en op 4 november 2026 door StackToIT beoordeeld. Links: de invoer. Rechts: het resultaat dat StackToIT ervoor vastlegde, een fragment van assessment.json met de waarden precies zoals de run ze schreef. assessment.json staat op één regel, dus het paneel toont geselecteerde velden per eenheid, ingesprongen en genest zoals in het bestand, met ongewijzigde waarden.

Voorbeeldinvoermain.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-assessmentassessment.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."
    }
  }
]
  • Dezelfde klasse, dezelfde reden

    De Memcache-instance krijgt dezelfde klasse, hetzelfde doel en dezelfde Redis-reden als de Redis-instance. Lees het als een herinnering om te controleren, niet als een uitspraak dat Memcache-clients zullen werken.

  • Endpoints en inloggegevens veranderen

    De reden zegt dat de applicatie het endpoint en de inloggegevens wijzigt. Plan de uitrol van secrets samen met de datakopie.

  • Eviction vóór DTS

    De precheck van DTS bij Alibaba Cloud vereist op de bestemming het eviction-beleid noeviction. Controleer het beleid op elk doel waarnaar DTS schrijft.

  • Persistentie is een instelling van het doel

    STACKIT beschrijft snapshots (RDB) en append-only-bestanden (AOF) voor Key Value Store. Bepaal of sessiedata ze nodig heeft.

Een MongoDB-replicaset, beoordeeld

Uit dezelfde run. Links: de invoer. Rechts: het fragment van het assessment, gevolgd door de rijen voor dataverplaatsing die de drie database-eenheden tonen. assessment.json staat op één regel, dus het paneel toont geselecteerde velden per eenheid, ingesprongen en genest zoals in het bestand, met ongewijzigde waarden.

Voorbeeldinvoermain.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-assessmentassessment.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"
      ]
    }
  }
}
Dataverplaatsingmigration/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 en restore, zoals de run aangeeft

    De reden noemt een dump en restore en een Flex-flavor in plaats van db_instance_class. De kolom met het mechanisme blijft UNKNOWN totdat een persoon kiest.

  • Functiecontrole aan de bronkant

    De back-updownload van Alibaba Cloud laat de systeemdatabases admin, local en config, system.*-collecties, views en time-series-collecties weg en werkt alleen voor replicasets en sharded clusters op cloud-disks (lokale disks tot MongoDB 4.2). Gebruikers, rollen en views moeten op het doel opnieuw worden aangemaakt.

  • Alleen onversleutelde back-ups

    Voor instances op cloud-disks noemt de downloadpagina onversleutelde back-updata als voorwaarde. Zijn uw back-ups versleuteld, of kan het instancetype geen back-ups downloaden, voer dan mongodump uit op de bron.

  • Terugzetten vereist een passende client

    De restore-handleiding van Alibaba Cloud vereist een MongoDB-clientversie die overeenkomt met de bron en een samenvoegstap voor BSON-bestanden vóór mongorestore.

Beslissingen van de architect

  • Memcache of Valkey

    Als een instance Memcache is, kiest u tussen de client aanpassen aan een Redis-compatibel protocol of zelf een Memcache-compatibele dienst beheren.

  • Downtime voor de Redis-kopie

    De tutorial van STACKIT isoleert eerst de bron, zodat geen client schrijft tijdens de MIGRATE-kopie. De DTS-taak van Alibaba Cloud met alleen volledige migratie geeft dezelfde waarschuwing. Spreek de schrijfstop af met de applicatie-eigenaren.

  • MongoDB-flavor en opslagklasse

    De run noemt MongoDB Flex maar geen flavor. Begin bij de bronwaarden, db_instance_class mdb.shard.2x.large.d, 100 GB opslag en drie replica's, en dimensioneer de Flex-flavor op basis van gemeten belasting, niet op basis van de klassenaam.

  • Back-upschema op het doel

    MongoDB Flex biedt geplande back-ups om de 6, 8, 12 of 24 uur en een point-in-time-venster van 30 uur. Kies de bewaartermijn vóór de cutover.

  • Wie de secrets beheert

    Nieuwe inloggegevens voor beide diensten horen in uw secretsontwerp, niet in een pipelinevariabele.

  • Rollback

    Houd de Alibaba Cloud-instances alleen-lezen en onaangeroerd totdat de applicatie de afgesproken periode op STACKIT heeft gedraaid.

Redis en MongoDB: veelgestelde vragen

Is STACKIT Key Value Store hetzelfde als Redis?

STACKIT beschrijft Key Value Store als managed instances van de opensource key-value store Valkey, die het eerdere Redis-aanbod vervangt, en als compatibel met bestaande Redis-opstellingen. Test uw clientbibliotheek en elk modulecommando.

Kan de Memcache-instance naar Valkey?

De run deelt die in zoals een Redis-instance, maar Valkey is geen Memcache-dienst. Behandel de Memcache-cache als een wijziging van client of ontwerp en beslis dat zelf.

Hoe verplaats ik een MongoDB-replicaset naar MongoDB Flex?

Maak een logische back-up uit ApsaraDB for MongoDB of voer mongodump uit en zet terug met mongorestore in de Flex-instance. De back-uppagina van STACKIT die wij lazen beschrijft het importeren van externe dumps niet, dus oefen het laden en controleer aantallen en indexen.

Schrijft StackToIT STACKIT-Terraform-code voor deze diensten?

Ja. Het schrijft een STACKIT-Terraform-concept dat uw architecten beoordelen, samen met het assessment en de planbestanden, en toont elke database.

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