HUAWEI CLOUD RDS → STACKIT · GIDS

Huawei Cloud RDS naar STACKIT managed databases

Een Huawei Cloud RDS-instance verhuist niet op één vaste manier: het db.type bepaalt het doel. PostgreSQL gaat naar PostgreSQL Flex, MariaDB naar MariaDB, SQL Server naar SQLServer Flex en MySQL ook naar MariaDB, omdat STACKIT MariaDB aanbiedt en geen MySQL. In de voorbeeldrun worden vier RDS-instances vier REPLATFORM-eenheden met zekerheidsniveau MEDIUM, alle in golf 3 achter de netwerkeenheden. De run noemt voor elk het doel en een dump- of restoreroute; het datamechanisme, de downtime en de rollback blijven bij uw databaseteam.

De databasemigratie in acht stappen

  1. 1. Elke instance inventariseren

    Terraform toont engine, versie, flavor, high-availabilitymodus, volume en back-upvenster. Het toont niet welke functies uw applicaties gebruiken, hoe groot de data is of wie er verbinding mee maakt. Verzamel die gegevens naast de bestanden voordat u het assessment uitvoert.

  2. 2. Beoordelen en eerst het databestand lezen

    Voer stacktoit assess uit op de rootmodule. Open assessment.json voor klasse, doel en reden en daarna migration/data-movement.md: elke RDS-instance staat daar als stateful eenheid met de status DECISION_REQUIRED en het mechanisme UNKNOWN.

  3. 3. Het doel per engine vaststellen

    Gebruik de tabel hieronder. MySQL vraagt extra aandacht: de run geeft aan dat STACKIT MariaDB aanbiedt en geen MySQL, dus MySQL-specifieke functies moeten vóór de cutover worden getest.

  4. 4. Het netwerk bouwen waarvan de databases afhangen

    De VPC en de security group zijn golf 1, het subnet golf 2 en alle vier de databases golf 3. Maak eerst de STACKIT-netwerken en de regels voor de databasepoorten aan. Regels van STACKIT security groups staan alleen verkeer toe.

  5. 5. De doelinstances aanmaken en dimensioneren

    Een Huawei-flavor wordt een Flex-flavor of een STACKIT-plan, dus u kiest zelf de doelgrootte. Voor PostgreSQL Flex geeft de architectuurpagina aan dat opslaggrootte en prestatieklasse apart worden gekozen en dat de prestatieklasse na het aanmaken niet meer kan worden gewijzigd. Kies die dus weloverwogen. Schakel op productie-instances ook instance protection in, zoals het overzicht van PostgreSQL Flex aanbeveelt; API v3 heeft die functie toegevoegd (algemeen beschikbaar sinds 1 augustus 2026).

  6. 6. De dataverplaatsing oefenen

    Kopieer een echte dataset, meet de tijd en vergelijk aantallen rijen of checksums. Voor PostgreSQL noemt de run pg_dump en pg_restore of logische replicatie, voor MariaDB en MySQL een logische dump, voor SQL Server een back-up en restore. Dit zijn de routes die de run noemt; u beslist en meet.

  7. 7. Overschakelen met een weg terug

    Start de schrijfstop, voer de laatste kopie uit, schakel de connection strings om en laat de Huawei-instance bestaan tot uw controles slagen. Na de omschakeling bestaan nieuwe schrijfacties alleen op STACKIT, dus beslis vooraf of een weg terug een omgekeerde kopie vergt of dat u verlies accepteert. Het plan laat dit over aan degene die de stap uitvoert.

  8. 8. De bron uitfaseren

    Verwijder de RDS-instance en de back-ups pas nadat de bewaartermijn die u nodig heeft is verstreken. Laat de MariaDB 10.5-instance uit het voorbeeld direct op 10.11 of nieuwer landen: per november 2026 heeft STACKIT MariaDB 10.6 als deprecated aangemerkt, is de ontmanteling gepland op 1 juli 2027 en verzoekt STACKIT klanten oude instances na de upgrade te verwijderen, omdat die kosten blijven opleveren.

PostgreSQL en MySQL op RDS, beoordeeld

Een kleine Huawei Cloud-omgeving, voor deze pagina geschreven en op 4 november 2026 door StackToIT beoordeeld: één netwerk, één security group en vier RDS-instances. Links twee RDS-blokken van de invoer, rechts het resultaat dat de run ervoor heeft vastgelegd: een fragment van assessment.json met de waarden zoals de run ze schreef. De flavorcodes in de invoer zijn illustratief.

Voorbeeldinvoermain.tf
resource "huaweicloud_rds_instance" "orders" {
  name                = "ledger-orders"
  flavor              = "rds.pg.n1.large.2.ha"
  ha_replication_mode = "async"
  vpc_id              = huaweicloud_vpc.main.id
  subnet_id           = huaweicloud_vpc_subnet.app.id
  security_group_id   = huaweicloud_networking_secgroup.app.id
  availability_zone   = ["eu-west-101a", "eu-west-101b"]

  db {
    type     = "PostgreSQL"
    version  = "16"
    password = var.db_password
  }

  volume {
    type = "ULTRAHIGH"
    size = 200
  }

  backup_strategy {
    start_time = "02:00-03:00"
    keep_days  = 14
  }
}

resource "huaweicloud_rds_instance" "crm" {
  name              = "ledger-crm"
  flavor            = "rds.mysql.n1.large.2"
  vpc_id            = huaweicloud_vpc.main.id
  subnet_id         = huaweicloud_vpc_subnet.app.id
  security_group_id = huaweicloud_networking_secgroup.app.id
  availability_zone = ["eu-west-101a"]

  db {
    type     = "MySQL"
    version  = "8.0"
    password = var.db_password
  }

  volume {
    type = "ULTRAHIGH"
    size = 100
  }
}
StackToIT-assessmentassessment.json
[
  {
    "id": "huaweicloud_rds_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 flavor becomes a Flex flavor."
    }
  },
  {
    "id": "huaweicloud_rds_instance.crm",
    "result": {
      "class": "REPLATFORM",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT MariaDB"
      },
      "reason": "STACKIT offers MariaDB, not MySQL; test MySQL-specific features before cut-over, and move the data with a logical dump."
    }
  }
]
  • High availability bouwt u zelf opnieuw op

    De instance orders draait als primary en standby in twee zones. De run noemt de zones en de back-upinstellingen onder de instellingen die aan u zijn overgelaten, 14 voor deze instance. Op STACKIT heeft een replica set drie nodes, dus de topologie is een ontwerpbeslissing en geen kopie.

  • MySQL is de uitzondering

    De instance crm is MySQL 8.0 en landt op MariaDB. De reden zegt het ronduit: test MySQL-specifieke functies vóór de cutover en verplaats de data met een logische dump.

  • Wachtwoorden blijven erbuiten

    db.password wordt gelezen uit een gevoelige variabele die in de run geen waarde heeft. De run meldt dit als ontbrekende invoer, vraagt er nergens om en heeft het geheim nooit nodig om de instance te classificeren.

MariaDB en SQL Server op RDS, beoordeeld

De andere twee instances uit dezelfde run, in dezelfde opzet.

Voorbeeldinvoermain.tf
resource "huaweicloud_rds_instance" "legacy" {
  name              = "ledger-legacy"
  flavor            = "rds.mariadb.n1.large.2"
  vpc_id            = huaweicloud_vpc.main.id
  subnet_id         = huaweicloud_vpc_subnet.app.id
  security_group_id = huaweicloud_networking_secgroup.app.id
  availability_zone = ["eu-west-101a"]

  db {
    type     = "MariaDB"
    version  = "10.5"
    password = var.db_password
  }

  volume {
    type = "ULTRAHIGH"
    size = 50
  }
}

resource "huaweicloud_rds_instance" "reporting" {
  name              = "ledger-reporting"
  flavor            = "rds.mssql.2019.se.x1.large.2"
  vpc_id            = huaweicloud_vpc.main.id
  subnet_id         = huaweicloud_vpc_subnet.app.id
  security_group_id = huaweicloud_networking_secgroup.app.id
  availability_zone = ["eu-west-101a"]

  db {
    type     = "SQLServer"
    version  = "2019_SE"
    password = var.db_password
  }

  volume {
    type = "ULTRAHIGH"
    size = 100
  }
}
StackToIT-assessmentassessment.json
[
  {
    "id": "huaweicloud_rds_instance.legacy",
    "result": {
      "class": "REPLATFORM",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT MariaDB"
      },
      "reason": "Managed MariaDB to STACKIT MariaDB: data moves with a logical dump, and the flavor becomes a STACKIT plan."
    }
  },
  {
    "id": "huaweicloud_rds_instance.reporting",
    "result": {
      "class": "REPLATFORM",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT SQLServer Flex"
      },
      "reason": "Managed SQL Server to SQLServer Flex: check the edition and features in use, and move the data with a backup and restore."
    }
  }
]
  • MariaDB 10.5 landt op een nieuwere versie

    Per november 2026 markeert de MariaDB-pagina van STACKIT 10.6 als deprecated, plant de ontmanteling op 1 juli 2027 en adviseert 10.11 of nieuwer, dus een bron op 10.5 gaat samen met een versie-upgrade over. Test de applicatie tegen de doelversie.

  • SQL Server vraagt om een functiecontrole

    De run vraagt u de editie en de gebruikte functies te controleren. De STACKIT-pagina noemt replicatie, linked servers, Database Mail, Transparent Data Encryption en FILESTREAM als niet ondersteund, en restore alleen naar een nieuwe database.

Zo wordt elke RDS-engine gekoppeld

RDS-engine (db.type)STACKIT-doelWat u vaststelt
PostgreSQLPostgreSQL Flex · REPLATFORMFlex-flavor, losse instance of replica set met drie nodes, opslagklasse, extensies. Data met pg_dump en pg_restore of logische replicatie.
MySQLMariaDB · REPLATFORMDe run merkt op dat STACKIT MariaDB aanbiedt en geen MySQL. Test MySQL-specifieke functies en verplaats daarna met een logische dump.
MariaDBMariaDB · REPLATFORMDoelversie 10.11 of nieuwer, STACKIT-plan in plaats van flavor, logische dump.
SQL ServerSQLServer Flex · REPLATFORMEditie en gebruikte functies, niet-ondersteunde functies, back-up en restore naar een nieuwe database.

Doelen en klassen zoals de run ze voor de vier instances heeft bepaald; de rechterkolom combineert de redenen van de run met de STACKIT-documentatie die voor deze pagina is gelezen. De Huawei Cloud-provider documenteert vier waarden voor db.type: MySQL, PostgreSQL, SQLServer en MariaDB.

Vier stateful eenheden, geen mechanisme gekozen

Links de stateful tabel van migration/data-movement.md, rechts golf 3 van migration/technical-sequencing.md. Beide zijn regels zoals de run ze schreef.

Dataverplaatsingmigration/data-movement.md
## Stateful source units

| Unit | Source service | Target service | Application | Mechanism | State | Data class | RPO | Downtime tolerance |
|---|---|---|---|---|---|---|---|---|
| huaweicloud_rds_instance.crm | huaweicloud_rds_instance | STACKIT MariaDB |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| huaweicloud_rds_instance.legacy | huaweicloud_rds_instance | STACKIT MariaDB |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| huaweicloud_rds_instance.orders | huaweicloud_rds_instance | STACKIT PostgreSQL Flex |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| huaweicloud_rds_instance.reporting | huaweicloud_rds_instance | STACKIT SQLServer Flex |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
Golf 3migration/technical-sequencing.md
## Wave 3 — 4 unit(s)

| Unit | Class | Target |
|---|---|---|
| `huaweicloud_rds_instance.crm` | REPLATFORM / MEDIUM | STACKIT MariaDB |
| `huaweicloud_rds_instance.legacy` | REPLATFORM / MEDIUM | STACKIT MariaDB |
| `huaweicloud_rds_instance.orders` | REPLATFORM / MEDIUM | STACKIT PostgreSQL Flex |
| `huaweicloud_rds_instance.reporting` | REPLATFORM / MEDIUM | STACKIT SQLServer Flex |
  • Er wordt niets voor u verplaatst

    StackToIT verplaatst nooit data. Het mechanisme blijft UNKNOWN totdat een persoon kiest op basis van de omvang van de data, de toegestane downtime en de consistentie die de applicatie nodig heeft.

  • NOT_PROVIDED is een uitnodiging

    Dataklasse, RPO en toegestane downtime geeft de klant op in een applicatiebestand. Tot die tijd gaat de run nergens van uit.

Beslissingen die bij uw databaseteam blijven

  • Topologie

    Eén instance of een replica set met drie nodes per database, en in welke zones. De standby-opzet van de bron is een invoer en geen sjabloon.

  • Versie

    De doelversie per engine, gecontroleerd tegen wat de applicatie ondersteunt.

  • Back-ups en herstel

    De PostgreSQL-instance uit het voorbeeld bewaart 14 dagen aan back-ups. De pagina van STACKIT PostgreSQL Flex beschrijft transactielogs die standaard aan staan en point-in-time recovery; bepaal de bewaartermijn en de herstelproef zelf.

  • Functiehiaten

    MySQL-functies zonder MariaDB-equivalent, SQL Server-functies die de STACKIT-pagina als niet ondersteund noemt en PostgreSQL-extensies waarop u rekent.

  • Cutover en rollback

    Het venster, de omschakeling van de connection string en de weg terug, per database opgeschreven vóór de eerste oefenronde.

  • Eigenaarschap

    De run wijst de vier stappen als uitgangspunt toe aan de rol Data Architect. Vervang die door echte personen.

Vragen van databaseteams

Waar gaat een Huawei Cloud RDS MySQL-instance naartoe op STACKIT?

De run koppelt die aan STACKIT MariaDB als REPLATFORM-eenheid, met als reden dat STACKIT MariaDB aanbiedt en geen MySQL. Test MySQL-specifieke functies vóór de cutover en verplaats de data met een logische dump. De MariaDB-pagina presenteert MySQL-compatibiliteit als functie, wat de test goedkoop maakt maar niet vervangt.

Kopieert StackToIT de data?

Nee. StackToIT toont elke database als stateful eenheid, laat het mechanisme als UNKNOWN en de status als DECISION_REQUIRED zien en noemt routes als pg_dump en pg_restore. U kiest, oefent en meet.

Heeft de run de databasewachtwoorden nodig?

Nee. De run slaagt zonder: de niet ingestelde gevoelige variabele db_password wordt gemeld als ontbrekende invoer, de bron wordt gemarkeerd als VARIABLE_UNRESOLVED en de antwoordtemplate noemt die als verzoek dat het concept blokkeert. De template neemt de waarde zelf nooit op; die komt uit een variabelenbestand of TF_VAR_db_password, alleen als u het wachtwoord in de run wilt hebben.

Wordt er een STACKIT-Terraform-concept voor de databases geschreven?

Ja. StackToIT schrijft een STACKIT-Terraform-concept dat uw architecten beoordelen en noemt de vier instances met hun kritieke instellingen: 14 voor de PostgreSQL-instance en 11 voor elk van de andere.

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