Hai!

Pada jurnal ini saya ingin sharing mengenai Google Cloud SQL yang mana merupakan salah satu services untuk database management di Google Cloud Platform. Layanan Cloud SQL ini berfungsi untuk manaje relational database seperti MySQL, PostgreSQL, dan SQL Server.

Sebenarnya, secara sederhana saat kita membuat SQL instance, itu bisa diibaratkan kita membuat sebuah vm dan didalamnya diinstal paket database seperti mysql. Nah, karena banyaknya kesulitan untuk manajemen database saat ditempatkan di vm seperti susahnya untuk migrasi, HA (harus setup galera), dan upgrade versi paket maka Cloud SQL ini bisa menjadi solusi.

Banyak fitur yang ditawarkan oleh Cloud SQL, seperti auto-provision, fully-managed, dan lain-lain. Bisa dibaca secara lengkap di https://cloud.google.com/sql/docs.

Disini akan saya jelaskan sedikit praktiknya. Untuk lebih advanced, bisa jadi akan dibahas di jurnal selanjutnya:)

Langsung saja ya!

Jika ingin masuk ke console untuk manaje Cloud SQL, dari dashboard > SQL.

Saat kita sudah membuat sebuah SQL instance, maka akan tampil daftarnya di dashboard SQL. Jika belum ada, akan kosong seperti di bawah ini. Untuk membuat SQL instance baru klik Create Instance.

Di Google Cloud SQL, saat jurnal ini ditulis menawarkan tiga tipe database engine yaitu MySQL, PostgresSQL, dan SQL Server. Khusus untuk jurnal ini, saya pilih MySQL.

Selanjutnya akan muncul tampilan untuk mengisi informasi tentang SQL instance yang ingin dibuat. Definisikan ID, password untuk user root, pilih versi database, dan region. Kelebihan di Cloud SQL yaitu kita bisa set multiple zone yang artinya instance akan ditempatkan di beberapa zone yang berbeda. 🙂

Pilih zone dan scroll kebawah lalu klik Show Configuration Options.

Kita bisa atur pengaturan yang lebih advanced, seperti tipe mesin. Disini saya pilih standard dengan 1 vCPU dan 3.75 GB ram. Untuk pengaturan lain bisa disesuaikan ya! Lalu klik Create Instance.

Tunggu beberapa saat hingga centang hijau muncul yang menandakan SQL instance berhasil dibuat seperti berikut ini.

Bisa klik instance ID untuk melihat detailnya. Pada sisi atas kita bisa manaje instance seperti edit, import database, export database, restart instance, stop, delete, dan clone.

Pada sisi kiri lebih ke manajemen internal seperti mengatur koneksi untuk database, user apa yang boleh mengakses, database apa saja yang ada di instance, backup, replika, dan operations.

Kita coba klik tab Database. Secara default, ada 4 database yang terbuat. Ini sama persis saat kita menginstall paket mysql di vm, otomatis akan ada 4 database. Untuk membuat database baru, klik Create Database.

Definisikan nama, dan biarkan default untuk yang lain. Lalu klik Create.

Hasilnya akan seperti di bawah ini.

Lalu, coba masuk ke tab Users. Disana, secara default ada 1 user yaitu root, dengan password yang sudah didefinisikan di awal saat pembuatan instance. Hostname dengan tanda % maksudnya semua akses darimana saja bisa menggunakan user root.

Kita coba buat user baru, klik Add User Account.

Definisikan username, password dan bisa definisikan pula Hostname. Misal kita spesifikan bahwa user ananda hanya dapat diakses menggunakan IP Address tertentu. Tapi kali ini, saya gunakan Any. Lalu klik Add.

Hasilnya akan seperti berikut ini.

Setelah kita definisikan username dan database, apakah bisa langsung diakses dari laptop kita? belum:)

Karena di Cloud SQL kita harus definisikan Connections yang berfungsi untuk membatasi akses. Ini sangat bermanfaat karena bisa diibaratkan layer security nya Cloud SQL. Jadi, tidak sembarang orang bisa mengakses database dan bahkan Cloud SQL instance kita.

Masuk ke tab Connections. Centang Public IP karena saya ingin coba mengaksesnya dari laptop, dan klik Add Network.

Definisikan nama network, dan CIDR networknya ya. Misal saja disini saya 0.0.0.0/0 🙂 (untuk latihan, karena dalam skala production, bisa dipersemit untuk network tertentu saja). Klik Done dan klik Save.

Bisa kita coba akses melalui laptop, maka akan bisa diakses seperti di bawah ini.

Saat kita manaje database melalui laptop, maka data akan otomatis ter-sinkron dengan data yang ada di console. Misal saya buat database baru bernama mydb. Maka hasilnya akan seperti di bawah ini.

Oh iya, selain cara di atas yang sudah pasti sangat familiar untuk terhubung ke database melalui IP Address, kita bisa menggunakan cara lain juga. Masuk ke tab Overview dan disana akan ada beberapa cara yang bisa menjadi opsi. Bisa menggunakan Connection name misal jika database langsung terkoneksi ke layanan GCP lainnya, atau bisa melalui Cloud Shell.

Disini saya coba klik Connec using Cloud Shell.

Sebelum klik, pastikan API Cloud SQL Admin API sudah diaktifkan ya:)

Dan saat diklik akan otomatis dialihkan ke Cloud Shell seperti berikut ini.

Sangat mudah, bukan? Selamat mencoba dan sekian!