Menghubungkan ke instance Cloud SQL dari luar VPC-nya

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

Sebelum memulai

Sebelum memulai, pastikan Anda menyelesaikan tindakan berikut:

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

Tentang koneksi eksternal

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

Dalam situasi berikut, hubungkan ke instance Anda 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 pada komputer yang terletak di 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.

Sebaiknya gunakan solusi berikut untuk membuat koneksi eksternal, bergantung pada kebutuhan Anda:

  • Untuk pengembangan project atau pembuatan prototipe, atau untuk lingkungan produksi dengan biaya yang relatif rendah, konfigurasikan virtual machine (VM) perantara—juga dikenal sebagai bastion—di dalam VPC Anda. Ada berbagai metode untuk membangun di VM perantara ini untuk mengubahnya menjadi koneksi yang aman antara lingkungan aplikasi eksternal dan instance Cloud SQL Anda.

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

Bagian berikut menjelaskan solusi ini.

Menghubungkan melalui VM perantara

Untuk membuat koneksi ke instance Cloud SQL dari luar VPC-nya menggunakan alat open source dan minimum resource tambahan, jalankan layanan proxy pada VM perantara yang dikonfigurasi dalam VPC tersebut. Anda dapat mengonfigurasi VM baru atau menggunakan VM yang sudah berjalan di VPC instance Cloud SQL Anda.

Sebagai solusi yang dikelola sendiri, penggunaan VM perantara biasanya lebih hemat biaya dan memiliki waktu penyiapan yang lebih cepat daripada menggunakan produk Konektivitas Jaringan. Selain itu, ada juga kelemahan: ketersediaan koneksi, keamanan, dan throughput data bergantung pada VM perantara, yang harus Anda pertahankan sebagai bagian dari project Anda.

Terhubung melalui IAP

Dengan menggunakan Identity-Aware Proxy (IAP), Anda dapat terhubung ke instance Cloud SQL dengan aman tanpa perlu mengekspos alamat IP internal VM perantara. Anda menggunakan kombinasi aturan firewall dan Identity and Access Management (IAM) untuk membatasi akses melalui rute ini. Hal ini menjadikan IAP 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 VPC. Klien membuat tunnel SSH ke IAP. Auth Proxy Cloud SQL mengenkripsi traffic antara VM dan instance Cloud SQL. Melalui dua {i>proxy<i} ini, komunikasi dibangun antara klien dan {i>instance<i}.

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

  1. Di klien eksternal, instal gcloud CLI.

  2. Pada 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, Anda harus memberikan opsi --private-ip saat memulai Proxy Auth Cloud SQL.

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

    Saat menentukan aturan firewall baru, izinkan traffic TCP masuk ke port 22 (SSH). Jika menggunakan jaringan default project dengan aturan default-allow-ssh yang telah diisi sebelumnya diaktifkan, Anda tidak perlu menentukan aturan tambahan.

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

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

    Lakukan penggantian berikut:

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

Menghubungkan melalui proxy SOCKS

Menjalankan layanan SOCKS pada VM perantara memberikan koneksi yang fleksibel dan 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, lihat Terhubung menggunakan proxy perantara (SOCKS5).

Terhubung melalui pooler

Jika perlu menginstal dan menjalankan Cloud SQL Auth Proxy pada VM perantara, bukan klien eksternal, Anda dapat mengaktifkan koneksi aman ke VM tersebut dengan menghubungkannya dengan proxy berbasis protokol, yang juga dikenal sebagai pooler. Kumpulaner open source untuk MySQL yang populer adalah Proxy SQL.

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

Karena setiap instance Cloud SQL memiliki alamat IP internal yang terpisah, setiap layanan proxy hanya dapat berkomunikasi dengan satu instance spesifik: instance utama, cadangan, atau kumpulan baca. Oleh karena itu, untuk setiap instance, Anda harus menjalankan layanan pooler terpisah dengan sertifikat SSL yang dikonfigurasi dengan tepat.

Menghubungkan melalui Cloud VPN atau Cloud Interconnect

Untuk pekerjaan produksi yang memerlukan ketersediaan tinggi (HA), sebaiknya gunakan produk Konektivitas Jaringan Google Cloud, seperti Cloud VPN atau Cloud Interconnect, bergantung pada kebutuhan layanan eksternal dan topologi jaringan Anda. Kemudian, Anda mengonfigurasi Cloud Router untuk memberitahukan rute yang sesuai.

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

Langkah selanjutnya