arrow_back

Mengimplementasikan Cloud SQL (Azure)

Login Gabung
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

Mengimplementasikan Cloud SQL (Azure)

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Pengantar
info This lab may incorporate AI tools to support your learning.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus

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

  • Deployment
  • Keamanan
  • Integrasi aplikasi
  • Metode konektivitas

Diagram Azure Karena Anda pernah bekerja menggunakan Azure di pekerjaan sebelumnya, Anda tahu cara men-deploy SQL Server. Model penetapan harga didasarkan pada jumlah unit transaksi database (DTU) yang dapat disesuaikan dan dikategorikan dalam berbagai opsi yang menargetkan skenario penggunaan yang berbeda.

Di Azure, Anda menggunakan dua hal berikut ini:

  • Implementasi proxy untuk memastikan koneksi yang aman ke database Anda.
  • Load balancer HTTP untuk menjaga ketersediaan database aplikasi Anda.

Anda dapat menggunakan berbagai metode untuk menghubungkan beberapa aplikasi yang telah Anda deploy sebelumnya, termasuk metode berikut ini:

  • String koneksi
  • Integrasi layanan aplikasi web
  • Cloud SQL yang menggunakan alamat IP pribadi.

Sekarang Anda akan mempelajari cara menggunakan 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 SQL Server.

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:

Diagram Lab SQL

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 (Ikon 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), secara umum Anda perlu 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 berkorelasi 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 (Ikon 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 (Ikon 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 dan disebut sebagai [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. Konfigurasi 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 pada saat pembuatan mesin, 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 SQL Server 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 (Ikon Navigation menu), klik SQL.
    2. Klik wordpress-db.
    3. Catat alamat IP Pribadi server Cloud SQL; nantinya, alamat ini akan disebut sebagai [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 Google Cloud SQL dan Azure SQL.

    Persamaan:

    • Azure dan Google Cloud mengelola infrastruktur database untuk menyertakan instance, backup, update, dan failover.
    • Baik Cloud SQL maupun Azure SQL men-deploy proxy untuk menerima koneksi di luar VPC Anda dengan aman.
    • Kedua layanan ini membuat koneksi menggunakan string koneksi.
    • Kedua layanan ini dapat menggunakan IP internal untuk menghubungkan aplikasi dan instance server SQL secara langsung jika keduanya berada di region yang sama dan merupakan bagian dari jaringan VPC yang sama. Dengan hanya menggunakan alamat IP internal, Anda dapat meningkatkan keamanan karena tidak ada koneksi publik yang diizinkan dengan cara ini.

    Perbedaan:

    • Spesifikasi untuk membuat SQL Server disusun secara berbeda antara Google Cloud dan Azure. Di Azure, Anda memilih antara kategori, DTU, dan penyimpanan yang ditentukan. Di Google Cloud, Anda secara langsung menentukan jumlah CPU dan penyimpanan yang dibutuhkan.
    • Di Google Cloud, Anda memiliki autentikasi database bawaan (pengguna-sandi) dan Anda dapat mengimplementasikan proxy Cloud SQL Auth serta library konektor Cloud SQL untuk menyediakan akses berdasarkan IAM. Sementara di Azure, Anda dapat menggunakan kebijakan untuk menentukan cara permintaan diterima. Anda juga dapat menggunakan metode Pengalihan (secara default) atau Kebijakan Koneksi Proxy untuk memproses permintaan. Azure Active Directory Authentication juga didukung.
    • Di Google Cloud, Anda terhubung ke instance dengan menggunakan Cloud SQL dengan dua opsi utama:
      • Auth Proxy Cloud SQL: Tunnel aman tanpa memerlukan jaringan resmi atau SSL; autentikasi dan otorisasi dilakukan melalui Identity and Access Management (IAM) dan OAuth 2.0
      • IP Pribadi: Koneksi pribadi antara jaringan VPC Anda dan jaringan VPC produsen layanan Google yang mendasarinya

    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 Kirim.

    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 Dukungan.

    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.

    This content is not currently available

    We will notify you via email, when it becomes available

    Great!

    We will contact you via email, if it becomes available