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:
- Anda membuat instance Cloud SQL.
- Anda 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 mengonfigurasi akses layanan pribadi atau Private Service Connect antara salah satu VPC Anda dan VPC yang dikelola Google yang berisi instance baru Anda. Koneksi 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, hubungkan ke instance Anda dari luar VPC yang terhubung:
Aplikasi Anda berjalan di luar VPC yang Anda gunakan untuk terhubung ke instance melalui akses layanan pribadi atau Private Service Connect.
Aplikasi Anda berjalan di VPC yang berada di luar jaringan Google.
Aplikasi Anda berjalan di mesin yang berada 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 atau pembuatan prototipe project, atau untuk lingkungan produksi yang relatif murah, konfigurasi virtual machine (VM) perantara—juga dikenal sebagai bastion—dalam VPC Anda. Ada berbagai metode untuk membangun VM perantara ini agar dapat diubah menjadi koneksi 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 resource tambahan minimum, jalankan layanan proxy di VM perantara yang dikonfigurasi dalam VPC tersebut. Anda dapat mengonfigurasi VM baru atau menggunakan VM yang sudah berjalan dalam VPC instance Cloud SQL Anda.
Sebagai solusi yang dikelola sendiri, penggunaan VM perantara umumnya lebih murah dan memiliki waktu penyiapan yang lebih cepat daripada menggunakan produk Network Connectivity. Cara ini juga memiliki kekurangan: ketersediaan, keamanan, dan throughput data koneksi semuanya menjadi bergantung pada VM perantara, yang harus Anda kelola sebagai bagian dari project Anda.
Menghubungkan 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 sebagai solusi yang baik untuk penggunaan non-produksi seperti pengembangan dan pembuatan prototipe.
Dalam diagram ini, IAP berfungsi sebagai gateway antara klien eksternal yang berada di luar VPC dan VM perantara yang berada di dalam VPC. Klien membuat tunnel SSH ke IAP. Proxy Auth Cloud SQL mengenkripsi traffic antara VM dan instance Cloud SQL. Melalui dua proxy ini, komunikasi terjalin antara klien dan instance.
Untuk mengonfigurasi akses IAP ke instance Anda, ikuti langkah-langkah berikut:
Di klien eksternal Anda, instal gcloud CLI.
Di VM perantara, download dan instal Proxy Auth Cloud SQL.
Di VM perantara, mulai Proxy Auth Cloud SQL.
Karena VM Anda dikonfigurasi dengan alamat IP internal, saat memulai Proxy Auth Cloud SQL, Anda harus memberikan opsi
--private-ip
.Di Google Cloud project Anda, aktifkan penerusan TCP IAP.
Saat menentukan aturan firewall baru, izinkan traffic TCP masuk ke port
22
(SSH). Jika Anda menggunakan jaringan default project Anda dengan aturandefault-allow-ssh
yang telah terisi otomatis diaktifkan, maka Anda tidak perlu menentukan aturan tambahan.Konfigurasi 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 5432:localhost:5432"
Lakukan penggantian berikut:
- VM_NAME: nama VM
- ZONE_NAME: nama zona yang terkait dengan VM
Di klien eksternal Anda, uji koneksi Anda menggunakan
psql
.
Menghubungkan melalui proxy SOCKS
Menjalankan layanan SOCKS di VM perantara memberikan koneksi yang fleksibel dan dapat diskalakan ke instance Cloud SQL Anda, dengan enkripsi end-to-end yang disediakan oleh Proxy Auth Cloud SQL.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan proxy SOCKS untuk terhubung ke instance Cloud SQL, lihat Terhubung menggunakan proxy menengah (SOCKS5).
Menghubungkan melalui penggabung
Jika Anda perlu menginstal dan menjalankan Proxy Auth Cloud SQL di VM perantara, bukan di klien eksternal, Anda dapat mengaktifkan koneksi yang aman ke VM tersebut dengan menghubungkannya ke proxy sadar protokol, yang juga dikenal sebagai pooler. Pooler open source populer untuk PostgreSQL mencakup Pgpool-II dan PgBouncer.
Dalam solusi ini, Anda menjalankan Proxy Auth Cloud SQL dan pooler di VM perantara. Klien atau aplikasi Anda kemudian dapat terhubung langsung ke pooler melalui SSL dengan aman, tanpa perlu menjalankan layanan tambahan. Pooler 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 tertentu: instance utama, instance standby, atau kumpulan baca. Oleh karena itu, untuk setiap instance, Anda harus menjalankan layanan penggabung 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 Google Cloud Network Connectivity, seperti Cloud VPN atau Cloud Interconnect, bergantung pada kebutuhan layanan eksternal dan topologi jaringan Anda. Kemudian, Anda mengonfigurasi Cloud Router untuk mengiklankan rute yang sesuai.
Untuk mempelajari solusi Network Connectivity lebih lanjut, lihat Memilih produk Network Connectivity.
Langkah berikutnya
- Pelajari IP pribadi lebih lanjut.
- Pelajari lebih lanjut Akses layanan pribadi dan konektivitas lokal di VPC yang dikelola Google.
- Pelajari lebih lanjut cara menggunakan Private Service Connect untuk terhubung ke instance Cloud SQL.