CLOUD SQL → POSTGRESQL FLEX / MARIADB

Cloud SQL zu STACKIT PostgreSQL Flex und MariaDB

Cloud SQL for PostgreSQL zieht in derselben Major-Version auf STACKIT PostgreSQL Flex um, Cloud SQL for MySQL auf STACKIT MariaDB. StackToIT wählt den Flavor aus dem Quell-Tier, übernimmt Speicher und autorisierte Netzwerke und macht den privaten Zugriff zu einer ausdrücklichen Entscheidung für Ihren Architekten.

Eine private, regionale PostgreSQL-Instanz, umgesetzt

Eine kleine Umgebung, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links die Eingabe, rechts die Ressourcenblöcke des STACKIT-Terraforms, das die Engine geschrieben hat; die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.

Beispieleingabemain.tf
resource "google_sql_database_instance" "orders" {
  name             = "orders-pg"
  region           = "europe-west3"
  database_version = "POSTGRES_16"
  depends_on       = [google_service_networking_connection.sql]

  settings {
    tier              = "db-custom-4-16384"
    availability_type = "REGIONAL"
    disk_size         = 200
    disk_type         = "PD_SSD"

    ip_configuration {
      ipv4_enabled    = false
      private_network = google_compute_network.data.id
    }

    backup_configuration {
      enabled                        = true
      start_time                     = "01:00"
      point_in_time_recovery_enabled = true
    }
  }
}

resource "google_sql_database" "orders" {
  name     = "orders"
  instance = google_sql_database_instance.orders.name
}
STACKIT-Terraform von StackToITterraform/data.tf
resource "stackit_postgresflex_instance" "orders" {
  project_id = var.project_id
  name       = "orders-pg"
  version    = "16"
  flavor_id  = "4.32-replica"
  storage = {
    class = var.postgresflex_storage_class
    size  = 200
  }
  backup_schedule = "0 2 * * *"
  network = {
    acl = var.orders_allowed_cidrs
  }
  retention_days = 32
}

resource "stackit_postgresflex_database" "orders_orders" {
  project_id  = var.project_id
  instance_id = stackit_postgresflex_instance.orders.instance_id
  name        = "orders"
  owner       = var.orders_orders_owner
}
  • Flavor aus dem Tier, Hochverfügbarkeit erhalten

    db-custom-4-16384 hat 4 vCPU und 16 GiB, und die Instanz ist REGIONAL. Der Code wählt 4.32-replica, den kleinsten Replica-Flavor von PostgreSQL Flex in eu01, der das abdeckt: drei Nodes, die sich gegenseitig spiegeln.

  • Dieselbe Major-Version, derselbe Speicher

    PostgreSQL 16 bleibt 16, eine der Versionen 14 bis 18, die PostgreSQL Flex anbietet. Die 200-GB-Platte wird als Speichergröße übernommen; die Performance-Klasse legen Sie fest.

  • Backups und Point-in-Time-Recovery

    Die Aufbewahrung wird 32 Tage, das untere Ende der 32 bis 90 Tage, die PostgreSQL Flex vorhält. Point-in-Time-Recovery stellt in eine neue, geklonte Instanz wieder her; der Code empfiehlt daher, das Recovery-Runbook anzupassen.

  • Die Datenbank zieht mit

    Die Datenbank orders wird eine PostgreSQL-Flex-Datenbank in der neuen Instanz. Cloud SQL nennt keinen Eigentümer; der Code fragt daher nach dem besitzenden Benutzer.

Eine MySQL-Instanz, auf MariaDB umgesetzt

Aus demselben Lauf. Links die Eingabe, rechts die Ressourcenblöcke, die StackToIT geschrieben hat; die Prüfkommentare über jedem Block in der Datei sind hier ausgelassen.

Beispieleingabemain.tf
resource "google_sql_database_instance" "catalog" {
  name             = "catalog-mysql"
  region           = "europe-west3"
  database_version = "MYSQL_8_0"

  settings {
    tier      = "db-custom-2-8192"
    disk_size = 50

    ip_configuration {
      ipv4_enabled = true

      authorized_networks {
        name  = "office"
        value = "203.0.113.0/24"
      }
    }

    backup_configuration {
      enabled            = true
      binary_log_enabled = true
      start_time         = "02:00"
    }
  }
}
STACKIT-Terraform von StackToITterraform/data.tf
resource "stackit_mariadb_instance" "catalog" {
  project_id = var.project_id
  name       = "catalog-mysql"
  version    = var.catalog_version
  plan_name  = var.catalog_plan_name
  parameters = {
    sgw_acl = join(",", var.catalog_allowed_cidrs)
  }
}
  • MariaDB als STACKIT-Ziel

    STACKIT bietet MariaDB statt MySQL an. Die Daten ziehen per logischem Dump um, und der Code empfiehlt, MySQL-8-Funktionen vor dem Cutover gegen MariaDB zu testen.

  • Autorisierte Netzwerke werden die Zugriffsliste

    Der Bürobereich 203.0.113.0/24 wird der Standardwert der Variablen für die Zugriffsliste. Ergänzen Sie die Egress-Adressen der Clients, die auf STACKIT laufen, sonst können sie sich nicht verbinden.

  • Plan und Version mit dem Katalog gewählt

    Die Plan-Variable führt die Single-Node- und Replica-Pläne für MariaDB aus dem eu01-Katalog neben dem Quell-Tier db-custom-2-8192 auf; Sie wählen Plan und Version also an einer Stelle.

Privater Zugriff ist eine Entscheidung

Die PostgreSQL-Instanz hat keine öffentliche IPv4-Adresse und wird über Private Services Access erreicht. Der Lauf macht daraus eine Entscheidung, statt zu raten.

  • Endpunkt und Zugriffsliste

    Eine PostgreSQL-Flex-Instanz hat einen eigenen Hostnamen und eine eigene IPv4-Adresse und wird über ihre Zugriffsliste eingeschränkt. Die Variable für die erlaubten CIDRs hat keinen Standardwert: Tragen Sie die STACKIT-Netzwerkpräfixe der Clients ein.

  • Endpunkt-Scope

    Für eine Cloud-SQL-Instanz mit ipv4_enabled = false ist der Scope des STACKIT-Endpunkts eine Entscheidung für Ihren Architekten. Bleibt er ungesetzt, macht die STACKIT-API den Endpunkt öffentlich; entscheiden Sie ihn daher für jede solche Datenbank, bevor etwas angewendet wird.

  • Network-Area-Scope

    PostgreSQL Flex lässt sich für Datenbanken, die eine private Adresse behalten müssen, auf eine STACKIT Network Area beschränken (eine Opt-in-Option für freigeschaltete Konten).

  • Kein Peering nachzubauen

    Die Private-Services-Access-Verbindung und ihr reservierter Bereich brauchen keine STACKIT-Ressource: Verwaltete Dienste werden über ihre eigenen Endpunkte erreicht.

So wird die Cloud-SQL-Umgebung zugeordnet

Google-Cloud-RessourceSTACKIT-ZielMigrationsklasse
Cloud SQL for PostgreSQL mit DatenbankPostgreSQL-Flex-Instanz und -DatenbankReplatforming
Cloud SQL for MySQLSTACKIT MariaDBReplatforming
VPC-NetzwerkSTACKIT-Projektnetzwerk oder Network AreaRekonfigurieren
Reservierter Bereich für Private Services AccessNicht nötig: Verwaltete Dienste haben eigene EndpunkteRekonfigurieren
Private-Services-Access-VerbindungNicht nötig: Endpunkte über Zugriffslisten eingeschränktRekonfigurieren

Klassen so, wie der Lauf sie entschieden hat. Backup-Startzeiten benennt der Code: Der Entwurf setzt ein tägliches Backup um 02:00 Uhr, und Sie legen die gewünschte Zeit fest.

Bewiesen an einer echten AWS-Umgebung

Die AWS Retail Store Sample App, ein öffentliches Terraform-Projekt von AWS, von StackToIT bewertet und vollständig veröffentlicht, genau so, wie der Lauf es geschrieben hat.

Fallstudie ansehen (Englisch)
282
Terraform-Ressourcendefinitionen analysiert
44
Migrationseinheiten identifiziert
38
Zieleinheiten erzeugt, von 52 betrachteten
331
Planschritte erstellt

Fragen aus Datenbankteams

Bietet STACKIT MySQL an?

STACKIT bietet MariaDB an. StackToIT ordnet Cloud SQL for MySQL als REPLATFORM STACKIT MariaDB zu und empfiehlt, MySQL-8-Funktionen vor dem Cutover zu testen.

Wie übertragen wir die Daten?

PostgreSQL zieht mit pg_dump und pg_restore oder per logischer Replikation um. MySQL-Daten kommen per logischem Dump zu MariaDB.

Was passiert mit einer regionalen, hochverfügbaren Instanz?

StackToIT wählt einen Replica-Flavor von PostgreSQL Flex (drei Nodes, die sich gegenseitig spiegeln), so bemessen, dass er nicht kleiner ist als das Quell-Tier.

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.