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. 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. 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. 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. 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. 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. 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. 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. 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-resource | Klasse en STACKIT-doel | Wat 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 Redis | Zelf 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 Flex | Een flavor dimensioneren, dump en restore, na het terugzetten de indexen controleren |
| alicloud_vpc en alicloud_vswitch | RECONFIGURE, MEDIUM: STACKIT network | Maak 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.
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."
}
}
]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.
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 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
- Data migreren tussen Tair-instances (compatibel met Redis OSS) met DTS (Alibaba Cloud Docs)
- Key Value Store (STACKIT Docs)
- Redis-data migreren naar een Key Value Store-instance (STACKIT Docs)
- Een logische back-up terugzetten naar een zelfbeheerde MongoDB-database (Alibaba Cloud Docs)
- Back-upbestanden van ApsaraDB for MongoDB downloaden (Alibaba Cloud Docs)
- Back-up, restore en clone van MongoDB Flex (STACKIT Docs)
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
Hartelijk dank.
Uw verzoek is bij ons binnengekomen. Onze specialisten nemen contact met u op.