Menghubungkan ke instance Cloud SQL dari luar VPC-nya

Halaman ini menjelaskan cara terhubung ke Cloud SQL dari luar Virtual Private Cloud (VPC) yang dikonfigurasi.

Sebelum memulai

Sebelum memulai, pastikan Anda menyelesaikan tindakan berikut:

  1. Anda akan membuat instance Cloud SQL.
  2. Anda dapat mengonfigurasi instance untuk menggunakan alamat IP internal, bukan alamat IP eksternal.

Tentang koneksi eksternal

Instance Cloud SQL terdiri dari sejumlah node dalam VPC yang dikelola Google. Saat membuat instance, Anda juga mengonfigurasi akses layanan pribadi atau Private Service Connect antara salah satu VPC Anda dan VPC yang dikelola Google yang berisi di instance Compute Engine. Koneksi yang di-peering ini memungkinkan Anda menggunakan alamat IP internal untuk mengakses resource di VPC instance seolah-olah resource tersebut adalah bagian dari VPC Anda sendiri.

Dalam situasi berikut, buat koneksi ke instance dari luar VPC yang terhubung:

  • Aplikasi Anda berjalan di luar VPC yang digunakan untuk terhubung ke instance melalui akses layanan pribadi atau Private Service Connect.

  • Aplikasi Anda berjalan di VPC yang ada di luar jaringan Google.

  • Aplikasi Anda berjalan di komputer yang terletak di suatu tempat lain di internet publik.

Dalam semua kasus ini, Anda harus mengonfigurasi layanan tambahan untuk mengaktifkan koneksi eksternal semacam ini ke instance Cloud SQL Anda.

Kami merekomendasikan solusi berikut untuk membuat koneksi eksternal, bergantung pada kebutuhan Anda:

  • Untuk pengembangan proyek atau pembuatan prototipe, atau untuk biaya yang relatif rendah lingkungan production, konfigurasikan virtual machine perantara, (VM)—juga dikenal sebagai bastion—dalam VPC Anda. Bervariasi ada metode untuk membangun VM perantara ini agar dapat mengubahnya menjadi koneksi yang aman antara lingkungan aplikasi eksternal dan instance Cloud SQL.

  • Untuk lingkungan produksi yang memerlukan ketersediaan tinggi, pertimbangkan membuat koneksi permanen antara VPC dan aplikasi melalui Cloud VPN atau Cloud Interconnect.

Bagian berikut menjelaskan solusi ini.

Menghubungkan melalui VM perantara

Untuk membuat koneksi ke instance Cloud SQL dari di luar VPC-nya menggunakan alat open source dan menjalankan layanan proxy pada VM perantara yang dikonfigurasi di dalamnya Jaringan VPC. Anda dapat mengonfigurasi VM baru atau menggunakan VM yang sudah berjalan di VPC instance Cloud SQL.

Sebagai solusi yang dikelola sendiri, menggunakan VM perantara umumnya membutuhkan biaya lebih sedikit dan memiliki waktu penyiapan yang lebih cepat dibandingkan menggunakan Konektivitas Jaringan produk. Ini juga memiliki kelemahan: ketersediaan koneksi, keamanan, dan aliran data semua bergantung pada protokol perantara, VM, yang harus Anda pertahankan sebagai bagian dari project Anda.

Menghubungkan melalui IAP

Dengan Identity-Aware Proxy (IAP), Anda dapat dan terhubung ke instance Cloud SQL Anda dengan aman tanpa perlu mengekspos alamat IP internal VM perantara. Anda menggunakan kombinasi firewall dan Identity and Access Management (IAM) untuk membatasi akses melalui rute ini. Hal ini menjadikan IAP sebagai solusi yang baik untuk penggunaan non-produksi seperti pengembangan dan pembuatan prototipe.

Arsitektur Identity-Aware Proxy

Dalam diagram ini, IAP berfungsi sebagai gateway antara klien eksternal yang berada di luar VPC dan VM perantara yang ada di dalam VPC. Klien membuat tunnel SSH ke IAP. Auth Proxy Cloud SQL mengenkripsi traffic antara VM dan instance Cloud SQL. Melalui kedua proxy ini, komunikasi dibuat antara klien dan instance.

Untuk mengonfigurasi akses IAP ke instance Anda, ikuti langkah-langkah berikut:

  1. Di klien eksternal Anda, instal gcloud CLI.

  2. Di VM perantara, download dan instal Proxy Auth Cloud SQL.

  3. Di VM perantara, mulai Proxy Auth Cloud SQL.

    Karena VM Anda dikonfigurasi dengan alamat IP internal, saat memulai Proxy Auth Cloud SQL, Anda harus menyediakan opsi --private-ip.

  4. Di project Google Cloud Anda, aktifkan penerusan TCP IAP.

    Saat menentukan aturan {i>firewall<i}, izinkan lalu lintas TCP masuk ke port 22 (SSH). Jika Anda menggunakan setelan default project jaringan dengan isian otomatis default-allow-ssh diaktifkan, maka Anda tidak perlu menetapkan aturan tambahan.

  5. Konfigurasikan penerusan porta antara klien eksternal dan VM perantara menggunakan SSH melalui IAP:

    gcloud compute ssh VM_NAME \
    --tunnel-through-iap \
    --zone=ZONE_NAME \
    --ssh-flag="-L 5432:localhost:5432"

    Lakukan penggantian berikut:

    • VM_NAME: nama VM
    • ZONE_NAME: nama zona yang terkait dengan VM
  6. Di klien eksternal, uji koneksi Anda menggunakan psql.

Hubungkan melalui proxy SOCKS

Menjalankan layanan SOCKS pada VM perantara akan memberikan koneksi skalabel ke instance Cloud SQL Anda, dengan enkripsi end-to-end yang disediakan oleh Proxy Auth Cloud SQL.

Untuk informasi selengkapnya tentang cara menggunakan proxy SOCKS untuk terhubung ke instance Cloud SQL Anda, lihat Menghubungkan menggunakan proxy perantara (SOCKS5).

Terhubung melalui pooler

Jika Anda perlu menginstal dan menjalankan Proxy Auth Cloud SQL pada VM perantara, alih-alih klien eksternal, Anda dapat mengaktifkan koneksinya dengan menyambungkannya dengan protokol sadar protokol, yang dikenal sebagai pooler. Tempat berkumpul open source yang populer untuk PostgreSQL antara lain Pgpool-II dan PgBouncer.

Dalam solusi ini, Anda menjalankan Proxy Auth Cloud SQL dan pooler di VM perantara. Selanjutnya, klien atau aplikasi Anda dapat dengan aman terhubung langsung ke pooler melalui SSL, tanpa perlu menjalankan layanan tambahan. Pooler menangani penerusan PostgreSQL ke instance Cloud SQL melalui Auth Proxy Cloud SQL.

Karena setiap instance Cloud SQL memiliki dan setiap layanan {i>proxy<i} dapat berkomunikasi dengan hanya satu instance tertentu: baik instance utama, standby, atau gabungan dari kumpulan baca. Oleh karena itu, untuk setiap instance, Anda harus menjalankan layanan penggabung terpisah dengan sertifikat SSL yang dikonfigurasi dengan benar.

Menghubungkan melalui Cloud VPN atau Cloud Interconnect

Untuk pekerjaan produksi yang memerlukan ketersediaan tinggi (HA), sebaiknya penggunaan Google Cloud Produk Konektivitas Jaringan, seperti Cloud VPN atau Cloud Interconnect, tergantung pada kebutuhan layanan eksternal dan topologi jaringan Anda. Anda kemudian konfigurasikan Cloud Router untuk memberitahukan rute yang sesuai.

Untuk mempelajari lebih lanjut tentang solusi Konektivitas Jaringan, lihat Memilih produk Konektivitas Jaringan.

Langkah selanjutnya