Topik ini menjelaskan cara memverifikasi pemisahan baca/tulis pada instans ApsaraDB RDS for MySQL yang menjalankan RDS High-availability Edition. Dalam topik ini, instance Elastic Compute Service (ECS) terhubung ke instans RDS melalui jaringan internal.
Prasyarat
Instans RDS primary yang menjalankan RDS High-availability Edition telah dibuat.
Instans RDS read-only telah dibuat untuk instans RDS primary.
Setidaknya satu database yang berisi setidaknya satu tabel telah dibuat pada instans RDS. Akun uji coba juga telah dibuat untuk instans RDS tersebut. Akun uji coba dapat berupa akun standar atau akun istimewa. Untuk informasi selengkapnya, lihat Buat akun dan database.
CatatanJika Anda membuat akun standar, Anda harus memberikan izin Read/Write (DDL + DML) kepada akun standar tersebut pada database yang diperlukan.
Dalam contoh ini, database bernama testdb01, tabel bernama products, dan akun uji coba bernama cxx1 telah dibuat.
Daftar putih alamat IP telah dikonfigurasi untuk instans RDS.
Instance ECS yang Anda hubungkan ke instans RDS berada dalam virtual private cloud (VPC) yang sama dengan instans RDS. Klien MySQL telah diinstal pada instance ECS.
Fitur database proxy telah diaktifkan untuk instans RDS.
Fitur SQL Explorer and Audit telah diaktifkan untuk instans RDS.
Informasi latar belakang
Kemampuan pemisahan baca/tulis dari fitur database proxy membantu meneruskan permintaan tulis ke instans RDS primary dan permintaan baca ke instans RDS read-only untuk menerapkan pemisahan baca/tulis otomatis. Hal ini mengurangi beban permintaan baca dari instans RDS primary. Setelah Anda mengaktifkan dan mengonfigurasi fitur database proxy, Anda dapat melakukan operasi yang disediakan dalam topik ini untuk memeriksa apakah permintaan baca dan tulis diteruskan berdasarkan bobot baca yang telah Anda tentukan.
Proses verifikasi
Dalam contoh ini, instance ECS terhubung ke instans RDS melalui jaringan internal untuk memverifikasi efektivitas pemisahan baca/tulis. Anda dapat melakukan langkah-langkah berikut:
Di Konsol ApsaraDB RDS, atur bobot instans RDS read-only menjadi kelipatan 100 dan bobot instans RDS primary menjadi 0. Pengaturan ini memastikan bahwa semua permintaan baca diteruskan ke instans RDS read-only. Dalam contoh ini, bobot instans RDS read-only diatur menjadi 10000, dan bobot instans RDS primary diatur menjadi 0.
Gunakan akun uji coba untuk menghubungkan instance ECS ke instans RDS menggunakan titik akhir proxy database, lalu lakukan operasi baca dan tulis.
Di halaman SQL Explorer and Audit pada Konsol ApsaraDB RDS, lihat catatan pernyataan SQL yang dieksekusi pada instans RDS primary dan instans RDS read-only.
Periksa apakah permintaan baca diproses oleh instans RDS read-only dan apakah permintaan tulis diproses oleh instans RDS primary berdasarkan catatan eksekusi pernyataan SQL untuk menentukan apakah pemisahan baca/tulis telah diterapkan.
Prosedur
-
Tentukan bobot baca.
Login ke Konsol ApsaraDB RDS dan buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS primary berada. Lalu, temukan instans RDS primary dan klik ID instans RDS tersebut.
-
Di panel navigasi sebelah kiri, klik Database Proxy. Di bagian Connection Information, temukan ID titik akhir proxy yang dituju.
-
Di kolom Actions untuk titik akhir proxy yang dituju, klik Modify Configuration.
-
Di kotak dialog yang muncul, konfigurasikan parameter berikut:
-
Atur Read/Write Attributes menjadi Read/Write (Read/Write Splitting).
-
Untuk Read Weight Allocation, pilih Custom. Atur bobot instansi read-only menjadi 10000 dan bobot instansi primary menjadi 0. Lalu, klik OK.
-
-
Di bagian Connection Information, peroleh titik akhir proxy tipe VPC.
Gunakan akun uji coba cxx1 untuk menghubungkan instance ECS ke database dan lakukan operasi baca.
Login ke instance ECS yang ingin Anda hubungkan ke instans RDS.
CatatanUntuk informasi selengkapnya tentang cara login ke instance ECS, lihat Connect to an instance.
Jalankan perintah berikut untuk menghubungkan instance ECS ke instans RDS:
mysql -hProxy endpoint -PPort number -uUsername -pPasswordTabel berikut menjelaskan parameter yang digunakan dalam perintah di atas.
Parameter
Deskripsi
Konfigurasi
Proxy Endpoint
Titik akhir proxy tipe VPC yang Anda peroleh dari Langkah 1.
Jika Anda menggunakan client untuk menghubungkan ke instans RDS, Anda harus menggunakan titik akhir proxy public.
P
Nomor port. Masukkan nomor port setelah huruf kapital P.
N/A.
-u
Username. Masukkan username setelah huruf u.
N/A.
p
Password. Masukkan password setelah huruf kecil p.
Masukkan password setelah
-p. Tidak boleh ada spasi.Anda juga dapat memasukkan password setelah menjalankan perintah, bukan mengikuti
-psebelum menjalankan perintah. Hal ini membantu mencegah password ditampilkan dalam teks biasa.Jalankan perintah berikut untuk mengakses database testdb01:
USE testdb01;Eksekusi pernyataan SQL untuk operasi baca sebanyak enam kali. Contoh pernyataan:
SELECT * FROM products LIMIT 20;
Eksekusi pernyataan SQL untuk operasi tulis di database testdb01 sebanyak tiga kali. Contoh pernyataan:
CatatanPada langkah sebelumnya, Anda telah menghubungkan instance ECS ke instans RDS dan mengakses database testdb01. Untuk informasi selengkapnya, lihat Langkah 2.
CREATE TABLE Products11 ( prod_id CHAR(10) NOT NULL, vend_id CHAR(10) NOT NULL, prod_name CHAR(254) NOT NULL, prod_price DECIMAL(8,2) NOT NULL, prod_desc VARCHAR(1000) NULL );-
Lihat catatan pernyataan SQL yang dieksekusi pada instans RDS primary dan instans RDS read-only.
Pastikan bahwa instansi read-only menangani semua kueri
SELECT, dan instansi primary menangani semua kueriCREATE. Pastikan tidak ada log kueriCREATEyang muncul pada instansi read-only.Login ke Konsol ApsaraDB RDS dan buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS primary berada. Lalu, temukan instans RDS primary dan klik ID instans RDS tersebut.
-
Di panel navigasi sebelah kiri untuk instansi primary, pilih . Pilih rentang waktu dan klik Search. Pastikan tidak ada log eksekusi untuk kueri
SELECTyang muncul. -
Di panel navigasi sebelah kiri untuk instansi primary, klik Basic Information. Arahkan kursor ke angka di samping Read-only Instance dan klik ID instansi read-only di kotak dialog yang muncul.
-
Di panel navigasi sebelah kiri untuk instansi read-only, pilih . Pilih rentang waktu dan klik Search. Log audit SQL menunjukkan enam catatan untuk kueri
SELECT * FROM products LIMIT 20. Database-nya adalah testdb01, jenis operasinya adalah SELECT, dan status semua operasi adalah Success. -
Di panel navigasi sebelah kiri untuk instansi primary, pilih . Pilih rentang waktu dan klik Search. Anda dapat melihat tiga catatan eksekusi untuk perintah
CREATE. Misalnya, catatan-catatan tersebut mungkin sesuai dengan kueri sepertiCREATE TABLE Products11,CREATE TABLE Products12, danCREATE TABLE Products13. Database-nya adalah testdb01 dan status semua operasi adalah Success.
Kesimpulan verifikasi
Jika bobot instans RDS read-only diatur menjadi 10000 dan bobot instans RDS primary diatur menjadi 0, semua permintaan tulis diproses oleh instans RDS primary, dan semua permintaan baca diproses oleh instans RDS read-only. Dengan demikian, pemisahan baca/tulis telah diterapkan.