Topik ini menjelaskan fitur klon satu klik untuk mengklon instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL, mencakup metode yang tersedia, manfaatnya, perbandingan, prasyarat, batasan, dan penagihan.
Catatan penting
Saat Anda mengklon data ke kluster PolarDB menggunakan fitur klon satu klik, fitur tersebut tidak menyinkronkan data inkremental dari instans RDS sumber ke kluster PolarDB target.
Jika Anda perlu membuat kluster PolarDB baru dan menyinkronkan data inkremental dari instans RDS sumber ke kluster PolarDB secara real time untuk melakukan migrasi tanpa downtime, lihat Upgrade instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL dengan satu klik.
Ikhtisar
PolarDB mendukung klon satu klik data dari instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL baru. Fitur klon satu klik membuat kluster PolarDB baru dengan data yang sama seperti instans RDS sumber, dan kluster PolarDB tersebut berisi akun, database, daftar putih IP, serta parameter yang diperlukan dari instans RDS sumber.
Daftar berikut menjelaskan versi dan jenis penyimpanan yang didukung untuk instans ApsaraDB RDS for MySQL sumber dan kluster PolarDB for MySQL target:
Anda dapat mengklon instans ApsaraDB RDS for MySQL sumber dengan semua versi dan semua jenis penyimpanan. Instans ApsaraDB RDS for MySQL 5.6, 5.7, dan 8.0 yang menggunakan SSD lokal atau disk cloud dapat diklon ke kluster PolarDB for MySQL.
Anda dapat mengklon instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL dengan versi yang sama atau berbeda. Misalnya, Anda dapat mengklon instans ApsaraDB RDS for MySQL 5.6 ke kluster PolarDB for MySQL 5.6, atau ke kluster PolarDB for MySQL 8.0.
Migrasi logis, yang menggunakan Data Transmission Service (DTS) untuk sinkronisasi data, digunakan dalam skenario berikut: mengklon instans ApsaraDB RDS for MySQL 8.0 ke kluster PolarDB for MySQL, mengklon instans ApsaraDB RDS for MySQL yang menggunakan disk cloud, dan mengklon instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL dengan versi berbeda.
Perbandingan migrasi fisik dan logis
Fitur klon satu klik mendukung dua metode: migrasi fisik (replikasi fisik) dan migrasi logis (sinkronisasi data menggunakan DTS).
Migrasi fisik (replikasi fisik): Metode ini menggunakan replikasi fisik untuk menyalin semua data dari instans ApsaraDB RDS for MySQL sumber ke kluster PolarDB for MySQL yang baru dibuat.
Migrasi logis (sinkronisasi data menggunakan DTS): Metode ini menggunakan Data Transmission Service (DTS) untuk membuat tugas sinkronisasi data. Tugas tersebut menyinkronkan skema dan data penuh dari instans ApsaraDB RDS for MySQL sumber ke kluster PolarDB for MySQL yang baru dibuat.
Tabel berikut membandingkan metode migrasi fisik dan logis.
Item | Migrasi fisik | Migrasi logis |
DTS requirement | No | Yes |
Incremental data migration | Not supported | Not supported |
Impact on source RDS operations | No impact | No impact |
Cross-version migration | Supports only same-version cloning for High-availability Edition MySQL 5.6 and 5.7 instances that use local SSDs. | Supports same-version and cross-version cloning. |
Whether to create a database account in the PolarDB cluster after cloning | No. The new PolarDB cluster contains the accounts from the source RDS instance. | No. The new PolarDB cluster contains the accounts from the source RDS instance. |
Migration of newly added databases | Not supported | Not supported |
Tabel berikut menjelaskan versi dan jenis penyimpanan ApsaraDB RDS for MySQL yang dapat diklon.
RDS for MySQL version | Basic edition | High-availability edition | Cluster edition | Three-node enterprise edition |
5.6 | N/A | Local SSD | N/A | Local SSD |
5.7 | Cloud disk | Local SSD, cloud disk | Cloud disk | Local SSD |
8.0 | Cloud disk | Local SSD, cloud disk | Cloud disk | Local SSD |
Gunakan migrasi fisik hanya saat Anda mengklon instans ApsaraDB RDS for MySQL Edisi Ketersediaan Tinggi versi 5.6 atau 5.7 yang menggunakan SSD lokal ke kluster PolarDB for MySQL dengan versi yang sama. Untuk semua konfigurasi lainnya, migrasi logis digunakan untuk mengklon instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL dengan versi yang sama atau berbeda.
Manfaat
Proses kloning tidak menyebabkan kehilangan data.
Prasyarat
Untuk migrasi fisik, instans RDS sumber harus memenuhi persyaratan versi minor berikut. Migrasi logis tidak memiliki batasan versi.
Untuk ApsaraDB RDS for MySQL 5.6, versi minor harus 20190815 atau lebih baru.
Untuk ApsaraDB RDS for MySQL 5.7, versi minor harus 20200331 atau lebih baru.
CatatanAnda dapat menjalankan perintah
SHOW VARIABLES LIKE '%rds_release_date%';untuk memeriksa versi minor instans RDS sumber. Jika versi minor lebih lama dari yang disyaratkan, Anda dapat meng-upgrade-nya ke versi terbaru. Untuk informasi selengkapnya, lihat Upgrade versi mesin minor.Fitur klon satu klik hanya didukung untuk instans RDS sumber yang menggunakan mesin penyimpanan InnoDB atau X-Engine.
TDE dan SSL tidak diaktifkan pada instans RDS sumber. Jika salah satu fitur tersebut diaktifkan, Anda dapat membuat tugas migrasi data Data Transmission Service (DTS) secara manual untuk memigrasikan instans RDS sumber ke PolarDB. Untuk informasi selengkapnya, lihat Migrasi ApsaraDB RDS for MySQL ke PolarDB for MySQL.
Jika instans RDS Anda berjalan dalam Mode Keamanan Tinggi (dengan Database Proxy diaktifkan), Anda harus membuat akun istimewa (lihat Buat akun) atau beralih ke Mode Performa Tinggi (lihat [Product/Feature Change] RDS Network Link Upgrade Notice) untuk melakukan klon satu klik. Pada halaman Database Connection di konsol ApsaraDB RDS, Anda dapat melihat status Database Proxy, serta titik akhir internal (dalam format
InstanceID.mysql.rds.aliyuncs.com) dan port untuk jenis jaringan saat ini, seperti jaringan klasik.
Batasan
Anda hanya dapat mengklon instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL dengan versi yang sama atau lebih baru. Penurunan versi tidak didukung.
Misalnya, Anda tidak dapat mengklon instans ApsaraDB RDS for MySQL 5.7 ke kluster PolarDB for MySQL 5.6, atau instans ApsaraDB RDS for MySQL 8.0.2 ke kluster PolarDB for MySQL 8.0.1.
Migrasi fisik memiliki batasan berikut:
Migrasi lintas wilayah tidak didukung.
Anda tidak dapat mengubah parameter instans RDS sumber selama migrasi.
Migrasi logis memiliki batasan berikut:
Migrasi lintas wilayah tidak didukung.
Anda tidak dapat mengubah parameter instans RDS sumber selama migrasi.
Database sumber memiliki batasan berikut:
Type
Description
Source database limitations
Tabel yang Anda sinkronkan harus memiliki primary key atau unique constraint, dan semua field dalam constraint tersebut harus unik. Jika tidak, data duplikat mungkin ada di database tujuan.
Saat menyinkronkan di tingkat tabel dan mengedit objek (seperti pemetaan nama kolom), satu tugas mendukung hingga 1.000 tabel. Jika melebihi batas ini, error akan dilaporkan saat Anda mengirimkan tugas. Dalam kasus ini, kami menyarankan membagi tabel menjadi beberapa tugas atau mengonfigurasi tugas untuk menyinkronkan seluruh database.
Binlog harus diaktifkan, dan parameter
binlog_row_imageharus diatur keFULL. Untuk informasi selengkapnya tentang cara mengaktifkan Binlog, lihat Modify instance parameters. Jika tidak, pemeriksaan awal akan gagal, dan tugas sinkronisasi data tidak dapat dimulai.
Batasan lainnya:
Type
Description
Other limitations
Sebelum menyinkronkan data, evaluasi performa database sumber dan tujuan. Kami menyarankan melakukan sinkronisasi data selama jam sepi. Sinkronisasi data penuh awal mengonsumsi resource baca dan tulis di kedua database, yang dapat meningkatkan beban mereka.
Sinkronisasi data penuh awal melakukan operasi INSERT secara konkuren, yang dapat menyebabkan fragmentasi pada tabel database tujuan. Akibatnya, ruang tabel di instans tujuan akan lebih besar daripada di instans sumber setelah sinkronisasi.
Jika Anda menyinkronkan tabel individual alih-alih seluruh database, jangan lakukan perubahan DDL online pada tabel sumber menggunakan alat seperti
gh-ostataupt-online-schema-changeselama sinkronisasi data. Melakukannya akan menyebabkan sinkronisasi gagal.Anda dapat menggunakan Data Management Service (DMS) untuk melakukan perubahan DDL online. Untuk informasi selengkapnya, lihat Change schemas without locking tables.
Selama sinkronisasi DTS, jangan menulis data ke database tujuan dari sumber selain DTS. Hal ini dapat menyebabkan ketidakkonsistenan data. Misalnya, jika Anda menggunakan DMS untuk melakukan perubahan DDL online sementara sumber lain menulis ke database tujuan, kehilangan data dapat terjadi.
Secara default, DTS menonaktifkan foreign key constraint saat menyinkronkan ke database tujuan. Oleh karena itu, operasi cascade dan delete dari database sumber tidak disinkronkan.
Penagihan
Migrasi dari ApsaraDB RDS ke PolarDB tidak dikenai biaya. Anda hanya dikenai biaya untuk kluster PolarDB baru. Untuk informasi selengkapnya tentang harga kluster PolarDB, lihat Billable items.
Anda dikenai biaya untuk kluster PolarDB dan tugas sinkronisasi data DTS. Namun, tugas tersebut gratis selama 30 hari pertama sebagai bagian dari uji coba. Uji coba gratis ini tidak tersedia untuk akun operator jaringan virtual (VNO), akun Jushita, akun Alibaba Cloud International Site, atau pengguna RAM (sub-akun). Tabel berikut menjelaskan detailnya.
Migration object
Fee
Schema and full data synchronization
You are not charged for the synchronization task for 30 days after creation.
After 30 days, the synchronization task is automatically canceled.
CatatanYou can go to the Data Synchronization Tasks page of the new DTS console to view the remaining time for the synchronization task.
Bagian berikut menjelaskan cara mengklon instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL.
Pemeriksaan Awal (hanya untuk migrasi logis)
Verifikasi peran terkait layanan untuk PolarDB
Sebelum menggunakan migrasi logis (sinkronisasi data menggunakan DTS) untuk mengklon instans, periksa apakah peran terkait layanan PolarDB telah dibuat. Lakukan langkah-langkah berikut:
Masuk ke Konsol Resource Access Management (RAM) menggunakan akun Alibaba Cloud Anda, lalu buka Identity Management > Role.
Di daftar role, periksa apakah ada peran terkait layanan bernama AliyunServiceRoleForPolarDB: masukkan nama role
AliyunServiceRoleForPolarDBdi kotak pencarian dan pastikan peran terkait layanan muncul dalam daftar.Jika sudah ada, lewati pemeriksaan ini.
Jika belum ada, lanjutkan ke langkah berikutnya.
Klik Create Role. Di halaman Create Role yang terbuka, klik Create Service-linked Role di pojok kanan atas.
Di halaman Create Service-linked Role yang terbuka, atur Trusted Cloud Service ke AliyunServiceRoleForPolarDB dan klik Create Service-linked Role untuk menyelesaikan pembuatan.
Hapus akun sistem berlebih
Untuk memastikan kompatibilitas antara struktur akun sistem ApsaraDB RDS for MySQL dan PolarDB, serta mencegah akun sistem kluster PolarDB tujuan ditimpa, instans RDS sumber tidak boleh memiliki akun root dan aliyun_root secara bersamaan. Sebelum kloning, hapus akun sistem berlebih dari instans sumber.
Nama akun sistem yang benar untuk setiap versi RDS for MySQL adalah sebagai berikut:
RDS for MySQL Version | Correct System Account Name |
RDS for MySQL 5.6 | root |
RDS for MySQL 5.7 | aliyun_root |
RDS for MySQL 8.0 | aliyun_root |
Untuk setiap versi yang tercantum di atas, semua akun sistem selain yang benar harus dihapus. Misalnya, akun sistem yang benar untuk instans RDS for MySQL 5.7 adalah aliyun_root. Jika Anda membuat akun root secara manual di konsol, Anda harus menghapusnya. Sebelum menghapus, pastikan beban kerja Anda tidak menggunakan akun root.
Akun sistem mungkin dibuat secara manual atau dibuat oleh sistem dan tersisa akibat upgrade versi. Dalam beberapa kasus, akun tersebut mungkin tidak ditampilkan di konsol.
Contoh
Berikut ini menggunakan contoh instans RDS for MySQL 5.6 untuk menunjukkan cara menghapus akun sistem berlebih:
Hubungkan ke instans menggunakan akun berhak istimewa tinggi.
Temukan semua akun sistem
rootdanaliyun_root.SELECT * FROM mysql.user WHERE `user` IN ('root', 'aliyun_root');Hapus akun sistem berlebih. Untuk RDS for MySQL 5.6, akun sistem yang benar adalah
root, sehingga Anda perlu menghapus akunaliyun_root.DELETE FROM mysql.user WHERE `user` = 'aliyun_root' LIMIT n;
Langkah 1: Klon dari instans RDS
Langkah ini membuat kluster PolarDB yang memiliki data yang sama dengan instans RDS sumber.
Login ke Konsol PolarDB。
-
Di pojok kiri atas, pilih wilayah tempat kluster ditempatkan.
Klik Create Cluster.
Pilih metode penagihan: Subscription, Pay-As-You-Go, atau Serverless.
Subscription: Anda membayar untuk node komputasi saat membuat kluster. Penyimpanan ditagih per jam berdasarkan volume data aktual Anda, dan biayanya dipotong dari saldo akun Anda setiap jam.
Pay-As-You-Go: Tidak diperlukan pembayaran di muka. Baik node komputasi maupun penyimpanan (berdasarkan volume data aktual Anda) ditagih per jam, dan biayanya dipotong dari saldo akun Anda setiap jam.
Serverless: Tidak diperlukan pembayaran di muka. Resource seperti node komputasi, penyimpanan, dan proxy database diskalakan secara dinamis berdasarkan kebutuhan beban kerja aktual selama kluster digunakan, dan Anda dikenai biaya berdasarkan jumlah resource yang benar-benar digunakan.
Konfigurasikan parameter berikut.
CatatanUntuk informasi tentang parameter yang tidak dijelaskan dalam tabel berikut, lihat topik tentang Purchase a cluster.
Parameter
Description
Creation Method
Select Clone from RDS.
Region
Pilih wilayah tempat instans ApsaraDB RDS for MySQL sumber berada.
CatatanKluster PolarDB baru juga akan dibuat di wilayah ini.
Source RDS Version
Versi instans RDS sumber. Anda dapat memilih 5.6, 5.7, atau 8.0.
Source RDS Instance
Pilih instans RDS sumber. Instans read-only tidak ditampilkan.
Database Engine
Versi mesin database untuk kluster PolarDB tujuan. Anda dapat memilih versi yang sama dengan instans RDS sumber atau versi yang berbeda.
Node Specifications
Pilih spesifikasi berdasarkan kebutuhan bisnis Anda. Kami menyarankan memilih spesifikasi yang sama atau lebih tinggi dari spesifikasi instans RDS sumber. Untuk informasi selengkapnya tentang spesifikasi node PolarDB, lihat Compute node specifications of Enterprise Edition.
Di pojok kanan atas, tinjau konfigurasi kluster. Atur Subscription Duration (untuk kluster Subscription ), Quantity, dan apakah akan mengaktifkan Auto-renewal.
Baca dan terima Perjanjian Layanan. Klik Buy Now.
Di halaman Payment , konfirmasi detail pesanan yang belum dibayar dan metode pembayaran, lalu klik Place Order .
CatatanSetelah pembayaran berhasil, pembuatan kluster memerlukan waktu 10–15 menit. Anda kemudian dapat melihat kluster baru di Cluster List .
Jika node kluster menampilkan Creating , kluster belum siap. Hanya ketika status kluster menjadi Running Anda dapat menggunakannya.
Pastikan Anda memilih wilayah yang benar. Jika tidak, Anda tidak akan melihat kluster Anda.
Jika pemeriksaan awal gagal, kluster tujuan tetap dalam status Creating dan upgrade tidak dapat dilanjutkan secara otomatis. Selesaikan kegagalan pemeriksaan awal berdasarkan pesan error, lalu klik Continue Upgrade untuk melanjutkan. Dalam kasus ini, pembuatan kluster mungkin memerlukan waktu lebih dari 15 menit, yang merupakan hal yang wajar.
Login ke Konsol PolarDB dan lihat status kluster PolarDB baru.
CatatanJika Anda menggunakan migrasi logis, klik ID kluster untuk membuka halaman Basic Information dan periksa status migrasi. Jika status Migrasi RDS berubah menjadi Pre-check failed, ikuti petunjuk di bagian Error Message untuk menyelesaikan masalah.
Misalnya, jika pemicu telah dibuat di instans RDS sumber, pemeriksaan awal gagal dengan pesan error "Triggers exist in the RDS instance." Dalam kasus ini, hapus pemicu dari instans RDS sumber lalu klik Continue Migration. Atau, klik Cancel Migration dan buat tugas migrasi data secara manual di konsol DTS. Untuk informasi selengkapnya, lihat [Configure tasks for source databases with triggers].
Anda juga dapat memilih Give up migration pada langkah ini. Untuk informasi tentang dampaknya, lihat FAQ.
Langkah 2: Lihat detail sinkronisasi data (hanya untuk migrasi logis)
Jika Anda menggunakan migrasi logis, klik ID kluster untuk membuka halaman Basic Information dan periksa status migrasi. Jika terjadi error migrasi (seperti kegagalan pemeriksaan awal) atau pengecualian lain (seperti latensi replikasi tinggi), Anda dapat membuka halaman detail tugas sinkronisasi data DTS yang sesuai untuk melihat informasi spesifik.
Buka Konsol PolarDB.
Temukan kluster target dan klik ID-nya.
Di halaman Basic Information, di bagian RDS Migration, klik nama tugas di bawah DTS Data Synchronization Task untuk membuka daftar sinkronisasi data di konsol DTS.
Temukan tugas sinkronisasi data yang sesuai. Anda dapat melihat detail kegagalan pemeriksaan awal, detail tugas, dan log tugas.
Di halaman detail tugas, bagian Task Progress menampilkan status eksekusi empat tahap: pemeriksaan awal, migrasi skema 1, migrasi penuh, dan migrasi skema 2. Klik tab Check Items untuk melihat tingkat keberhasilan pemeriksaan awal dan hasil setiap item pemeriksaan, termasuk pemeriksaan konektivitas dan izin database sumber dan tujuan. Pemeriksaan awal berhasil jika semua item pemeriksaan lolos.
FAQ
Q: Apa perbedaan antara upgrade instans ApsaraDB RDS for MySQL dan klon satu klik instans ApsaraDB RDS for MySQL ke kluster PolarDB for MySQL?
A: Tabel berikut menjelaskan perbedaannya.
Item
One-click clone ApsaraDB RDS for MySQL to PolarDB for MySQL
Incremental data migration
Supported
Not supported
Impact on source RDS operations
No impact
No impact
Cross-version migration
Supported
Supported
Q: Apa dampak dari pembatalan migrasi?
A: Membatalkan migrasi memiliki dampak berikut:
Tautan sinkronisasi antara kluster sumber dan kluster tujuan terputus, dan kedua kluster tidak lagi saling terkait.
Kluster tujuan menjadi dapat dibaca dan ditulis serta tidak dilepas secara otomatis. Jika Anda tidak lagi memerlukan kluster tersebut, segera lepaskan untuk menghindari biaya tambahan.
Saat Anda membatalkan migrasi secara manual, Anda dapat memilih apakah akan menonaktifkan binlog untuk kluster tersebut. Jika migrasi dibatalkan secara otomatis, binlog tidak dinonaktifkan. Menonaktifkan binlog sedikit meningkatkan performa tulis. Setelah binlog dinonaktifkan, file binlog yang ada akan disimpan secara permanen. Anda dapat memperpendek periode retensi file binlog terlebih dahulu, tunggu hingga file yang tidak diperlukan dihapus secara otomatis, lalu nonaktifkan binlog.
CatatanSetelah binlog dinonaktifkan, kluster akan restart secara otomatis. Restart selesai dalam waktu 5 menit, dan layanan terganggu selama sekitar 40 detik selama restart. Durasi aktual bervariasi tergantung pada volume data dan jumlah tabel. Kami menyarankan melakukan operasi ini selama jam sepi dan pastikan aplikasi Anda dapat terhubung ulang secara otomatis.
Referensi API
API | Description |
Membuat kluster PolarDB. Catatan Untuk klon satu klik, parameter CreationOption harus diatur ke CloneFromRDS. |
Langkah selanjutnya
Perbarui alamat koneksi database aplikasi Anda ke alamat PolarDB. Untuk informasi selengkapnya, lihat Manage connection addresses.