Database Migration Service menggunakan tugas migrasi untuk memigrasikan data dari database sumber Anda ke instance tujuan Cloud SQL. Tugas migrasi membantu Anda mengatur profil koneksi sumber dan tujuan, menentukan setelan khusus untuk proses migrasi, memantau progres, dan menyelesaikan seluruh operasi dengan aman.
Pembuatan tugas migrasi mencakup pelaksanaan tugas berikut:
Memilih profil koneksi sumber dan tujuan.
Memilih database yang terdeteksi di instance sumber yang ingin Anda migrasikan.
Melakukan pengujian tugas migrasi untuk memastikan bahwa Database Migration Service dapat terhubung ke sumber dan tujuan data Anda.
Memulai tugas migrasi, dan memantau progresnya.
Mempromosikan tugas migrasi saat Anda ingin mengalihkan aplikasi ke instance baru.
Sebelum memulai
- Pastikan Anda memenuhi persyaratan berikut:
- Anda memiliki bucket Cloud Storage untuk file cadangan SQL Server.
- File log transaksi dan cadangan lengkap Anda diupload ke bucket Cloud Storage.
- Anda memiliki profil koneksi sumber untuk bucket Cloud Storage.
- Anda telah membuat dan mengonfigurasi instance Cloud SQL for SQL Server tujuan, dan Anda memiliki profil koneksi tujuan untuk instance tersebut.
- Di Google Cloud konsol, pada halaman pemilih project, pilih atau buat Google Cloud project.
- Aktifkan Database Migration Service, Compute Engine, Cloud Storage, dan Cloud SQL Admin API.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat tugas migrasi di Database Migration Service, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Database Migration Admin (
roles/datamigration.admin
) -
Storage Admin (
roles/storage.admin
) -
Cloud SQL Editor (
roles/cloudsql.editor
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk melakukan migrasi SQL Server homogen dengan Database Migration Service. Untuk melihat izin persis yang diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melakukan migrasi SQL Server homogen dengan Database Migration Service:
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.databases.get
cloudsql.databases.delete
cloudsql.operations.get
compute.machineTypes.list
compute.machineTypes.get
compute.projects.get
storage.buckets.create
storage.buckets.list
storage.objects.list
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menentukan setelan dan membuat tugas migrasi
Untuk membuat tugas migrasi, lakukan langkah-langkah berikut:
Konsol
- 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. Lihat Memperbarui tugas migrasi draf.
- 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 SQL Server atau Amazon RDS untuk SQL Server.
Kolom Mesin database tujuan dan Jenis tugas migrasi diisi secara otomatis dan tidak dapat diubah.
- Nama tugas migrasi
- Klik Simpan dan lanjutkan.
- Di halaman Tentukan sumber Anda, lakukan hal berikut:
- Gunakan menu drop-down untuk memilih profil koneksi sumber Anda.
Jika belum memiliki profil koneksi sumber, Anda dapat mengklik Buat profil koneksi langsung di menu drop-down. Untuk mengetahui informasi selengkapnya tentang cara membuat profil koneksi, lihat Membuat profil koneksi sumber.
- Jika Anda ingin menggunakan file pencadangan diferensial dalam migrasi,
di bagian Sesuaikan konfigurasi sumber, centang kotak
Gunakan pencadangan diferensial.
Pencadangan diferensial berguna jika Anda perlu mereplikasi banyak data yang muncul di database Anda sejak pencadangan penuh dan Anda ingin menanganinya secara massal, bukan mengupload beberapa file log transaksi. Untuk mengetahui informasi selengkapnya tentang jenis pencadangan yang didukung, lihat Jenis file cadangan yang didukung.
Jika Anda menggunakan cadangan diferensial, pastikan Anda membuat folder
diff
di bucket Cloud Storage Anda. Lihat Menyimpan file cadangan di bucket Cloud Storage. - Klik Simpan dan lanjutkan.
- Gunakan menu drop-down untuk memilih profil koneksi sumber Anda.
- Di halaman Tentukan tujuan, gunakan menu drop-down untuk memilih profil koneksi tujuan Anda.
Jika belum memiliki profil koneksi tujuan, Anda dapat mengklik Buat profil koneksi langsung di menu drop-down. Untuk mengetahui informasi selengkapnya tentang cara membuat profil koneksi, lihat Membuat profil koneksi tujuan.
- Klik Simpan dan lanjutkan.
- Di halaman Configure migration databases, lakukan tindakan berikut:
- Di bagian Pilih database yang akan dimigrasikan, gunakan
kotak centang untuk memilih database yang ingin Anda sertakan dalam
tugas migrasi ini. Daftar ini diisi berdasarkan folder yang Anda buat
di bucket Cloud Storage untuk file cadangan Anda.
Anda dapat menambahkan dan menghapus database dari tugas migrasi nanti. Lihat Menambahkan atau menghapus database dari tugas migrasi.
- (Opsional) Jika Anda menggunakan cadangan terenkripsi, berikan kunci
enkripsi untuk cadangan Anda. Untuk mengetahui detail selengkapnya tentang penggunaan cadangan terenkripsi, lihat
Menggunakan cadangan terenkripsi.
Melakukan tindakan berikut:
- Klik Edit detail di samping database yang Anda pilih untuk migrasi.
Panel samping Enkripsi akan terbuka.
- Gunakan menu drop-down Kunci enkripsi untuk memilih kunci Anda.
- Di kolom Password, masukkan sandi kunci enkripsi.
- Klik Simpan dan keluar.
- Klik Edit detail di samping database yang Anda pilih untuk migrasi.
- Di bagian Pilih database yang akan dimigrasikan, gunakan
kotak centang untuk memilih database yang ingin Anda sertakan dalam
tugas migrasi ini. Daftar ini diisi berdasarkan folder yang Anda buat
di bucket Cloud Storage untuk file cadangan Anda.
- Klik Simpan dan lanjutkan.
- Di Uji dan buat tugas migrasi, lakukan tindakan berikut:
- (Opsional) Klik Uji tugas untuk memverifikasi apakah Database Migration Service
dapat berhasil mengidentifikasi semua file cadangan dan membuat
koneksi jaringan yang diperlukan.
Jika pengujian gagal, Anda dapat melihat pesan error untuk mengatasi masalah, dan menjalankan pengujian lagi. Untuk mengetahui informasi selengkapnya tentang kemungkinan error, lihat Mendiagnosis masalah.
- Klik Buat dan mulai tugas untuk memulai migrasi.
Jika Anda ingin menjalankan tugas migrasi pada waktu yang berbeda, klik Simpan dan kembali lagi nanti untuk menjalankan tugas. Lihat Mulai tugas migrasi.
- (Opsional) Klik Uji tugas untuk memverifikasi apakah Database Migration Service
dapat berhasil mengidentifikasi semua file cadangan dan membuat
koneksi jaringan yang diperlukan.
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 perintah
gcloud 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.
- COMMA_SEPARATED_DATABASE_ID_LIST dengan
daftar ID database yang dipisahkan koma dari SQL Server yang ingin Anda
migrasikan dari file cadangan Anda. ID ini harus sama dengan
nama folder database di Cloud Storage Anda.
Contoh:
--sqlserver-databases=my-business-database,my-other-database
- Konfigurasi pencadangan diferensial: Jika Anda menggunakan file pencadangan diferensial untuk
migrasi, tambahkan tanda
--sqlserver-diff-backup
ke perintah Anda. Secara default, tugas migrasi tidak menggunakan file pencadangan diferensial dan mengabaikan folderdiff
di bucket Cloud Storage Anda.Untuk mengetahui informasi selengkapnya tentang file cadangan yang didukung, lihat Jenis file cadangan yang didukung.
- (Opsional) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS
dengan jalur disk lokal Anda ke file konfigurasi yang memetakan jalur ke kunci enkripsi di Cloud Storage
dengan ID database yang relevan. Untuk mengetahui informasi selengkapnya tentang cara membuat file pemetaan ini, lihat Menggunakan cadangan terenkripsi.
Contoh:
--sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json
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 \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \ --type=CONTINUOUS
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 ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ` --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ` --type=CONTINUOUS
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 ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^ --type=CONTINUOUS
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]
Tugas migrasi kini telah dibuat. Anda dapat melanjutkan proses migrasi:
- (Opsional) Lakukan pengujian tugas migrasi untuk memeriksa apakah Database Migration Service dapat menjangkau semua entitas sumber dan tujuan yang diperlukan.
- Mulai tugas migrasi untuk mulai memindahkan data Anda ke instance tujuan.