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
- Dari menu utama, pilih Database Service.
- Klik Buat Migrasi.
- Dalam dialog Mulai, tinjau persyaratan untuk sumber dan konektivitas.
- Pada dialog Tentukan database sumber Anda, tentukan nama host atau alamat IP, nama pengguna, sandi, jenis enkripsi, dan sertifikat database sumber.
- 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.
- Klik Buat. Pembuatan cluster database target dan migrasi dapat memerlukan waktu beberapa menit.
Status berubah dari
Reconciling
menjadiReady
saat cluster siap. Status migrasi akan berubah menjadiUnsynced
jika penyiapan migrasi berhasil. Gunakan opsi berikut untuk mengelola migrasi Anda:- Mulai: Tombol ini akan memulai migrasi dan mengubah status migrasi menjadi
Running
. - Hentikan: Tindakan ini akan menghentikan migrasi dan mengubah status migrasi menjadi
Stopped
. - Promote: Opsi ini mempromosikan cluster database target ke database mandiri.
- Hapus: Menghapus migrasi dan cluster database target yang dibuat untuk migrasi ini.
- Mulai: Tombol ini akan memulai migrasi dan mengubah status migrasi menjadi
Ubah sandi pengguna replikasi database sumber secara berkala dengan langkah-langkah berikut:
- Buka Database sumber, lalu klik edit Edit.
- Lakukan perubahan untuk mengganti sandi pengguna replikasi.
- Klik Simpan untuk menerapkan perubahan.
Setelah perubahan diterapkan, backend migrasi akan menggunakan sandi baru.
gdcloud
Sebelum menggunakan Distributed Cloud CLI, instal dan lakukan inisialisasi. Kemudian, lakukan autentikasi dengan organisasi Anda.
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
ataualloydbomni
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.
Mulai migrasi:
gdcloud database migrations start MIGRATION_NAME
Menghentikan migrasi:
gdcloud database migrations stop MIGRATION_NAME
Mempromosikan migrasi:
gdcloud database migrations promote MIGRATION_NAME
Mencantumkan profil koneksi yang ada:
gdcloud database connection-profiles list DB_ENGINE_TYPE
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 darialloydbomni
ataupostgresql
.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 daristart
ataustop
saat migrasi dibuat. Nilainya haruspromote
untuk mempromosikan cluster database target migrasi.