Halaman ini menjelaskan konfigurasi yang mereplikasi data dari server database sumber ke replika MySQL. Konfigurasi ini terkadang disebut sebagai konfigurasi server eksternal.
Server database sumber dapat berupa server MySQL apa pun, termasuk server yang berjalan pada layanan Google Cloud lainnya (seperti Cloud SQL atau Compute Engine) atau di penyedia cloud lain (seperti Amazon RDS), jika server tersebut memenuhi persyaratan. Untuk mengetahui petunjuk langkah demi langkah guna menyiapkan konfigurasi ini, lihat Mereplikasi dari server eksternal.
Kasus penggunaan untuk konfigurasi server eksternal
Konfigurasi server eksternal membantu Anda mencapai sasaran berikut:
Migrasikan data Anda dari server MySQL yang dikelola secara mandiri ke Google Cloud dengan periode nonaktif minimum.
Pertahankan kolokasi dan kontrol server Anda saat memindahkan administrasi replika ke Cloud SQL.
Kasus penggunaan ini terkadang disebut hybrid cloud. Replikasi antara server yang dikelola secara mandiri dan replika Cloud SQL berlanjut tanpa batas.
Konfigurasi replikasi eksternal
Konfigurasi replikasi eksternal mencakup instance berikut:
- Server MySQL yang Anda kelola, disebut juga dengan server database sumber.
Replika Cloud SQL.
Mungkin ada beberapa replika untuk satu server database sumber.
Instance representasi sumber.
Instance representasi sumber adalah instance Cloud SQL yang merepresentasikan server database sumber ke replika Cloud SQL. Instance ini terlihat di Google Cloud Console dan tampak sama dengan instance Cloud SQL biasa, tetapi tidak berisi data, tidak memerlukan konfigurasi atau pemeliharaan, dan tidak memengaruhi penagihan.
Diagram berikut menunjukkan instance tersebut:
Konfigurasi SSL/TLS
Replikasi dari server eksternal mengharuskan semua perubahan pada data dikirim antara server database sumber dan replika Cloud SQL.
Jika koneksi dilakukan melalui jaringan publik (dengan menggunakan daftar IP yang diizinkan), Google merekomendasikan penggunaan enkripsi SSL/TLS untuk koneksi antara database sumber dan tujuan.
Cloud SQL menawarkan opsi berikut untuk konfigurasi SSL/TLS:
- Tidak ada: Instance tujuan Cloud SQL terhubung ke database sumber tanpa enkripsi.
Autentikasi khusus server
Autentikasi klien server
Autentikasi khusus server
Saat replika terhubung ke instance utama, replika mengautentikasi instance utama, memastikan bahwa replika terhubung ke host yang benar dan mencegah serangan man-in-the-middle. Instance utama tidak mengautentikasi replika.
Untuk menggunakan autentikasi khusus server, pada waktu pembuatan replika, berikan sertifikat certificate authority (CA) berenkode PEM x509 yang menandatangani sertifikat server eksternal. CA harus hanya berisi satu sertifikat, dan harus ditandatangani sendiri. Dengan kata lain, Certificate Authority yang menandatangani sertifikat server harus menjadi root CA.
Autentikasi klien server
Ketika replika terhubung ke instance utama, replika mengautentikasi instance utama, yang mengautentikasi replika.
Autentikasi klien server memberikan keamanan terkuat. Namun, jika tidak ingin memberikan sertifikat klien dan kunci pribadi saat membuat replika, Anda masih dapat menggunakan autentikasi khusus server.
Untuk menggunakan autentikasi klien server, berikan item berikut saat Anda membuat replika:
- Sertifikat berenkode x509 PEM untuk CA yang menandatangani sertifikat server database sumber (
caCertificate
). - Sertifikat berenkode x509 PEM yang akan digunakan oleh replika untuk
melakukan autentikasi terhadap server database sumber (
clientCertificate
). - Kunci pribadi berenkode PEM
PKCS#1
atau PKCS#8
yang tidak terenkripsi yang terkait dengan
clientCertificate
(clientKey
).
Beberapa replika dari server database yang sama
Anda dapat membuat beberapa replika dari server database sumber yang sama. Anda mungkin ingin memberikan lebih banyak bandwidth atau membuat replika di berbagai region.
Jika Anda membuat beberapa replika di region yang sama, semua replika tersebut dapat menggunakan instance representasi sumber yang sama atau berbeda. Jika Anda menggunakan konsol Google Cloud untuk membuat beberapa replika, replika tersebut akan memiliki instance representasi sumber yang berbeda.
Jika Anda membuat beberapa replika di region yang berbeda, replika tersebut harus memiliki instance representasi sumber yang berbeda.
Anda tidak dapat membuat lebih dari satu replika dalam operasi yang sama. Setelah selesai membuat konfigurasi replika untuk replika pertama, Anda dapat mulai membuat konfigurasi replika untuk replika lainnya. Anda tidak perlu menunggu hingga replika pertama benar-benar berfungsi sebelum mulai membuat replika lainnya.
Replika beruntun untuk server eksternal
Replika baca bertingkat memungkinkan Anda membuat replika baca di bawah replika baca lain di region yang sama atau berbeda. Anda dapat menambahkan hingga empat tingkat replika bertingkat, termasuk instance utama. Saat Anda mempromosikan replika di bagian atas hierarki replika bertingkat, replika tersebut menjadi instance utama dan replika bertingkatnya terus direplikasi.
Dengan server eksternal, Anda dapat membuat replika baca di bawah replika server eksternal setelah memigrasikan data, tetapi sebelum mempromosikan replika server eksternal menjadi utama. Hal ini memungkinkan Anda menguji topologi replika baca sebelum replika server eksternal dipromosikan.