arrow_back

Mengimplementasikan Cloud SQL (AWS)

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Mengimplementasikan Cloud SQL (AWS)

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

Anda saat ini dipekerjakan oleh perusahaan IT yang menggunakan Google Cloud sebagai penyedia layanan cloud utamanya. Sebagai pakar SQL Database, Anda ditugaskan untuk meriset dan mengadopsi layanan SQL yang ditawarkan oleh Google Cloud. Beberapa permasalahan utama Anda adalah:

  • Deployment
  • Keamanan
  • Integrasi aplikasi
  • Metode konektivitas

Karena Anda pernah menggunakan Amazon Web Services (AWS) di pekerjaan sebelumnya, Anda tahu cara menyiapkan instance Relational Database Service (RDS) untuk mendukung operasi Anda. Instance AWS RDS menyediakan kapasitas yang hemat biaya dan dapat diubah ukurannya, sekaligus mengelola tugas administrasi database yang memakan waktu.

Di AWS, cara Anda terhubung ke instance database bergantung pada lingkungan. Berikut beberapa contohnya:

  • Terhubung ke instance DB di VPC yang sama: Menyiapkan aturan grup keamanan virtual private cloud (VPC) untuk membatasi akses ke instance database (DB).
  • Terhubung ke instance DB di VPC yang berbeda: Menyiapkan koneksi peering antara VPC tempat instance database berada dan VPC tempat klien berada.
  • Terhubung ke instance DB melalui internet publik: Jika Anda sebelumnya telah mengonfigurasi VPC dan subnet untuk mendukung jenis koneksi ini, gateway internet dan aturan grup keamanan akan diperlukan.
  • Terhubung ke instance DB melalui koneksi pribadi: Untuk membuat koneksi pribadi antara VPC Anda dan endpoint AWS RDS, Anda membuat Endpoint VPC Antarmuka dengan AWS PrivateLink. Dengan demikian, Anda dapat terhubung ke instance AWS RDS tanpa gateway internet, gateway penafsiran alamat jaringan (NAT), atau bahkan IP publik.

Sekarang Anda akan mempelajari cara menggunakan fitur-fitur Cloud SQL untuk membangun dan menghubungkan database yang memperhitungkan keamanan ke aplikasi.

Ringkasan

Di lab ini, Anda akan mengonfigurasi server Cloud SQL dan mempelajari cara menghubungkan aplikasi ke server Cloud SQL via proxy melalui koneksi eksternal. Anda juga akan mengonfigurasi koneksi melalui link IP Pribadi yang menawarkan manfaat dalam hal performa dan keamanan. Aplikasi yang kami pilih untuk didemonstrasikan di lab ini adalah Wordpress. Namun, informasi dan praktik terbaik berlaku di aplikasi apa pun yang memerlukan Server SQL.

Di akhir lab ini, akan ada 2 instance aktif dari frontend Wordpress yang terhubung lewat 2 jenis koneksi berbeda ke backend instance SQL-nya masing-masing, sebagaimana yang ditunjukkan dalam diagram ini:

Tujuan

Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:

  • Membuat database Cloud SQL
  • Mengonfigurasi virtual machine untuk menjalankan proxy
  • Membuat koneksi antara aplikasi dan Cloud SQL
  • Menghubungkan aplikasi ke Cloud SQL menggunakan alamat IP Pribadi

Penyiapan

Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.

  1. Login ke Qwiklabs menggunakan jendela samaran.

  2. Perhatikan waktu akses lab (misalnya, 1:15:00), dan pastikan Anda dapat menyelesaikannya dalam waktu tersebut.
    Tidak ada fitur jeda. Bila perlu, Anda dapat memulai ulang lab, tetapi Anda harus memulai dari awal.

  3. Jika sudah siap, klik Start lab.

  4. Catat kredensial lab (Nama pengguna dan Sandi) Anda. Anda akan menggunakannya untuk login ke Google Cloud Console.

  5. Klik Open Google Console.

  6. Klik Use another account, lalu salin/tempel kredensial lab ini ke perintah yang muncul.
    Jika menggunakan kredensial lain, Anda akan menerima pesan error atau dikenai biaya.

  7. Setujui ketentuan dan lewati halaman resource pemulihan.

Tugas 1. Membuat database Cloud SQL

Dalam tugas ini, Anda akan mengonfigurasi server SQL berdasarkan praktik terbaik Google Cloud dan membuat koneksi IP Pribadi.

  1. Pada Navigation menu (), klik SQL.
  2. Klik Create instance.
  3. Klik Choose MySQL.
  4. Tentukan nilai berikut dan tetap gunakan nilai default untuk setelan lainnya:
Properti Nilai
Instance ID wordpress-db
Root password ketikkan sandi
Region
Zone Any
Database Version MySQL 5.7
Catatan: Catat sandi root; sandi ini nantinya akan digunakan untuk langkah berikutnya dan disebut sebagai [ROOT_PASSWORD].
  1. Luaskan Show configuration options.

  2. Perluas bagian Machine type.

  3. Tentukan jumlah yang pas untuk vCPU dan memori. Untuk memilih Machine Type, klik menu dropdown, lalu telusuri opsi Anda.

Catatan: Beberapa poin yang perlu dipertimbangkan:

  • Mesin dengan inti bersama cocok untuk pembuatan prototipe dan tidak terlindung oleh SLA Cloud.
  • Batas throughput jaringan setiap vCPU untuk performa puncak adalah 250 MB/dtk. Setiap inti tambahan mampu meningkatkan batas jaringan, secara teori batasnya bisa mencapai 2.000 MB/dtk.
  • Dalam kaitannya dengan workload yang membutuhkan performa tingkat tinggi, seperti pemrosesan transaksi online (OLTP), panduan umum berfungsi untuk memastikan bahwa instance Anda punya cukup memori guna memuat seluruh set pekerjaan dan mengakomodasi jumlah koneksi yang aktif.
    1. Untuk lab ini, pilih standard dari menu dropdown, lalu pilih 1 vCPU, 3.75 GB.

    2. Selanjutnya, perluas bagian Storage lalu pilih Storage type dan Storage capacity.

    Catatan: Beberapa poin yang perlu dipertimbangkan:

  • SSD (solid-state drive) adalah pilihan terbaik untuk sebagian besar kasus penggunaan. HDD (hard-disk drive) menawarkan performa yang lebih rendah, tetapi Anda bisa menghemat biaya penyimpanan secara signifikan. Oleh sebab itu, HDD mungkin bisa dijadikan pilihan untuk menyimpan data yang jarang diakses dan tidak memerlukan latensi yang sangat rendah.
  • Kapasitas penyimpanan dengan throughput-nya memiliki hubungan langsung.
    1. Klik setiap opsi kapasitas untuk melihat pengaruhnya terhadap throughput. Reset opsi ke 10 GB.
    Catatan: Jika kapasitas penyimpanan disetel terlalu rendah dan peningkatan penyimpanan otomatis tidak diaktifkan, instance Anda berisiko kehilangan SLA-nya.
    1. Luaskan bagian Connections.

    2. Pilih Private IP.

    3. Pada menu dropdown Network, pilih default.

    4. Klik tombol Set up Connection yang muncul.

    5. Di panel sebelah kanan, klik Enable API, klik Use an automatically allocated IP range, klik Continue, lalu klik Create Connection.

    6. Klik Create Instance di bagian bawah halaman untuk membuat instance database.

    Catatan: Anda mungkin perlu menunggu sampai perubahan IP Pribadi tuntas diterapkan sebelum tombol Create bisa diklik.

    Klik Check my progress untuk memverifikasi tujuan. Membuat instance Cloud SQL

    Tugas 2. Mengonfigurasi proxy pada virtual machine

    Apabila aplikasi Anda berada di luar jaringan dan region yang terhubung dengan VPC yang sama dengan instance Cloud SQL Anda, gunakan proxy untuk mengamankan koneksi eksternalnya.

    Untuk mengonfigurasi proxy, Anda memerlukan nama koneksi instance Cloud SQL.

    Catatan: Lab ini dilengkapi dengan 2 virtual machine yang sebelumnya sudah dikonfigurasi dengan Wordpress berikut dependensinya. Anda dapat melihat skrip startup dan akses akun layanan dengan mengklik nama virtual machine. Perhatikan bahwa kami menggunakan prinsip hak istimewa terendah dan hanya mengizinkan akses SQL untuk VM tersebut. Tersedia pula tag jaringan dan firewall yang sudah dikonfigurasi untuk mengizinkan port 80 dari host mana pun.
    1. Pada Navigation menu (), klik Compute Engine.

    2. Klik SSH di sebelah wordpress-proxy.

    3. Download Proxy Cloud SQL dan setel agar proxy tersebut dapat dijalankan:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy && chmod +x cloud_sql_proxy

    Untuk memulai proxy, Anda memerlukan nama koneksi dari instance Cloud SQL. Biarkan jendela SSH Anda tetap terbuka, lalu kembali ke Konsol Cloud.

    1. Pada Navigation menu (), klik SQL.

    2. Klik instance wordpress-db dan tunggu sampai tanda centang berwarna hijau muncul di sebelah namanya. Tanda centang ini menunjukkan bahwa instance tersebut sudah bisa dioperasikan (proses ini mungkin memerlukan waktu beberapa menit).

    3. Catat Instance connection name (nama koneksi instance); nantinya, nama ini akan digunakan untuk menggantikan [SQL_CONNECTION_NAME].

    4. Di samping itu, agar aplikasi dapat dijalankan, Anda perlu membuat tabel. Klik Databases.

    5. Klik Create database, ketik wordpress, yaitu nama yang diharapkan oleh aplikasi, lalu klik Create.

    6. Kembalilah ke jendela SSH, lalu simpan nama koneksi di variabel lingkungan. Ini akan mengganti [SQL_CONNECTION_NAME] dengan nama unik yang Anda salin di langkah sebelumnya:

    export SQL_CONNECTION=[SQL_CONNECTION_NAME]
    1. Untuk memverifikasi apakah variabel lingkungan sudah disetel atau belum, jalankan:
    echo $SQL_CONNECTION

    Nama koneksi akan muncul.

    1. Untuk mengaktifkan koneksi proxy ke database Cloud SQL Anda dan mengirim proses ke latar belakang, jalankan perintah berikut:
    ./cloud_sql_proxy -instances=$SQL_CONNECTION=tcp:3306 &

    Berikut adalah output yang diinginkan:

    Listening on 127.0.0.1:3306 for [SQL_CONNECTION_NAME] Ready for new connections
    1. Tekan ENTER.
    Catatan: Proxy akan memantau 127.0.0.1:3306 (localhost) dan proxy yang secara aman terhubung ke Cloud SQL Anda melalui tunnel aman menggunakan alamat IP eksternal mesin.

    Klik Check my progress untuk memverifikasi tujuan. Membuat database dan mengonfigurasi proxy pada Virtual Machine

    Tugas 3. Menghubungkan aplikasi ke instance Cloud SQL

    Dalam tugas ini, Anda akan menghubungkan aplikasi contoh ke instance Cloud SQL.

    1. Konfigurasikan aplikasi Wordpress. Untuk mencari alamat IP eksternal virtual machine Anda, buat kueri metadatanya:
    curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip && echo
    1. Buka alamat IP eksternal wordpress-proxy di browser Anda dan konfigurasikan aplikasi Wordpress.

    2. Klik Let's Go.

    3. Tentukan hal-hal berikut untuk mengganti [ROOT_PASSWORD] dengan sandi yang telah Anda konfigurasi sebelum mesin dibuat, dan pastikan setelan lainnya tetap dalam keadaan default:

    Properti Nilai
    Username root
    Password [ROOT_PASSWORD]
    Database Host 127.0.0.1
    Catatan: Anda menggunakan 127.0.0.1, localhost sebagai IP Database karena proxy yang Anda jalankan memantau alamat ini dan mengalihkan traffic-nya ke server SQL dengan aman.
    1. Klik Submit.

    2. Setelah koneksi berhasil dibuat, klik Run the installation untuk membuat instance Wordpress berikut database-nya di Cloud SQL Anda. Proses ini mungkin memerlukan beberapa saat.

    3. Isi informasi situs demo Anda dengan informasi acak, lalu klik Install Wordpress. Anda tidak perlu mengingat-ingat atau menggunakan informasi tersebut.

    Catatan: Penginstalan Wordpress mungkin memerlukan waktu hingga 3 menit karena semua data Wordpress harus disebar ke Server SQL Anda.
    1. Setelah jendela 'Success!' muncul, hapus teks di sebelah kanan alamat IP di kolom URL browser web Anda, lalu tekan ENTER.
      Blog Wordpress aktif pun muncul.

    Tugas 4. Menghubungkan ke Cloud SQL via IP internal

    Jika dapat menghosting aplikasi di region dan jaringan yang terhubung VPC yang sama dengan Cloud SQL, Anda bisa mendapatkan konfigurasi yang lebih aman dan andal menggunakan IP Pribadi.

    Melalui IP Pribadi, Anda dapat meningkatkan performa dengan mengurangi latensi dan meminimalkan permukaan serangan instance Cloud SQL sebab Anda dapat berkomunikasi dengannya secara eksklusif lewat IP internal.

    1. Di Konsol Cloud, pada Navigation menu (), klik SQL.
    2. Klik wordpress-db.
    3. Catat alamat IP Pribadi server Cloud SQL; nantinya, alamat ini akan menggantikan [SQL_PRIVATE_IP].
    4. Pada Navigation menu, klik Compute Engine.
    Catatan: Perhatikan bahwa wordpress-private-ip terletak di us-central1, tempat Cloud SQL Anda berada. Dengan begitu, Anda dapat memperoleh koneksi yang lebih aman.
    1. Salin alamat IP eksternal wordpress-private-ip, tempel ke jendela browser, lalu tekan ENTER.

    2. Klik Let's Go.

    3. Tentukan nilai berikut dan tetap gunakan nilai default untuk setelan lainnya:

    Properti Nilai
    Username root
    Password ketikkan [ROOT_PASSWORD] yang telah dikonfigurasi saat instance Cloud SQL dibuat
    Database Host [SQL_PRIVATE_IP]
    1. Klik Submit.
    Catatan: Perhatikan bahwa kini Anda sedang membuat koneksi langsung ke IP Pribadi, bukan mengonfigurasi proxy. Koneksi tersebut bersifat pribadi, artinya tidak akan keluar ke internet. Dengan begitu, Anda bisa memperoleh performa serta keamanan yang lebih baik.
    1. Klik Run the installation.
      Jika jendela 'Already Installed!' muncul, artinya aplikasi Anda sudah terhubung ke server Cloud SQL lewat IP pribadi.

    2. Pada kolom URL di browser web Anda, hapus teks di sebelah kanan alamat IP, lalu tekan ENTER.
      Blog Wordpress aktif pun muncul.

    Tugas 5. Ulasan

    Di lab ini, Anda telah membuat database Cloud SQL dan mengonfigurasinya untuk menggunakan baik koneksi eksternal melalui proxy yang aman maupun alamat IP Pribadi, yang lebih aman dan andal. Ingat, Anda hanya dapat menghubungkan via IP Pribadi seandainya aplikasi dan server Cloud SQL berada di region yang sama dan merupakan bagian dari jaringan VPC yang sama. Jika aplikasi dihosting di region, VPC, atau bahkan project lain, gunakan proxy untuk mengamankan koneksinya melalui koneksi eksternal.

    Setelah Anda memiliki pemahaman yang lebih mendalam tentang cara membuat dan mengonfigurasi database di Cloud SQL, mari kita lihat beberapa persamaan dan perbedaan antara AWS RDS dan Google Cloud SQL.

    Kesamaan:

    • Google Cloud SQL dan AWS RDS merupakan layanan terkelola, dan keduanya melakukan tugas berikut ini untuk Anda:

      • Update instance
      • Penginstalan dan patching software database
      • Membuat cadangan
      • Failover
    • Di Google Cloud SQL dan AWS RDS, instance database Anda didukung oleh virtual machine sehingga Anda dapat memilih jenis instance, ukuran, dan kapasitas penyimpanan yang sesuai dengan kebutuhan spesifik Anda.

    • Dengan kedua layanan ini, Anda dapat membuat koneksi aman ke instance database Anda melalui tunnel aman tanpa memerlukan jaringan resmi atau SSL. Untuk membuat koneksi aman ini, Anda menggunakan AWS PrivateLink di AWS, sedangkan di Google Cloud Anda menggunakan Proxy Auth Cloud SQL.

    • Kedua layanan ini mendukung mesin MySQL, PostgreSQL, dan SQL Server.

    Perbedaan:

    • Selain engine server yang telah disebutkan dalam kesamaan yang ada, AWS RDS juga mendukung engine server Oracle dan MariaDB.
    • Kedua layanan ini dapat Anda gunakan untuk membuat koneksi pribadi antara instance DB dan resource Anda yang lain tanpa mengekspos traffic ke internet publik atau membuat koneksi NAT. Namun, cara Anda mengaktifkan fitur ini berbeda di antara kedua layanan ini:
      • Di AWS RDS, Anda membuat endpoint VPC AWS Private Link dan menyiapkannya sebagai target untuk instance DB Anda.
      • Di Google Cloud SQL, Anda mengaktifkan fitur IP Pribadi di opsi konfigurasi instance DB Anda.

    Mengakhiri lab Anda

    Setelah Anda menyelesaikan lab, klik Akhiri Lab. Google Cloud Skills Boost menghapus resource yang telah Anda gunakan dan membersihkan akun.

    Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.

    Makna jumlah bintang:

    • 1 bintang = Sangat tidak puas
    • 2 bintang = Tidak puas
    • 3 bintang = Netral
    • 4 bintang = Puas
    • 5 bintang = Sangat puas

    Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.

    Untuk masukan, saran, atau koreksi, gunakan tab Support.

    Hak cipta 2020 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

    Sebelum memulai

    1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
    2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
    3. Di kiri atas layar, klik Start lab untuk memulai

    Konten ini tidak tersedia untuk saat ini

    Kami akan memberi tahu Anda melalui email saat konten tersedia

    Bagus!

    Kami akan menghubungi Anda melalui email saat konten tersedia

    Satu lab dalam satu waktu

    Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

    Gunakan penjelajahan rahasia untuk menjalankan lab

    Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.