Anda dapat memigrasikan database MySQL ke Cloud SQL menggunakan file cadangan database fisik yang dibuat dengan utilitas Percona XtraBackup untuk MySQL. Memigrasikan dengan file cadangan fisik menawarkan peningkatan kecepatan pemulihan data dibandingkan migrasi yang menggunakan file cadangan logis. Hal ini menjadikannya pilihan 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 untuk MySQL.
Mengupload file cadangan 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 informasi selengkapnya, lihat langkah Mengonfigurasi dan menjalankan 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 jika 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 kontennya 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 prosedurnya 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 mengonfigurasi opsi jaringan tambahan apa pun.
- 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 sebelumnya. Misalnya, Anda tidak dapat bermigrasi dari MySQL 8.0 ke 5.7 atau dari MySQL 8.0.36 ke 8.0.16.
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 di lokasi. 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 akan gagal.Database apa pun 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 file fisik Percona XtraBackup Anda melebihi 5 TB, Anda harus membagi file cadangan menjadi 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 tagihan 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 bersifat regional, yang berarti semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan, bucket penyimpanan) harus disimpan di 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 Anda perlukan guna melakukan migrasi MySQL homogen menggunakan file cadangan fisik, minta administrator untuk memberi Anda peran IAM berikut pada 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 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 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 sumber dan instance tujuan Cloud SQL. Bergantung pada metode yang Anda gunakan, mungkin ada 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 menggunakan Percona XtraBackup. Untuk informasi lengkap tentang cara menggunakan Percona XtraBackup, lihat
dokumentasi alat tersebut. Anda juga dapat meluaskan bagian berikut untuk melihat contoh
langkah yang direkomendasikan.
Contoh langkah-langkah yang direkomendasikan untuk membuat dan menyiapkan file cadangan fisik 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 untuk menyimpan file cadangan. Pastikan Anda menggunakan region yang sama dengan region tempat Anda
ingin membuat instance Cloud SQL untuk MySQL tujuan.
Database Migration Service adalah produk yang sepenuhnya bersifat regional, yang berarti bahwa semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan, bucket penyimpanan untuk file cadangan) harus disimpan di 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 Google Cloud Konsol.
- 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 dapat dibaca manusia untuk profil koneksi Anda. Nilai ini ditampilkan dalam daftar profil koneksi.
- Simpan ID profil koneksi yang dibuat secara 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 default adalah 3306.
- Masukkan nama pengguna dan sandi untuk database tujuan. Akun pengguna harus memiliki hak istimewa yang diperlukan untuk mengakses data Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi database sumber.
- Di bagian Connection profile region pada halaman, 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 akan mengautentikasi sumber, memastikan bahwa instance terhubung ke host yang benar dengan aman. Hal ini mencegah serangan person-in-the-middle. Untuk autentikasi khusus server, sumber tidak mengautentikasi instance.
Untuk menggunakan autentikasi khusus server, Anda harus memberikan sertifikat certificate authority (CA) berenkode PEM x509 yang menandatangani sertifikat server eksternal.
- Autentikasi server-klien: Saat instance tujuan terhubung ke
sumber, instance akan mengautentikasi sumber dan sumber
akan mengautentikasi instance.
Autentikasi klien server memberikan keamanan terkuat. Namun, jika 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 flag
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati flag--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 ingin Anda hubungkan ke instance database sumber dengan Layanan Migrasi Database.
- 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 bermigrasi dengan Percona XtraBackup, Anda mungkin ingin membuat instance tujuan Cloud SQL sendiri, atau meminta Database Migration Service membuatnya untuk Anda. Untuk 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 dengan skenario Anda:
- Jika Anda ingin Database Migration Service membuat database tujuan untuk Anda, pilih Migrasi 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 bermigrasi ke instance tujuan baru, Database Migration Service akan membuat instance Cloud SQL untuk MySQL tujuan bagi Anda selama alur pembuatan tugas migrasi.Langkah 3a. Membuat 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 titik tersebut 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 menangani 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 bersifat regional, yang berarti semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan) harus disimpan di satu region. Pilih region berdasarkan lokasi layanan yang memerlukan 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 Define a source, lakukan langkah-langkah berikut:
- Dari menu drop-down Source connection profile, pilih profil koneksi untuk database sumber Anda.
- Di bagian Customize full dump configuration, klik Edit configuration.
- Di panel Edit konfigurasi dump penuh, dari menu drop-down Metode dump penuh, pilih Berbasis fisik.
- Di bagian Berikan folder Anda, klik Jelajahi, lalu pilih folder tempat Anda mengupload file dump lengkap (langkah 3 di bagian Menyiapkan data sumber).
- Klik Save.
- Klik Simpan dan lanjutkan.
Mengonfigurasi dan membuat instance Cloud SQL tujuan
- Di halaman Menentukan tujuan, dari menu drop-down Jenis instance tujuan, pilih Instance baru. Tentukan semua setelan yang relevan:
- Di kolom Destination Instance ID, berikan ID untuk instance Cloud SQL atau gunakan ID yang dibuat secara 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.
Ada dua opsi yang tersedia: edisi Cloud SQL untuk MySQL Enterprise dan
edisi Cloud SQL untuk MySQL Enterprise Plus.
Edisi Cloud SQL untuk MySQL dilengkapi dengan berbagai kumpulan fitur, jenis mesin yang tersedia, dan harga. Pastikan Anda membaca dokumentasi Cloud SQL untuk memilih edisi yang sesuai dengan kebutuhan Anda. Untuk informasi selengkapnya, lihat Pengantar edisi Cloud SQL untuk MySQL.
- Menu Region menampilkan region yang sama dengan yang Anda pilih di halaman Get started.
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, kedua zona tersebut harus berbeda.
- Di bagian Koneksi, 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 lengkap.
- Service Networking API diaktifkan. Anda dapat mengaktifkan Service Networking API menggunakan Konsol Google Cloud.
- Anda memiliki
izin IAM
servicenetworking.services.addPeering
. - Anda telah
mengonfigurasi akses layanan pribadi untuk project, yang
memerlukan peran IAM
compute.networkAdmin
. - Ada minimal satu jaringan VPC non-legacy di project Anda, atau jaringan VPC Bersama.
- Jika menggunakan
Jaringan VPC bersama, Anda juga perlu 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 untuk melakukan 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 menggunakan daftar yang diizinkan IP,
pilih
IP Publik.
Secara opsional, di bagian IP Publik, klik kolom Jaringan yang diizinkan, lalu izinkan 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 di 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 Destination Instance ID, berikan ID untuk instance Cloud SQL atau gunakan ID yang dibuat secara otomatis.
- Pilih jenis mesin untuk instance Cloud SQL. Ukuran disk harus sama dengan atau lebih besar dari ukuran database sumber. Pelajari jenis mesin MySQL lebih lanjut.
- 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 informasi selengkapnya tentang cache data, lihat Ringkasan cache data dalam 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 tidak dapat menguranginya.
(Opsional) Konfigurasikan opsi enkripsi data atau label resource untuk instance tujuan Anda.
Luaskan bagian ini untuk melihat langkah-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, 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 flag yang diperlukan untuk diterapkan ke server database. Jika memungkinkan, pastikan tanda database pada instance Cloud SQL tujuan yang dibuat sama dengan tanda pada database sumber. Pelajari lebih lanjut flag 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 seluruh label.
- Klik Create destination and continue. 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... Lalu... 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 harus 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 harus memilih jaringan VPC tempat database sumber berada. Instance Cloud SQL akan diperbarui untuk terhubung ke jaringan ini. Setelah Anda memilih dan mengonfigurasi konektivitas jaringan, klik Konfigurasikan dan lanjutkan.
Membuat 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 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 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 akan 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 flag
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati flag--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 menyertakan 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 flag
--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 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 sertakan flag tambahan dalam perintah Anda.
Perluas bagian ini untuk mengetahui persyaratan IP pribadi lengkap.
- Service Networking API diaktifkan. Anda dapat mengaktifkan Service Networking API menggunakan Konsol Google Cloud.
- Anda memiliki
izin IAM
servicenetworking.services.addPeering
. - Anda telah
mengonfigurasi akses layanan pribadi untuk project, yang
memerlukan peran IAM
compute.networkAdmin
. - Ada minimal satu jaringan VPC non-legacy di project Anda, atau jaringan VPC Bersama.
- Jika menggunakan
jaringan VPC Bersama, Anda juga perlu melakukan hal berikut:
- Aktifkan Service Networking API untuk project host.
- Menambahkan pengguna Anda ke project host.
- Berikan peran IAM compute.networkAdmin kepada pengguna di project host.
Sertakan flag 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 memiliki alamat IP publik dan pribadi yang ditetapkan 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, konfigurasikan instance database sumber untuk mengizinkan koneksi dari alamat dan port publik tujuan Cloud SQL Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi konektivitas menggunakan daftar yang diizinkan IP.
- Jika Anda menggunakan tunnel SSH terbalik, siapkan tunnel di VM Compute Engine. Untuk 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 flag
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati flag--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 menangani 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 dapat 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 yang dapat dibaca mesin dari profil koneksi tujuan.
- MIGRATION_JOB_TYPE dengan jenis tugas migrasi Anda. Dua nilai diizinkan:
ONE_TIME
atauCONTINUOUS
. Untuk 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 di-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 flag--vm
opsional untuk menentukan nama VM.
Untuk mengetahui 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 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.
Langkah 3c. (Opsional) Menguji 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 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 telah 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-nya, 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. Dengan demikian, 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 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. Memulai 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 Start.
- Dalam 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-nya, 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. Dengan demikian, 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 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, lakukan langkah-langkah berikut:
-
Buat instance tujuan Cloud SQL untuk MySQL. Pastikan Anda menggunakan resource komputasi dan memori yang cukup untuk memenuhi kebutuhan migrasi.
Lihat Membuat instance dalam 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 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 akan mengelola profil koneksi untuk Anda.
Lanjutkan ke bagian Membuat dan menjalankan tugas migrasi.
gcloud
Contoh ini menggunakan flag
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati flag--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 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 titik tersebut 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 menangani 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 bersifat regional, yang berarti semua entitas yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan) harus disimpan di satu region. Pilih region berdasarkan lokasi layanan yang memerlukan 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 Define a source, lakukan langkah-langkah berikut:
- Dari menu drop-down Source connection profile, pilih profil koneksi untuk database sumber Anda.
- Di bagian Customize full dump configuration, klik Edit configuration.
- Di panel Edit konfigurasi dump penuh, dari menu drop-down Metode dump penuh, pilih Berbasis fisik.
- Di bagian Berikan folder Anda, klik Jelajahi, lalu pilih folder tempat Anda mengupload file dump lengkap (langkah 4 di bagian Menyiapkan data sumber).
- Klik Save.
- 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 mendemosikan instance target dan mengonversinya menjadi replika. Untuk menunjukkan bahwa penurunan 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... Lalu... 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 harus 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 harus memilih jaringan VPC tempat database sumber berada. Instance Cloud SQL akan diperbarui untuk terhubung ke jaringan ini. Setelah Anda memilih dan mengonfigurasi konektivitas jaringan, klik Konfigurasikan 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, dan kembali untuk menguji ulang. Untuk informasi pemecahan masalah pengujian tugas migrasi yang gagal, lihat Mendiagnosis masalah untuk MySQL.
-
Setelah pengujian tugas migrasi selesai, klik Create and start job.
Migrasi Anda sekarang 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 flag
--no-async
opsional sehingga semua operasi dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati flag--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 menangani 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 dapat 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 yang dapat dibaca mesin dari profil koneksi tujuan.
- MIGRATION_JOB_TYPE dengan jenis tugas migrasi Anda. Dua nilai diizinkan:
ONE_TIME
atauCONTINUOUS
. Untuk 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 di-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 flag--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-nya, 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. Dengan demikian, 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 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) Melakukan 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. Dengan demikian, 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 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-nya, 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. Dengan demikian, 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 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 akan dimasukkan ke dalam mode hanya baca yang dikelola sepenuhnya oleh Database Migration Service. Anda dapat mempromosikannya ke instance mandiri saat data dimigrasikan sepenuhnya.
Catatan: Anda dapat memantau progres migrasi, serta kondisi instance tujuan dengan fitur visibilitas 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.
Lihat Membuat instance dalam 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 informasi tentang cara mengelola tugas migrasi di konsol Google Cloud, lihat Mengelola tugas migrasi.
Untuk informasi tentang cara mengelola tugas migrasi dengan Google Cloud CLI, lihat referensi
gcloud database-migration migration-jobs
.
Langkah 5. Menyelesaikan migrasi
Jika tugas migrasi berhasil diselesaikan, selesaikan tugas migrasi dengan melakukan salah satu langkah berikut:
Untuk migrasi satu kali: Status tugas migrasi berubah menjadi Selesai. Tidak perlu tindakan lebih lanjut, Anda dapat membersihkan tugas migrasi dan resource profil koneksi.
Untuk migrasi berkelanjutan: Promosikan tugas migrasi untuk mengalihkan aplikasi Anda ke instance database baru.