Mengelola migrasi lanjutan

Migrasi lanjutan adalah solusi untuk memigrasikan data untuk database berukuran besar dengan periode nonaktif yang lebih singkat. Fitur ini hanya tersedia untuk AlloyDB Omni dan PostgreSQL.

Pengguna dengan peran Project DB Admin harus melakukan langkah-langkah berikut. Gunakan konsol GDC atau Distributed Cloud CLI untuk mengelola migrasi:

Konsol

  1. Dari menu utama, pilih Database Service.
  2. Klik Buat Migrasi.
  3. Dalam dialog Mulai, tinjau persyaratan untuk sumber dan konektivitas.
  4. Pada dialog Tentukan database sumber Anda, tentukan nama host atau alamat IP, nama pengguna, sandi, jenis enkripsi, dan sertifikat database sumber.
  5. Pada dialog Configure your cluster, tentukan ID Cluster, sandi, versi database, CPU, memori, dan kapasitas penyimpanan cluster database target. Pastikan Anda memilih memori yang cukup untuk menyimpan tabel terbesar Anda.
  6. Klik Buat. Pembuatan cluster database target dan migrasi dapat memerlukan waktu beberapa menit. Status berubah dari Reconciling menjadi Ready saat cluster siap. Status migrasi akan berubah menjadi Unsynced jika penyiapan migrasi berhasil. Gunakan opsi berikut untuk mengelola migrasi Anda:
    1. Mulai: Tombol ini akan memulai migrasi dan mengubah status migrasi menjadi Running.
    2. Hentikan: Tindakan ini akan menghentikan migrasi dan mengubah status migrasi menjadi Stopped.
    3. Promote: Opsi ini mempromosikan cluster database target ke database mandiri.
    4. Hapus: Menghapus migrasi dan cluster database target yang dibuat untuk migrasi ini.

Ubah sandi pengguna replikasi database sumber secara berkala dengan langkah-langkah berikut:

  1. Buka Database sumber, lalu klik edit Edit.
  2. Lakukan perubahan untuk mengganti sandi pengguna replikasi.
  3. Klik Simpan untuk menerapkan perubahan.

Setelah perubahan diterapkan, backend migrasi akan menggunakan sandi baru.

gdcloud

  1. Sebelum menggunakan Distributed Cloud CLI, instal dan lakukan inisialisasi. Kemudian, lakukan autentikasi dengan organisasi Anda.

  2. Buat migrasi:

    gdcloud database connection-profiles create DB_ENGINE_TYPE SOURCE_CONNECTION_PROFILE \
        --username REPLICATION_USERNAME \
        --password REPLICATION_PASSWORD \
        --ca-certificate CA_CERT_FILE_PATH
    
    gdcloud database migrations create MIGRATION_NAME \
        --source SOURCE_CONNECTION_PROFILE \
        --destination DESTINATION_DBCLUSTER
    
    gdcloud database clusters create DESTINATION_DBCLUSTER \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

    Ganti variabel berikut:

    • DB_ENGINE_TYPE, jenis mesin db untuk migrasi. Nilai yang didukung adalah: postgresql atau alloydbomni
    • SOURCE_CONNECTION_PROFILE, nama untuk profil koneksi baru.
    • REPLICATION_USERNAME, nama untuk pengguna replikasi database sumber.
    • REPLICATION_PASSWORD, sandi untuk pengguna replikasi database sumber.
    • CA_CERT_FILE_PATH, jalur untuk sertifikat CA database sumber.
    • MIGRATION_NAME, nama untuk migrasi baru.
    • DESTINATION_DBCLUSTER, nama untuk cluster database target.
    • DB_VERSION, string versi untuk cluster baru. Contoh, POSTGRESQL_13.
    • ADMIN_PASSWORD, sandi pengguna administrator untuk cluster baru.
  3. Mulai migrasi:

    gdcloud database migrations start MIGRATION_NAME
    
  4. Menghentikan migrasi:

    gdcloud database migrations stop MIGRATION_NAME
    
  5. Mempromosikan migrasi:

    gdcloud database migrations promote MIGRATION_NAME
    
  6. Mencantumkan profil koneksi yang ada:

    gdcloud database connection-profiles list DB_ENGINE_TYPE
    
  7. Mencantumkan migrasi yang ada:

    gdcloud database migrations list --destination DESTINATION_DBCLUSTER
    

API

Untuk database sumber AlloyDB atau PostgreSQL:

Buat secret untuk menyimpan sertifikat CA database sumber:

apiVersion: v1
data:
  ca.crt:  SOURCE_DB_CA_CERT
kind: Secret
metadata:
  annotations:
    propagation.gdch.gke.io/target-namespace:  USER_PROJECT
  name: es-crt-EXTERNAL_SERVER_NAME
  namespace: USER_PROJECT
type: Opaque

Buat secret untuk menyimpan sandi pengguna migrasi database sumber:

apiVersion: v1
data:
  password: SOURCE_DB_USER_PASSWORD
kind: Secret
metadata:
  annotations:
    propagation.gdch.gke.io/target-namespace: USER_PROJECT
  name: es-pw-EXTERNAL_SERVER_NAME
  namespace: USER_PROJECT
type: Opaque

Buat externalserver:

apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: ExternalServer
metadata:
  name: EXTERNAL_SERVER_NAME
  namespace: USER_PROJECT
spec:
  host: SOURCE_DB_HOST
  port: 5432
  username: SOURCE_DB_USERNAME
  password:
    name: es-pw-EXTERNAL_SERVER_NAME
    namespace: USER_PROJECT
  certRef:
    name: es-crt-EXTERNAL_SERVER_NAME
    namespace: USER_PROJECT

Buat migrasi:

apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: Migration
metadata:
  name: MIGRATION_NAME
  namespace: USER_PROJECT
spec:
  source:
    reference:
      apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
      kind: ExternalServer
      name: EXTERNAL_SERVER_NAME
  target:
    reference:
      apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
      kind: DBCluster
      name: DBCLUSTER_NAME
  control: MIGRATION_CONTROL

Ganti variabel berikut:

  • EXTERNAL_SERVER_NAME: nama externalserver yang merepresentasikan database sumber.
  • USER_PROJECT: nama project pengguna tempat externalserver dibuat.
  • DBENGINE_NAME: nama mesin database. Nilai ini adalah salah satu dari alloydbomni atau postgresql.
  • SOURCE_DB_CA_CERT: sertifikat CA database sumber.
  • SOURCE_DB_USER_PASSWORD: sandi pengguna migrasi database sumber.
  • SOURCE_DB_USERNAME: nama pengguna migrasi database sumber.
  • SOURCE_DB_HOST: alamat host migrasi database sumber.
  • MIGRATION_NAME: nama operasi migrasi.
  • DBCLUSTER_NAME: nama cluster database target migrasi.
  • MIGRATION_CONTROL: kontrol operasi migrasi. Harus berupa salah satu dari start atau stop saat migrasi dibuat. Nilainya harus promote untuk mempromosikan cluster database target migrasi.