Anda dapat memigrasikan database MySQL ke Cloud SQL menggunakan file cadangan database fisik yang dibuat dengan utilitas Percona XtraBackup for MySQL. Migrasi dengan file cadangan fisik menawarkan kecepatan pemulihan data yang lebih tinggi daripada migrasi yang menggunakan file cadangan logis. Hal ini menjadikannya pilihan yang tepat untuk memindahkan database besar yang berisi beberapa terabyte data.
Alur migrasi ini melibatkan tugas-tugas berikut:
Mencadangkan instance MySQL sumber dan menyiapkan file cadangan fisik menggunakan utilitas Percona XtraBackup for MySQL.
Mengupload file cadangan Anda ke bucket Cloud Storage.
Membuat dan menjalankan tugas migrasi di Database Migration Service.
Bergantung pada skenario Anda, Anda dapat membuat instance tujuan sendiri, atau meminta Database Migration Service membuat instance tujuan untuk Anda sebagai bagian dari alur pembuatan tugas migrasi. Untuk mengetahui informasi selengkapnya, lihat langkah Konfigurasi dan jalankan tugas migrasi.
Mempromosikan tugas migrasi setelah data dimigrasikan sepenuhnya.
Migrasi offline
Panduan ini menjelaskan skenario migrasi untuk lingkungan tempat Anda dapat memastikan konektivitas jaringan antara instance database sumber dan tujuan.
Anda dapat melakukan migrasi pengujian saat Database Migration Service tidak terhubung ke instance sumber Anda. Sebagai gantinya, Database Migration Service hanya membaca file cadangan yang Anda upload ke bucket Cloud Storage dan mereplikasi isinya ke tujuan Cloud SQL untuk MySQL. Alur migrasi yang tidak menggunakan konektivitas jaringan tidak direkomendasikan untuk migrasi produksi, karena Database Migration Service tidak dapat sepenuhnya melakukan validasi data.
Jika Anda ingin mencoba melakukan tugas migrasi offline, sesuaikan prosedur dengan cara berikut:
Saat Anda membuat profil koneksi sumber, gunakan contoh alamat IP, port, nama pengguna, dan sandi. Contoh:
- IP:
0.0.0.0
- Port:
1234
- Nama pengguna migrasi:
test-user
- IP:
Saat Anda membuat tugas migrasi:
- Gunakan konektivitas IP publik. Jangan konfigurasi opsi jaringan tambahan.
- Gunakan jenis tugas migrasi satu kali.
Batasan
Bagian ini mencantumkan batasan untuk migrasi yang menggunakan file fisik Percona XtraBackup:
Migrasi ke MySQL 5.6 atau 8.4 dengan file cadangan fisik tidak didukung. Lihat Batasan umum.
Pertimbangan lintas versi:
- Anda hanya dapat melakukan migrasi dalam versi utama database yang sama, misalnya dari MySQL 8.0.30 ke MySQL 8.0.35, atau MySQL 5.7.0 ke MySQL 5.7.1.
Anda tidak dapat melakukan migrasi dari MySQL 5.7 ke MySQL 8.0.
Migrasi tidak didukung ke versi utama atau minor database yang lebih lama. Misalnya, Anda tidak dapat melakukan migrasi dari MySQL 8.0 ke 5.7 atau dari MySQL 8.0.36 ke 8.0.16.
Pertimbangan lintas arsitektur: Cloud SQL mendukung arsitektur ARM. Anda hanya dapat memigrasikan database antar-mesin dengan jenis arsitektur yang sama. Misalnya, jika database Anda dihosting di mesin ARM64, maka Anda harus bermigrasi ke mesin ARM64.
Ukuran disk database tujuan harus sama dengan atau lebih besar dari ukuran database sumber. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin MySQL untuk edisi Cloud SQL Anda.
Anda harus menggunakan Percona XtraBackup untuk mencadangkan data ke bucket Cloud Storage. Utilitas pencadangan lainnya tidak didukung.
Migrasi database dari file fisik Percona XtraBackup hanya didukung untuk database MySQL VM yang dikelola sendiri atau lokal. Migrasi dari database Amazon Aurora atau MySQL di Amazon RDS tidak didukung.
Anda hanya dapat melakukan migrasi dari pencadangan penuh. Jenis pencadangan lainnya, seperti pencadangan inkremental atau sebagian, tidak didukung.
Migrasi database tidak mencakup pengguna atau hak istimewa database.
Anda harus menetapkan format log biner ke
ROW
. Jika Anda mengonfigurasi log biner ke format lain, sepertiSTATEMENT
atauMIXED
, replikasi mungkin gagal.Database dengan tabel yang lebih besar dari 5 TB tidak didukung.
Cloud Storage membatasi ukuran file yang dapat Anda upload ke bucket hingga 5 TB. Jika ukuran file fisik Percona XtraBackup Anda lebih dari 5 TB, Anda harus membagi file cadangan menjadi beberapa file yang lebih kecil.
Pastikan Anda mengupload file cadangan ke folder Cloud Storage khusus yang tidak berisi file lain.
Anda harus mengonfigurasi parameter
innodb_data_file_path
hanya dengan satu file data yang menggunakan nama file data defaultibdata1
. Jika database Anda dikonfigurasi dengan dua file data atau memiliki file data dengan nama yang berbeda, Anda tidak dapat memigrasikan database menggunakan file fisik Percona XtraBackup. Misalnya, database yang dikonfigurasi denganinnodb_data_file_path=ibdata01:50M:autoextend
tidak didukung untuk migrasi.Parameter
innodb_page_size
pada instance sumber Anda harus dikonfigurasi dengan nilai default16384
.Anda tidak dapat memigrasikan plugin apa pun dari database eksternal.
Biaya
Untuk migrasi homogen ke Cloud SQL, Database Migration Service ditawarkan tanpa biaya tambahan. Namun, harga Cloud SQL dan Cloud Storage berlaku untuk biaya jaringan serta entitas Cloud SQL dan Cloud Storage yang dibuat untuk tujuan migrasi.
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
- Cloud Storage
- Cloud SQL
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Sebelum memulai
- Pertimbangkan region tempat Anda ingin membuat database tujuan. Database Migration Service adalah produk yang sepenuhnya regional, yang berarti semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan, bucket penyimpanan) harus disimpan dalam satu region.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk melakukan migrasi MySQL homogen dengan menggunakan file cadangan fisik, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Akun pengguna yang melakukan migrasi:
-
Database Migration Admin (
roles/datamigration.admin
) -
Storage Object Viewer (
roles/storage.objectViewer
) -
Editor Cloud SQL (
roles/cloudsql.editor
)
-
Database Migration Admin (
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk melakukan migrasi MySQL homogen dengan menggunakan file cadangan fisik. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melakukan migrasi MySQL homogen dengan menggunakan file cadangan fisik:
-
Akun pengguna yang melakukan migrasi:
-
datamigration.*
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
cloudsql.instances.create
-
cloudsql.instances.get
-
cloudsql.instances.list
-
compute.machineTypes.list
-
compute.machineTypes.get
-
compute.projects.get
-
storage.buckets.create
-
storage.buckets.list
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Langkah 1. Pertimbangkan persyaratan konektivitas jaringan Anda
Ada berbagai metode jaringan yang dapat Anda gunakan untuk mengonfigurasi konektivitas antara instance sumber dan tujuan Cloud SQL. Bergantung pada metode yang Anda gunakan, mungkin ada langkah-langkah tambahan yang perlu Anda lakukan selama proses migrasi.
Pertimbangkan metode konektivitas yang tepat untuk skenario Anda sebelum melanjutkan ke langkah berikutnya, karena pilihan Anda dapat memengaruhi setelan yang perlu digunakan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi konektivitas.
Langkah 2. Menyiapkan data sumber
Untuk menyiapkan data Anda untuk migrasi, lakukan langkah-langkah berikut:
- Instal utilitas Percona XtraBackup versi yang benar di instance sumber Anda. Anda harus menggunakan versi Percona XtraBackup yang sama dengan atau lebih baru dari versi instance sumber Anda.
Untuk mengetahui informasi selengkapnya, lihat
Perbandingan versi server dan versi cadangan dalam dokumentasi Percona
XtraBackup.
- Untuk MySQL 5.7, instal Percona XtraBackup 2.4.
- Untuk MySQL 8.0, instal Percona XtraBackup 8.0.
- Ekspor dan siapkan file cadangan fisik instance sumber Anda dengan
menggunakan Percona XtraBackup. Untuk informasi lengkap tentang cara menggunakan
Percona XtraBackup, lihat
dokumentasi alat. Anda juga dapat meluaskan bagian berikut untuk melihat contoh langkah-langkah yang direkomendasikan.
Contoh langkah-langkah yang direkomendasikan untuk membuat dan menyiapkan file cadangan fisik dengan menggunakan Percona XtraBackup
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- TARGET_DIR dengan jalur tempat Anda ingin menyimpan file cadangan output.
- USERNAME dengan
pengguna yang memiliki hak istimewa
BACKUP_ADMIN
di instance sumber. - PASSWORD dengan sandi untuk akun USERNAME.
- Lakukan pencadangan fisik penuh instance sumber Anda. Jalankan perintah
berikut:
xtrabackup --backup \ --target-dir=TARGET_DIR \ --user=USERNAME \ --password=PASSWORD
- Saat file cadangan siap, gunakan perintah
--prepare
untuk memastikan konsistensi file. Jalankan perintah berikut:xtrabackup --prepare --target-dir=TARGET_DIR
- Buat bucket Anda untuk menyimpan
file cadangan. Pastikan Anda menggunakan region yang sama dengan region tempat Anda
berencana membuat instance Cloud SQL for MySQL tujuan.
Database Migration Service adalah produk yang sepenuhnya regional, yang berarti semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan, bucket penyimpanan untuk file cadangan) harus disimpan dalam satu region.
- Upload file cadangan ke bucket Cloud Storage Anda. Pastikan Anda mengupload file cadangan ke folder Cloud Storage khusus yang tidak berisi file lain. Lihat Mengupload objek dari sistem file dalam dokumentasi Cloud Storage.
- Buat profil koneksi sumber untuk instance database sumber Anda.
Konsol
Untuk membuat profil koneksi sumber, ikuti langkah-langkah berikut:
- Buka halaman Profil koneksi di Konsol Google Cloud .
- Klik Buat profil.
- Di halaman Create a connection profile, dari menu drop-down Database engine, pilih MySQL
- Di kolom Nama profil koneksi, masukkan nama yang mudah dibaca untuk profil koneksi Anda. Nilai ini ditampilkan dalam daftar profil koneksi.
- Biarkan ID profil koneksi yang dibuat otomatis.
- Masukkan Nama host atau Alamat IP.
Jika database sumber dihosting di Google Cloud, atau jika tunnel SSH terbalik digunakan untuk menghubungkan database tujuan ke database sumber, tentukan alamat IP pribadi (internal) untuk database sumber. Alamat ini akan dapat diakses oleh tujuan Cloud SQL. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi konektivitas menggunakan peering VPC.
Untuk metode konektivitas lainnya, seperti daftar IP yang diizinkan, berikan alamat IP publik.
- Masukkan Port yang digunakan untuk mengakses host. Port default MySQL adalah 3306.
- Masukkan nama pengguna dan sandi untuk database tujuan. Akun pengguna harus memiliki hak istimewa yang diperlukan untuk mengakses data Anda. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi database sumber.
- Di bagian Connection profile region pada halaman tersebut, pilih region tempat Anda ingin menyimpan profil koneksi.
Opsional: Jika koneksi dilakukan melalui jaringan publik (dengan menggunakan daftar IP yang diizinkan), sebaiknya gunakan enkripsi SSL/TLS untuk koneksi antara database sumber dan tujuan.
Ada tiga opsi untuk konfigurasi SSL/TLS yang dapat Anda pilih dari bagian Amankan koneksi Anda di halaman:
- Tidak ada: Instance tujuan Cloud SQL terhubung ke database sumber tanpa enkripsi.
Autentikasi khusus server: Saat instance tujuan Cloud SQL terhubung ke database sumber, instance mengautentikasi sumber, memastikan bahwa instance terhubung ke host yang benar secara aman. Tindakan ini mencegah serangan person-in-the-middle. Untuk autentikasi khusus server, sumber tidak mengautentikasi instance.
Untuk menggunakan autentikasi khusus server, Anda harus memberikan sertifikat berenkode PEM x509 dari certificate authority (CA) yang menandatangani sertifikat server eksternal.
- Autentikasi klien server: Saat instance tujuan terhubung ke
sumber, instance tersebut mengautentikasi sumber dan sumber
mengautentikasi instance.
Autentikasi klien server memberikan keamanan terkuat. Namun, jika Anda tidak ingin memberikan sertifikat klien dan kunci pribadi saat membuat instance tujuan Cloud SQL, Anda masih dapat menggunakan autentikasi khusus server.
Untuk menggunakan autentikasi klien server, Anda harus memberikan item berikut saat membuat profil koneksi tujuan:
- Sertifikat CA yang menandatangani sertifikat server database sumber (sertifikat CA).
- Sertifikat yang digunakan oleh instance untuk melakukan autentikasi terhadap server database sumber (sertifikat klien).
- Kunci pribadi yang terkait dengan sertifikat klien (kunci klien).
- Klik Buat. Profil koneksi Anda kini telah dibuat.
gcloud
Contoh ini menggunakan tanda
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati tanda--no-async
untuk menjalankan perintah secara asinkron. Jika ya, Anda harus menggunakan perintahgcloud database-migration operations describe
untuk memverifikasi apakah operasi Anda berhasil.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- CONNECTION_PROFILE_ID dengan ID yang dapat dibaca mesin untuk profil koneksi Anda.
- REGION dengan ID region tempat Anda ingin menyimpan profil koneksi.
- HOST_IP_ADDRESS dengan alamat IP tempat Database Migration Service dapat menjangkau instance database sumber Anda. Nilai ini dapat bervariasi bergantung pada metode konektivitas yang Anda gunakan untuk migrasi.
- PORT_NUMBER dengan nomor port tempat database sumber Anda menerima koneksi masuk. Port MySQL default adalah 3306.
- USERNAME dengan nama akun pengguna database yang Anda inginkan agar Database Migration Service terhubung sebagai akun tersebut ke instance database sumber Anda.
- PASSWORD dengan sandi untuk akun pengguna database.
- (Opsional) CONNECTION_PROFILE_NAME dengan nama yang mudah dibaca untuk profil koneksi Anda. Nilai ini ditampilkan di konsol Google Cloud .
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --host=HOST_IP_ADDRESS \ --port=PORT_NUMBER \ --username=USERNAME \ --password=PASSWORD \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --host=HOST_IP_ADDRESS ` --port=PORT_NUMBER ` --username=USERNAME ` --password=PASSWORD ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --host=HOST_IP_ADDRESS ^ --port=PORT_NUMBER ^ --username=USERNAME ^ --password=PASSWORD ^ --display-name=CONNECTION_PROFILE_NAME
Anda akan melihat respons seperti berikut:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Langkah 3. Mengonfigurasi dan menjalankan tugas migrasi
Saat melakukan migrasi dengan Percona XtraBackup, Anda dapat membuat instance tujuan Cloud SQL sendiri, atau meminta Database Migration Service membuatnya untuk Anda. Untuk mengetahui informasi selengkapnya, lihat Ringkasan pembuatan tugas migrasi.
Setiap pendekatan ini mengharuskan Anda mengikuti serangkaian prosedur yang sedikit berbeda. Gunakan menu drop-down untuk menampilkan prosedur yang relevan untuk skenario Anda:
- Jika Anda ingin Database Migration Service membuat database tujuan untuk Anda, pilih Migrasikan ke instance tujuan baru.
- Jika Anda ingin bermigrasi ke database tujuan yang dibuat di luar Database Migration Service, pilih Migrasikan ke instance tujuan yang ada.
-
Saat Anda melakukan migrasi ke instance tujuan baru, Database Migration Service akan membuat instance Cloud SQL for MySQL tujuan untuk Anda selama alur pembuatan tugas migrasi.Langkah 3a. Buat tugas migrasi ke instance tujuan baru
Untuk membuat tugas migrasi ke instance tujuan baru, ikuti langkah-langkah berikut:Konsol
Menentukan setelan untuk tugas migrasi
- Di konsol Google Cloud , buka halaman Tugas migrasi.
- Klik Buat tugas migrasi.
Halaman wizard konfigurasi tugas migrasi akan terbuka. Wizard ini berisi beberapa panel yang memandu Anda melalui setiap langkah konfigurasi.
Anda dapat menjeda pembuatan tugas migrasi kapan saja dengan mengklik SIMPAN & KELUAR. Semua data yang Anda masukkan hingga saat itu disimpan dalam tugas migrasi draf. Anda dapat menyelesaikan tugas migrasi draf nanti.
- Di halaman Mulai, masukkan informasi berikut:
- Nama tugas migrasi
Ini adalah nama yang dapat dibaca manusia untuk tugas migrasi Anda. Nilai ini ditampilkan di konsol Google Cloud .
- ID tugas migrasi
Ini adalah ID yang dapat dibaca mesin untuk tugas migrasi Anda. Anda menggunakan nilai ini untuk bekerja dengan tugas migrasi menggunakan perintah atau API Google Cloud CLI Database Migration Service.
- Dari daftar Mesin database sumber, pilih
MySQL.
Kolom Mesin database tujuan diisi secara otomatis dan tidak dapat diubah.
- Pilih region tempat Anda menyimpan tugas migrasi.
Database Migration Service adalah produk yang sepenuhnya regional, yang berarti semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan) harus disimpan dalam satu region. Pilih region berdasarkan lokasi layanan yang membutuhkan data Anda, seperti instance Compute Engine atau aplikasi App Engine, dan layanan lainnya. Setelah Anda memilih region tujuan, pilihan ini tidak dapat diubah.
- Nama tugas migrasi
- Klik Simpan dan lanjutkan.
Menentukan informasi tentang profil koneksi sumber
- Di halaman Tentukan sumber, lakukan langkah-langkah berikut:
- Dari menu drop-down Profil koneksi sumber, pilih profil koneksi untuk database sumber Anda.
- Di bagian Sesuaikan konfigurasi dump penuh, klik Edit konfigurasi.
- Di panel Edit konfigurasi dump lengkap, dari menu drop-down Metode dump lengkap, pilih Berbasis fisik.
- Di bagian Provide your folder, klik Browse, lalu pilih folder tempat Anda mengupload file dump lengkap (langkah 3 di bagian Siapkan data sumber Anda).
- Klik Simpan.
- Klik Simpan dan lanjutkan.
Mengonfigurasi dan membuat instance Cloud SQL tujuan
- Di halaman Tentukan tujuan, dari menu drop-down Jenis tujuan
instance, pilih Instance baru. Tentukan semua
setelan yang relevan:
- Di kolom ID Instance Tujuan, berikan ID
untuk instance Cloud SQL atau gunakan ID yang dibuat otomatis.
Jangan sertakan informasi sensitif atau informasi identitas pribadi dalam ID. Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika sesuai (misalnya, di file log).
- Di kolom Sandi, berikan sandi alfanumerik untuk
instance Cloud SQL
tujuan. Ini adalah sandi untuk akun administrator
root
dalam instance.Anda dapat memasukkan sandi secara manual atau mengklik Buat agar Database Migration Service membuat sandi untuk Anda secara otomatis.
- Dari menu drop-down Database version,
pilih versi database untuk instance tujuan.
Klik Tampilkan versi minor untuk melihat semua versi minor. Pelajari lebih lanjut dukungan migrasi lintas versi.
- Pilih edisi Cloud SQL untuk MySQL untuk instance tujuan Anda.
Tersedia dua opsi: Edisi Cloud SQL untuk MySQL Enterprise dan
Edisi Cloud SQL untuk MySQL Enterprise Plus.
Edisi Cloud SQL untuk MySQL dilengkapi dengan berbagai set fitur, jenis mesin yang tersedia, dan harga. Pastikan Anda membaca dokumentasi Cloud SQL untuk memilih edisi yang sesuai dengan kebutuhan Anda. Untuk mengetahui informasi selengkapnya, lihat Pengantar edisi Cloud SQL untuk MySQL.
- Menu Region menampilkan region yang sama dengan yang Anda pilih di halaman
Mulai.
Jika Anda mengonfigurasi instance untuk ketersediaan tinggi, pilih Beberapa zona (Ketersediaan tinggi). Anda dapat memilih zona primer dan sekunder. Kondisi berikut berlaku jika zona sekunder digunakan selama pembuatan instance:
- Zona secara default ditetapkan ke Any untuk zona primer dan Any (different from primary) untuk zona sekunder.
- Jika zona primer dan sekunder ditentukan, keduanya harus berada di zona yang berbeda.
- Di bagian Connections, pilih apakah akan menambahkan
alamat IP publik atau pribadi untuk instance tujuan Anda.
Anda dapat mengonfigurasi instance agar memiliki kedua jenis alamat IP, tetapi setidaknya satu jenis diperlukan untuk migrasi.
Pilih salah satu opsi berikut:
- Jika Anda ingin melakukan migrasi menggunakan peering VPC
atau tunnel SSH terbalik, pilih
IP Pribadi.
Untuk mengaktifkan konektivitas IP pribadi, pastikan Anda memenuhi semua persyaratan jaringan tambahan.
Perluas bagian ini untuk mengetahui persyaratan IP pribadi selengkapnya.
- Service Networking API diaktifkan. Anda dapat mengaktifkan Service Networking API menggunakan konsol Google Cloud .
- Anda memiliki
servicenetworking.services.addPeering
izin IAM. - Anda telah
mengonfigurasi akses layanan pribadi untuk project Anda, yang
memerlukan peran IAM
compute.networkAdmin
. - Ada setidaknya satu jaringan VPC non-legacy di project Anda, atau jaringan VPC Bersama.
- Jika Anda menggunakan
Jaringan VPC Bersama, Anda juga harus melakukan hal berikut:
- Aktifkan Service Networking API untuk project host.
- Menambahkan pengguna Anda ke project host.
- Berikan peran IAM compute.networkAdmin kepada pengguna Anda di project host.
- Pilih jaringan VPC terkait yang akan di-peering. Jika Anda berencana untuk terhubung ke sumber migrasi menggunakan peering VPC, pilih VPC tempat instance berada.
- Jika jaringan layanan terkelola tidak pernah dikonfigurasi untuk VPC yang dipilih, Anda dapat memilih untuk memilih rentang IP dan mengklik Connect atau menggunakan rentang IP yang dipilih secara otomatis dan mengklik Allocate & Connect.
- Jika Anda ingin bermigrasi melalui Internet dengan menggunakan daftar IP yang diizinkan,
pilih
IP Publik.
Secara opsional, di bagian IP Publik, klik kolom Jaringan yang diizinkan, lalu beri otorisasi jaringan atau proxy untuk terhubung ke instance Cloud SQL. Jaringan hanya diizinkan dengan alamat yang Anda berikan. Lihat Mengonfigurasi IP publik dalam dokumentasi Cloud SQL.
Anda akan mengonfigurasi konektivitas tugas migrasi pada langkah berikutnya. Untuk mempelajari lebih lanjut metode jaringan yang tersedia, lihat Mengonfigurasi konektivitas.
- Jika Anda ingin melakukan migrasi menggunakan peering VPC
atau tunnel SSH terbalik, pilih
IP Pribadi.
- Di kolom ID Instance Tujuan, berikan ID
untuk instance Cloud SQL atau gunakan ID yang dibuat otomatis.
Pilih jenis mesin untuk instance Cloud SQL.
Untuk mengetahui informasi selengkapnya, lihat Batasan.
- Untuk edisi Cloud SQL untuk MySQL Enterprise Plus: Centang kotak Aktifkan cache data
jika Anda ingin menggunakan fitur cache data di database tujuan.
Cache data adalah fitur opsional yang tersedia untuk instance edisi Cloud SQL untuk MySQL Enterprise Plus yang menambahkan solid state drive lokal berkecepatan tinggi ke database tujuan Anda. Fitur ini dapat menimbulkan biaya tambahan untuk Cloud SQL Anda. Untuk mengetahui informasi selengkapnya tentang cache data, lihat Ringkasan cache data di dokumentasi Cloud SQL.
- Tentukan jenis penyimpanan untuk instance Cloud SQL. Anda dapat memilih solid-state drive (SSD) atau hard disk drive (HDD).
- Tentukan kapasitas penyimpanan (dalam GByte) untuk instance Cloud SQL.
Pastikan instance memiliki kapasitas penyimpanan yang cukup untuk menangani data dari database sumber Anda. Anda dapat meningkatkan kapasitas ini kapan saja, tetapi Anda tidak dapat menguranginya.
(Opsional) Konfigurasi opsi enkripsi data atau label resource untuk instance tujuan Anda.
Luaskan bagian ini untuk melihat langkah opsional.
Klik Tampilkan konfigurasi opsional, lalu:
Tentukan apakah Anda ingin mengelola enkripsi data yang dimigrasikan dari sumber ke tujuan. Secara default, data Anda dienkripsi dengan kunci yang dikelola oleh Google Cloud. Jika ingin mengelola enkripsi, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK). Untuk melakukannya:
- Pilih kotak centang Gunakan kunci enkripsi yang dikelola pelanggan (CMEK).
- Dari menu Pilih kunci yang dikelola pelanggan, pilih CMEK Anda.
Jika Anda tidak melihat kunci Anda, klik Masukkan nama resource kunci untuk memberikan nama resource kunci yang ingin Anda gunakan. Contoh nama resource utama:
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key
.- Tambahkan tanda yang diperlukan untuk diterapkan ke server database. Jika memungkinkan, pastikan tanda database pada instance Cloud SQL tujuan yang dibuat sama dengan tanda database pada database sumber. Pelajari lebih lanjut tanda database yang didukung untuk MySQL.
- Tambahkan
label yang khusus untuk instance Cloud SQL.
Label membantu mengatur instance Anda. Misalnya, Anda dapat mengatur label menurut pusat biaya atau lingkungan. Label juga disertakan dalam tagihan sehingga Anda dapat melihat distribusi biaya di semua label.
- Klik Buat tujuan dan lanjutkan. Database Migration Service kini membuat instance tujuan Cloud SQL Anda. Proses ini dapat memerlukan waktu beberapa menit.
Menyiapkan konektivitas antara instance database sumber dan tujuan
Dari menu drop-down Metode konektivitas, pilih metode konektivitas jaringan. Metode ini menentukan cara menghubungkan instance Cloud SQL yang baru dibuat ke database sumber. Metode konektivitas jaringan saat ini mencakup daftar yang diizinkan IP, tunnel SSH terbalik, dan peering VPC.
Jika Anda ingin menggunakan... Maka... Metode konektivitas jaringan daftar IP yang diizinkan, Anda harus menentukan alamat IP keluar instance tujuan. Jika instance Cloud SQL yang Anda buat adalah instance ketersediaan tinggi, sertakan alamat IP keluar untuk instance utama dan sekunder. Metode konektivitas jaringan tunnel SSH terbalik, Anda perlu memilih instance VM Compute Engine yang akan menghosting tunnel. Setelah menentukan instance, Google akan memberikan skrip yang menjalankan langkah-langkah untuk menyiapkan tunnel antara database sumber dan tujuan. Anda harus menjalankan skrip di Google Cloud CLI.
Jalankan perintah dari mesin yang memiliki konektivitas ke database sumber dan ke Google Cloud.
Metode konektivitas jaringan peering VPC, Anda perlu memilih jaringan VPC tempat database sumber berada. Instance Cloud SQL akan diupdate agar terhubung ke jaringan ini. Setelah Anda memilih dan mengonfigurasi konektivitas jaringan, klik Konfigurasi dan lanjutkan.
Buat tugas migrasi
Di Uji dan buat tugas migrasi, verifikasi setelan untuk tugas migrasi. Pada tahap ini, pengujian tugas migrasi akan gagal, karena akun layanan yang terkait dengan instance tujuan Cloud SQL tidak memiliki izin yang diperlukan.
Lakukan salah satu tindakan berikut sebelum menguji tugas untuk memvalidasi konfigurasi tugas:
- Jika Anda ingin menguji tugas migrasi menggunakan konsol Google Cloud setelah Anda menetapkan izin ke akun layanan instance tujuan, klik Simpan dan keluar. Tindakan ini akan menyimpan tugas migrasi Anda sebagai draf. Anda dapat kembali ke layar ini nanti, menguji tugas migrasi, dan menjalankannya.
- Jika Anda ingin menguji tugas migrasi menggunakan Google Cloud CLI setelah Anda menetapkan izin ke akun layanan instance tujuan,klik Buat. Dengan Google Cloud CLI, Anda dapat menguji tugas migrasi yang dibuat, tetapi belum dimulai.
gcloud
Buat profil koneksi tujuan.
Saat bermigrasi ke instance tujuan baru dengan Google Cloud CLI, Anda membuat instance tujuan dan profil koneksi dalam satu tindakan.
Jalankan perintah berikut (klik link untuk meluaskan):gcloud database-migration connection-profiles create cloudsql
Contoh ini menggunakan tanda
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati tanda--no-async
untuk menjalankan perintah secara asinkron. Jika ya, Anda harus menggunakan perintahgcloud database-migration operations describe
untuk memverifikasi apakah operasi Anda berhasil.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- CONNECTION_PROFILE_ID dengan ID yang dapat dibaca mesin untuk profil koneksi Anda.
- DATABASE_VERSION dengan versi MySQL yang ingin Anda gunakan di instance tujuan. Versi database ditentukan sebagai
string yang mencakup versi utama dan minor. Misalnya:
MYSQL_8_0
,MYSQL_8_0_32
,MYSQL_8_0_36
.Untuk semua kemungkinan versi MySQL, lihat referensi flag --database-version.
- (Opsional) EDITION Secara default, instance baru yang Anda buat dengan Google Cloud CLI menggunakan edisi Cloud SQL untuk MySQL Enterprise Plus. Jika Anda berencana menggunakan edisi Cloud SQL untuk MySQL Enterprise Plus, pastikan region Anda didukung untuk edisi tersebut. Lihat
Dukungan region edisi Cloud SQL untuk MySQL Enterprise Plus.
Anda dapat mengubah edisi menggunakan tanda
--edition
dengan salah satu nilai berikut:enterprise-plus
untuk edisi Cloud SQL untuk MySQL Enterprise Plusenterprise
untuk edisi Cloud SQL untuk MySQL Enterprise
-
TIER dengan nama jenis mesin Cloud SQL yang ingin Anda gunakan.
Jenis mesin ditentukan sebagai string yang mengikuti konvensi Cloud SQL, misalnya
db-n1-standard-1
,db-perf-optimized-N-2
. Untuk mengetahui daftar lengkap jenis mesin yang tersedia dan ID-nya untuk digunakan dengan Google Cloud CLI, lihat Jenis mesin dalam dokumentasi Cloud SQL untuk MySQL.Instance yang dibuat dengan Google Cloud CLI secara default menggunakan edisi Cloud SQL untuk MySQL Enterprise Plus yang memiliki jenis mesin yang berbeda. Jika Anda ingin menggunakan jenis mesin yang hanya tersedia di edisi Cloud SQL untuk MySQL Enterprise, gunakan tanda
--edition=enterprise
opsional untuk menentukan edisi. - REGION dengan ID region tempat Anda
ingin menyimpan profil koneksi.
Secara default, instance baru yang Anda buat dengan Google Cloud CLI menggunakan edisi Cloud SQL untuk MySQL Enterprise Plus. Jika Anda berencana menggunakan edisi Cloud SQL untuk MySQL Enterprise Plus, pastikan region Anda didukung untuk edisi tersebut. Lihat Dukungan region edisi Cloud SQL untuk MySQL Enterprise Plus. Anda dapat mengubah edisi menggunakan tanda
--edition
opsional. - (Opsional) CONNECTION_PROFILE_NAME dengan nama yang mudah dibaca untuk profil koneksi Anda. Nilai ini ditampilkan di konsol Google Cloud .
- Konfigurasi jaringan
Secara default, instance baru yang Anda buat dengan Google Cloud CLI memiliki alamat IP publik yang ditetapkan, dan dikonfigurasi untuk menggunakan konektivitas IP publik. Anda dapat menggunakan metode konektivitas lainnya. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi konektivitas.
Anda tidak perlu menggunakan flag tambahan jika ingin menggunakan konektivitas IP publik. Jika Anda ingin menggunakan konektivitas IP pribadi dengan Peering Jaringan VPC atau tunnel SSH terbalik, pastikan Anda memenuhi persyaratan jaringan tambahan berikut untuk mengaktifkan konektivitas IP pribadi dan menyertakan flag tambahan dalam perintah Anda.
Perluas bagian ini untuk mengetahui persyaratan IP pribadi selengkapnya.
- Service Networking API diaktifkan. Anda dapat mengaktifkan Service Networking API menggunakan konsol Google Cloud .
- Anda memiliki
servicenetworking.services.addPeering
izin IAM. - Anda telah
mengonfigurasi akses layanan pribadi untuk project Anda, yang
memerlukan peran IAM
compute.networkAdmin
. - Ada setidaknya satu jaringan VPC non-legacy di project Anda, atau jaringan VPC Bersama.
- Jika Anda menggunakan
Jaringan VPC Bersama, Anda juga harus melakukan hal berikut:
- Aktifkan Service Networking API untuk project host.
- Menambahkan pengguna Anda ke project host.
- Beri pengguna Anda peran IAM compute.networkAdmin di project host.
Sertakan tanda tambahan berikut jika Anda ingin menggunakan konektivitas IP pribadi (dengan Peering Jaringan VPC atau dengan tunnel SSH terbalik di VM Compute Engine):
-
--no-enable-ip-v4
: (Opsional) Untuk tidak menetapkan alamat IP publik ke instance tujuan Anda. Anda dapat menetapkan alamat IP publik dan pribadi ke instance tujuan, tetapi Anda mungkin tidak menginginkan alamat IP publik jika menggunakan konektivitas IP pribadi. -
--private-network
: Untuk menetapkan alamat IP pribadi ke instance tujuan, tentukan nama Virtual Private Cloud tempat Anda ingin menetapkan alamat IP pribadi.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --database-version=DATABASE_VERSION \ --tier=TIER \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --database-version=DATABASE_VERSION ` --tier=TIER ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --database-version=DATABASE_VERSION ^ --tier=TIER ^ --display-name=CONNECTION_PROFILE_NAME
Anda akan melihat respons seperti berikut:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
- Selesaikan penyiapan konfigurasi jaringan.
Bergantung pada konektivitas jaringan yang ingin Anda gunakan, mungkin ada langkah tambahan yang perlu Anda ikuti sebelum membuat tugas migrasi.
- Jika Anda menggunakan konektivitas IP publik default, konfigurasi instance database sumber Anda untuk mengizinkan koneksi dari alamat dan port publik tujuan Cloud SQL Anda. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi konektivitas menggunakan daftar yang diizinkan IP.
- Jika Anda menggunakan tunnel SSH terbalik, siapkan tunnel di VM Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi konektivitas menggunakan tunnel SSH terbalik.
Buat tugas migrasi.
Jalankan perintah berikut (klik link untuk meluaskan):gcloud database-migration migration-jobs create
Contoh ini menggunakan tanda
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati tanda--no-async
untuk menjalankan perintah secara asinkron. Jika ya, Anda harus menggunakan perintahgcloud database-migration operations describe
untuk memverifikasi apakah operasi Anda berhasil.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan ID yang dapat dibaca mesin untuk tugas migrasi Anda. Anda menggunakan nilai ini untuk bekerja dengan tugas migrasi menggunakan perintah atau API Google Cloud CLI Database Migration Service.
- REGION dengan ID region tempat Anda ingin menyimpan tugas migrasi.
- MIGRATION_JOB_NAME dengan nama yang mudah dibaca manusia untuk tugas migrasi Anda. Nilai ini ditampilkan di Database Migration Service di konsol Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID dengan ID profil koneksi sumber yang dapat dibaca mesin.
- DESTINATION_CONNECTION_PROFILE_ID dengan ID profil koneksi tujuan yang dapat dibaca mesin.
- MIGRATION_JOB_TYPE dengan jenis tugas migrasi Anda. Dua nilai diizinkan:
ONE_TIME
atauCONTINUOUS
. Untuk mengetahui informasi selengkapnya, lihat Jenis migrasi. - PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
dengan jalur ke file cadangan fisik Anda yang disimpan dalam folder di bucket Cloud Storage.
Gunakan format berikut:
gs://<bucket_name>/<path_to_backup_file_folder>
. - Konfigurasi jaringan
Jika Anda menggunakan konektivitas IP pribadi dengan Peering Jaringan VPC atau tunnel SSH terbalik, tambahkan flag berikut ke perintah Anda:
- Konektivitas IP pribadi dengan Peering Jaringan VPC
- Gunakan flag
--peer-vpc
untuk menentukan nama jaringan yang ingin Anda peering. - Tunnel SSH terbalik di VM Compute Engine
- Gunakan flag berikut untuk memberikan detail jaringan untuk Compute Engine:
--vm-ip
,--vm-port
,--vpc
. Anda juga dapat menggunakan tanda--vm
opsional untuk menentukan nama VM.
Untuk contoh penggunaan lainnya, lihat Contoh Google Cloud CLI.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Anda akan melihat respons seperti berikut:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Langkah 3b. Memberikan izin yang diperlukan ke akun layanan instance Cloud SQL
Saat Anda membuat tugas migrasi ke instance baru, Database Migration Service juga akan membuat instance Cloud SQL tujuan untuk Anda. Sebelum dapat menjalankan migrasi, Anda harus menetapkan izin Cloud Storage untuk akun layanan instance.
Untuk memberikan izin Cloud Storage ke akun layanan yang terkait dengan instance tujuan Anda, ikuti langkah-langkah berikut:
-
Temukan alamat email akun layanan untuk instance Cloud SQL Anda di
halaman detail instance Cloud SQL. Alamat ini menggunakan format
berikut:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Lihat Melihat informasi instance di dokumentasi Cloud SQL. -
Tambahkan peran IAM Storage Object Viewer (
roles/storage.objectViewer
) ke akun layanan. Untuk mengetahui informasi tentang cara mengelola akses dengan Identity and Access Management, lihat Mengelola akses ke project, folder, dan organisasi dalam dokumentasi IAM.
Langkah 3c. (Opsional) Uji tugas migrasi
Sebelum menjalankan tugas migrasi, Anda dapat melakukan operasi pengujian untuk memeriksa apakah Database Migration Service dapat menjangkau semua entitas sumber dan tujuan yang diperlukan. Dengan gcloud CLI, Anda dapat menguji tugas migrasi yang dibuat, tetapi belum dimulai.
Konsol
Di konsol Google Cloud , Anda hanya dapat menguji tugas migrasi draf yang Anda buat di wizard pembuatan tugas migrasi. Jika Anda tidak menyimpan tugas sebagai draf, tetapi membuatnya sepenuhnya di wizard, Anda hanya dapat melakukan pengujian menggunakan Google Cloud CLI.
Untuk menguji tugas migrasi draf, ikuti langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Tugas migrasi.
- Di tab Draf, klik nama tampilan tugas migrasi
yang ingin Anda selesaikan pembuatannya.
Wizard pembuatan tugas migrasi akan terbuka.
- Di halaman Uji dan buat tugas migrasi, klik Uji tugas. Database Migration Service kini memeriksa apakah instance tujuan Anda memiliki semua izin yang diperlukan dan dapat terhubung ke database sumber.
- Setelah pengujian selesai, klik Buat.
Tugas migrasi kini dibuat dan siap dimulai.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
Jika tidak mengetahui ID, Anda dapat menggunakan perintah
gcloud database-migration migration-jobs list
untuk mencantumkan semua tugas migrasi di region tertentu dan melihat ID-nya. - REGION dengan ID region tempat profil koneksi Anda disimpan.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Hasil
Tindakan dilakukan secara asinkron. Oleh karena itu, perintah ini menampilkan entitas Operasi yang mewakili operasi yang berjalan lama:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Untuk melihat apakah operasi Anda berhasil, Anda dapat membuat kueri objek operasi yang ditampilkan, atau memeriksa status tugas migrasi:
- Gunakan perintah
gcloud database-migration migration-jobs describe
dengan MIGRATION_JOB_ID untuk melihat status tugas migrasi. - Gunakan perintah
gcloud database-migration operations describe
dengan OPERATION_ID untuk melihat status operasi itu sendiri.
Langkah 3d. Mulai tugas migrasi
Setelah tugas migrasi dibuat sepenuhnya (yaitu, tidak disimpan dalam status draf), Anda dapat memulainya kapan saja untuk mulai memigrasikan data.
Untuk memulai tugas migrasi, lakukan langkah-langkah berikut:
Konsol
- Di konsol Google Cloud , buka halaman Tugas migrasi.
- Di tab Tugas, klik nama tampilan tugas migrasi yang ingin Anda mulai.
Halaman detail tugas migrasi akan terbuka.
- Klik Mulai.
- Di dialog, klik Mulai.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
Jika tidak mengetahui ID, Anda dapat menggunakan perintah
gcloud database-migration migration-jobs list
untuk mencantumkan semua tugas migrasi di region tertentu dan melihat ID-nya. - REGION dengan ID region tempat profil koneksi Anda disimpan.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Hasil
Tindakan dilakukan secara asinkron. Oleh karena itu, perintah ini menampilkan entitas Operasi yang mewakili operasi yang berjalan lama:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Untuk melihat apakah operasi Anda berhasil, Anda dapat membuat kueri objek operasi yang ditampilkan, atau memeriksa status tugas migrasi:
- Gunakan perintah
gcloud database-migration migration-jobs describe
dengan MIGRATION_JOB_ID untuk melihat status tugas migrasi. - Gunakan perintah
gcloud database-migration operations describe
dengan OPERATION_ID untuk melihat status operasi itu sendiri.
-
Untuk bermigrasi ke instance tujuan yang ada, Anda harus membuat dan mengonfigurasi instance tujuan terlebih dahulu.Langkah 3a. Menyiapkan instance tujuan
Untuk mengonfigurasi instance Cloud SQL tujuan Anda, lakukan langkah-langkah berikut:
-
Buat instance tujuan Cloud SQL untuk MySQL. Pastikan Anda menggunakan resource komputasi dan memori yang cukup untuk memenuhi kebutuhan migrasi Anda.
Lihat Membuat instance di
dokumentasi Cloud SQL.
Bergantung pada metode konektivitas yang ingin Anda gunakan untuk migrasi, Anda mungkin perlu menambahkan alamat IP publik atau pribadi ke instance tujuan. Untuk mengetahui informasi selengkapnya tentang metode konektivitas, lihat Mengonfigurasi konektivitas.
-
Berikan izin Cloud Storage ke akun layanan yang terkait dengan instance tujuan Anda. Akun ini dibuat setelah Anda membuat
instance tujuan.
-
Temukan alamat email akun layanan untuk instance Cloud SQL Anda di
halaman detail instance Cloud SQL. Alamat ini menggunakan format
berikut:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Lihat Melihat informasi instance dalam dokumentasi Cloud SQL. -
Tambahkan peran IAM Storage Object Viewer (
roles/storage.objectViewer
) ke akun layanan. Untuk mengetahui informasi tentang cara mengelola akses dengan Identity and Access Management, lihat Mengelola akses ke project, folder, dan organisasi dalam dokumentasi IAM.
-
Temukan alamat email akun layanan untuk instance Cloud SQL Anda di
halaman detail instance Cloud SQL. Alamat ini menggunakan format
berikut:
- Buat profil koneksi tujuan untuk instance Cloud SQL Anda.
Konsol
Anda tidak perlu membuat profil koneksi tujuan. Saat membuat tugas migrasi di konsol Google Cloud , Anda menggunakan ID instance tujuan dan Database Migration Service mengelola profil koneksi untuk Anda.
Lanjutkan ke bagian Buat dan jalankan tugas migrasi.
gcloud
Contoh ini menggunakan tanda
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati tanda--no-async
untuk menjalankan perintah secara asinkron. Jika ya, Anda harus menggunakan perintahgcloud database-migration operations describe
untuk memverifikasi apakah operasi Anda berhasil.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- CONNECTION_PROFILE_ID dengan ID yang dapat dibaca mesin untuk profil koneksi Anda.
- REGION dengan ID region tempat Anda ingin menyimpan profil koneksi.
- DESTINATION_INSTANCE_ID dengan ID instance tujuan Anda.
- (Opsional) CONNECTION_PROFILE_NAME dengan nama yang mudah dibaca untuk profil koneksi Anda. Nilai ini ditampilkan di konsol Google Cloud .
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --cloudsql-instance=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --cloudsql-instance=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --cloudsql-instance=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Anda akan melihat respons seperti berikut:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Langkah 3b. Membuat dan menjalankan tugas migrasi
Konsol
Menentukan setelan untuk tugas migrasi
- Di konsol Google Cloud , buka halaman Tugas migrasi.
- Klik Buat tugas migrasi.
Halaman wizard konfigurasi tugas migrasi akan terbuka. Wizard ini berisi beberapa panel yang memandu Anda melalui setiap langkah konfigurasi.
Anda dapat menjeda pembuatan tugas migrasi kapan saja dengan mengklik SIMPAN & KELUAR. Semua data yang Anda masukkan hingga saat itu disimpan dalam tugas migrasi draf. Anda dapat menyelesaikan tugas migrasi draf nanti.
- Di halaman Mulai, masukkan informasi berikut:
- Nama tugas migrasi
Ini adalah nama yang dapat dibaca manusia untuk tugas migrasi Anda. Nilai ini ditampilkan di konsol Google Cloud .
- ID tugas migrasi
Ini adalah ID yang dapat dibaca mesin untuk tugas migrasi Anda. Anda menggunakan nilai ini untuk bekerja dengan tugas migrasi menggunakan perintah atau API Google Cloud CLI Database Migration Service.
- Dari daftar Mesin database sumber, pilih
MySQL.
Kolom Mesin database tujuan diisi secara otomatis dan tidak dapat diubah.
- Pilih region tempat Anda menyimpan tugas migrasi.
Database Migration Service adalah produk yang sepenuhnya regional, yang berarti semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan) harus disimpan dalam satu region. Pilih region berdasarkan lokasi layanan yang membutuhkan data Anda, seperti instance Compute Engine atau aplikasi App Engine, dan layanan lainnya. Setelah Anda memilih region tujuan, pilihan ini tidak dapat diubah.
- Nama tugas migrasi
- Klik Simpan dan lanjutkan.
Menentukan informasi tentang profil koneksi sumber
- Di halaman Tentukan sumber, lakukan langkah-langkah berikut:
- Dari menu drop-down Profil koneksi sumber, pilih profil koneksi untuk database sumber Anda.
- Di bagian Sesuaikan konfigurasi dump penuh, klik Edit konfigurasi.
- Di panel Edit konfigurasi dump lengkap, dari menu drop-down Metode dump lengkap, pilih Berbasis fisik.
- Di bagian Provide your folder, klik Browse, lalu pilih folder tempat Anda mengupload file dump lengkap (langkah 4 di bagian Siapkan data sumber Anda).
- Klik Simpan.
- Klik Simpan dan lanjutkan.
Pilih instance Cloud SQL tujuan
- Dari menu Jenis instance tujuan, pilih Instance yang ada.
- Di bagian Select destination instance, pilih instance tujuan Anda.
- Tinjau informasi di bagian Instance details, lalu klik Select and continue.
- Untuk bermigrasi ke database tujuan yang ada, Database Migration Service menurunkan instance target dan mengonversinya menjadi replika. Untuk menandakan bahwa penurunan versi dapat dilakukan dengan aman, masukkan ID instance tujuan di jendela konfirmasi.
- Klik Konfirmasi dan lanjutkan.
Menyiapkan konektivitas antara instance database sumber dan tujuan
Dari menu drop-down Metode konektivitas, pilih metode konektivitas jaringan. Metode ini menentukan cara menghubungkan instance Cloud SQL yang baru dibuat ke database sumber. Metode konektivitas jaringan saat ini mencakup daftar yang diizinkan IP, tunnel SSH terbalik, dan peering VPC.
Jika Anda ingin menggunakan... Maka... Metode konektivitas jaringan daftar IP yang diizinkan, Anda harus menentukan alamat IP keluar instance tujuan. Jika instance Cloud SQL yang Anda buat adalah instance ketersediaan tinggi, sertakan alamat IP keluar untuk instance utama dan sekunder. Metode konektivitas jaringan tunnel SSH terbalik, Anda perlu memilih instance VM Compute Engine yang akan menghosting tunnel. Setelah menentukan instance, Google akan memberikan skrip yang menjalankan langkah-langkah untuk menyiapkan tunnel antara database sumber dan tujuan. Anda harus menjalankan skrip di Google Cloud CLI.
Jalankan perintah dari mesin yang memiliki konektivitas ke database sumber dan ke Google Cloud.
Metode konektivitas jaringan peering VPC, Anda perlu memilih jaringan VPC tempat database sumber berada. Instance Cloud SQL akan diupdate agar terhubung ke jaringan ini. Setelah Anda memilih dan mengonfigurasi konektivitas jaringan, klik Konfigurasi dan lanjutkan.
Menguji, membuat, dan menjalankan tugas migrasi
Pada langkah terakhir ini, tinjau ringkasan setelan tugas migrasi, sumber, tujuan, dan metode konektivitas, lalu uji validitas penyiapan tugas migrasi. Jika ada masalah, Anda dapat mengubah setelan tugas migrasi. Tidak semua setelan dapat diedit.
-
Di halaman Uji dan buat tugas migrasi, klik Uji tugas.
Jika pengujian gagal, Anda dapat mengatasi masalah tersebut di bagian alur yang sesuai, lalu kembali untuk menguji ulang. Untuk informasi pemecahan masalah pengujian tugas migrasi yang gagal, lihat Mendiagnosis masalah untuk MySQL.
-
Setelah pengujian tugas migrasi selesai, klik Buat dan mulai tugas.
Migrasi Anda kini sedang berlangsung. Saat Anda memulai tugas migrasi, Database Migration Service akan memulai dump penuh, yang mengunci database sumber untuk sementara.
gcloud
Untuk mengonfigurasi dan menjalankan migrasi, lakukan langkah-langkah berikut:
Buat tugas migrasi.
Jalankan perintah berikut (klik link untuk meluaskan):gcloud database-migration migration-jobs create
Contoh ini menggunakan tanda
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati tanda--no-async
untuk menjalankan perintah secara asinkron. Jika ya, Anda harus menggunakan perintahgcloud database-migration operations describe
untuk memverifikasi apakah operasi Anda berhasil.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan ID yang dapat dibaca mesin untuk tugas migrasi Anda. Anda menggunakan nilai ini untuk bekerja dengan tugas migrasi menggunakan perintah atau API Google Cloud CLI Database Migration Service.
- REGION dengan ID region tempat Anda ingin menyimpan tugas migrasi.
- MIGRATION_JOB_NAME dengan nama yang mudah dibaca manusia untuk tugas migrasi Anda. Nilai ini ditampilkan di Database Migration Service di konsol Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID dengan ID profil koneksi sumber yang dapat dibaca mesin.
- DESTINATION_CONNECTION_PROFILE_ID dengan ID profil koneksi tujuan yang dapat dibaca mesin.
- MIGRATION_JOB_TYPE dengan jenis tugas migrasi Anda. Dua nilai diizinkan:
ONE_TIME
atauCONTINUOUS
. Untuk mengetahui informasi selengkapnya, lihat Jenis migrasi. - PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
dengan jalur ke file cadangan fisik Anda yang disimpan dalam folder di bucket Cloud Storage.
Gunakan format berikut:
gs://<bucket_name>/<path_to_backup_file_folder>
. - Konfigurasi jaringan
Jika Anda menggunakan konektivitas IP pribadi dengan Peering Jaringan VPC atau tunnel SSH terbalik, tambahkan flag berikut ke perintah Anda:
- Konektivitas IP pribadi dengan Peering Jaringan VPC
- Gunakan flag
--peer-vpc
untuk menentukan nama jaringan yang ingin Anda peering. - Tunnel SSH terbalik di VM Compute Engine
- Gunakan flag berikut untuk memberikan detail jaringan untuk Compute Engine:
--vm-ip
,--vm-port
,--vpc
. Anda juga dapat menggunakan tanda--vm
opsional untuk menentukan nama VM.
Untuk contoh penggunaan lainnya, lihat Contoh Google Cloud CLI.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Anda akan melihat respons seperti berikut:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
-
Demosikan instance tujuan Cloud SQL Anda.
Jalankan perintah berikut (klik link untuk meluaskan):gcloud database-migration migration-jobs demote-destination
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
Jika tidak mengetahui ID, Anda dapat menggunakan perintah
gcloud database-migration migration-jobs list
untuk mencantumkan semua tugas migrasi di region tertentu dan melihat ID-nya. - REGION dengan ID region tempat profil koneksi Anda disimpan.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Hasil
Tindakan dilakukan secara asinkron. Oleh karena itu, perintah ini menampilkan entitas Operasi yang mewakili operasi yang berjalan lama:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: demote-destination name: OPERATION_ID
Untuk melihat apakah operasi Anda berhasil, Anda dapat membuat kueri objek operasi yang ditampilkan, atau memeriksa status tugas migrasi:
- Gunakan perintah
gcloud database-migration migration-jobs describe
untuk melihat status tugas migrasi. - Gunakan
gcloud database-migration operations describe
dengan OPERATION_ID untuk melihat status operasi itu sendiri.
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
-
(Opsional) Lakukan pengujian tugas migrasi
Anda dapat menjalankan pemeriksaan untuk memverifikasi apakah Database Migration Service dapat menjangkau semua entitas sumber dan tujuan yang diperlukan. Jalankan perintah berikut (klik link untuk meluaskan):gcloud database-migration migration-jobs verify
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
Jika tidak mengetahui ID, Anda dapat menggunakan perintah
gcloud database-migration migration-jobs list
untuk mencantumkan semua tugas migrasi di region tertentu dan melihat ID-nya. - REGION dengan ID region tempat profil koneksi Anda disimpan.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Hasil
Tindakan dilakukan secara asinkron. Oleh karena itu, perintah ini menampilkan entitas Operasi yang mewakili operasi yang berjalan lama:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Untuk melihat apakah operasi Anda berhasil, Anda dapat membuat kueri objek operasi yang ditampilkan, atau memeriksa status tugas migrasi:
- Gunakan perintah
gcloud database-migration migration-jobs describe
dengan MIGRATION_JOB_ID untuk melihat status tugas migrasi. - Gunakan perintah
gcloud database-migration operations describe
dengan OPERATION_ID untuk melihat status operasi itu sendiri.
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
-
Mulai tugas migrasi.
Jalankan perintah berikut (klik link untuk meluaskan):gcloud database-migration migration-jobs start
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
Jika tidak mengetahui ID, Anda dapat menggunakan perintah
gcloud database-migration migration-jobs list
untuk mencantumkan semua tugas migrasi di region tertentu dan melihat ID-nya. - REGION dengan ID region tempat profil koneksi Anda disimpan.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Hasil
Tindakan dilakukan secara asinkron. Oleh karena itu, perintah ini menampilkan entitas Operasi yang mewakili operasi yang berjalan lama:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Untuk melihat apakah operasi Anda berhasil, Anda dapat membuat kueri objek operasi yang ditampilkan, atau memeriksa status tugas migrasi:
- Gunakan perintah
gcloud database-migration migration-jobs describe
dengan MIGRATION_JOB_ID untuk melihat status tugas migrasi. - Gunakan perintah
gcloud database-migration operations describe
dengan OPERATION_ID untuk melihat status operasi itu sendiri.
Saat Anda memulai tugas migrasi, instance Cloud SQL tujuan Anda akan disetel ke mode hanya baca dan dikelola sepenuhnya oleh Database Migration Service. Anda dapat mempromosikannya ke instance mandiri setelah data Anda dimigrasikan sepenuhnya.
Catatan: Anda dapat memantau progres migrasi, serta kondisi instance tujuan dengan fitur kejelasan Database Migration Service. Lihat [Metrik tugas migrasi](/database-migration/docs/mysql/migration-job-metrics).
- MIGRATION_JOB_ID dengan
ID tugas migrasi Anda.
-
Buat instance tujuan Cloud SQL untuk MySQL. Pastikan Anda menggunakan resource komputasi dan memori yang cukup untuk memenuhi kebutuhan migrasi Anda.
Lihat Membuat instance di
dokumentasi Cloud SQL.
Langkah 4. (Opsional) Hentikan migrasi
Anda dapat menghentikan dan menghapus tugas migrasi kapan saja jika ingin membatalkan proses migrasi data. Anda dapat mengelola tugas migrasi di konsol Google Cloud atau dengan Google Cloud CLI.
Untuk mengetahui informasi tentang cara mengelola tugas migrasi di konsol Google Cloud , lihat Mengelola tugas migrasi.
Untuk mengetahui informasi tentang cara mengelola tugas migrasi dengan Google Cloud CLI, lihat referensi
gcloud database-migration migration-jobs
.
Langkah 5. Menyelesaikan migrasi
Setelah tugas migrasi berhasil diselesaikan, selesaikan tugas migrasi dengan melakukan salah satu langkah berikut:
Untuk migrasi satu kali: Status tugas migrasi berubah menjadi Selesai. Tidak ada tindakan lebih lanjut yang diperlukan, Anda dapat membersihkan tugas migrasi dan resource profil koneksi.
Untuk migrasi berkelanjutan: Promosikan tugas migrasi untuk mengalihkan aplikasi Anda ke instance database baru.