Pelajari cara menggunakan IP pribadi

Halaman ini memberikan informasi tentang penggunaan IP pribadi dengan Cloud SQL.with Cloud SQL. Untuk mengetahui petunjuk langkah demi langkah dalam mengonfigurasi instance Cloud SQL agar dapat menggunakan IP pribadi, baca bagian Mengonfigurasi IP pribadi.

Untuk solusi Terraform untuk jaringan Cloud SQL, lihat Solusi Konfigurasi Jaringan Cloud yang Disederhanakan.

Ringkasan

Mengonfigurasi instance Cloud SQL agar menggunakan IP pribadi memerlukan akses layanan pribadi. Akses layanan pribadi memungkinkan Anda membuat koneksi pribadi antara jaringan VPC dan jaringan VPC produsen layanan Google Cloud yang mendasarinya. Entitas Google Cloud yang menawarkan layanan, seperti Cloud SQL, disebut produsen layanan. Setiap layanan Google Cloud membuat subnet untuk menyediakan resource. Rentang alamat IP subnet biasanya adalah blok CIDR /24 yang dipilih oleh layanan dan berasal dari rentang alamat IP yang dialokasikan.

Koneksi pribadi membuat layanan dapat dijangkau tanpa melalui internet atau menggunakan alamat IP eksternal. Karena alasan ini, IP pribadi memberikan latensi jaringan yang lebih rendah daripada IP publik.

Anda dapat menggunakan akses layanan pribadi untuk terhubung ke instance Cloud SQL:

Anda dapat terhubung ke alamat IP pribadi di berbagai region. Anda juga dapat terhubung menggunakan VPC Bersama antar-project.

Rentang alamat IP yang dialokasikan

Untuk menggunakan instance Cloud SQL dalam jaringan VPC dengan IP pribadi, Anda harus mengalokasikan rentang alamat IP untuk menyiapkan akses layanan pribadi bagi VPC ini. Untuk mengatur instance Cloud SQL, Anda dapat mengalokasikan beberapa rentang alamat IP untuk koneksi pribadi. Saat mengonfigurasi instance Cloud SQL untuk IP pribadi, Anda dapat memilih jaringan VPC dan rentang alamat IP yang dialokasikan.

Ukuran rentang yang dialokasikan

Alokasikan rentang IP yang cukup besar untuk Cloud SQL dan layanan terkelola Google Cloud lainnya yang ingin Anda gunakan. Masing-masing akan memerlukan blok IP khusus dari rentang yang dialokasikan. Ukuran minimumnya adalah blok /24 tunggal (256 alamat), tetapi ukuran yang direkomendasikan adalah blok /16 (65.536 alamat).

Saat mengalokasikan rentang alamat IP, Anda perlu mempertimbangkan jumlah instance yang akan dibuat.

Subnet mask Alamat Instance Cloud SQL yang Dapat Digunakan
/2425650
/23512100
/221024200
/212048400
/204096800

Cloud SQL menggunakan rentang CIDR /24 sebagai unit rentang, dan setiap unit hanya dapat digunakan untuk instance Cloud SQL di satu region. Misalnya, jika Anda membuat dua instance Cloud SQL, tetapi untuk dua region yang berbeda, harus ada setidaknya dua rentang CIDR /24.

Selain itu, jika project mulai menggunakan Cloud SQL sebelum 1 April 2021, instance Postgres tidak dapat berbagi unit rentang yang sama dengan instance MySQL dan SQL Server, dan harus memiliki unit rentang masing-masing di setiap region. Project yang lebih baru tidak tunduk pada batasan ini.

Menyiapkan akses layanan pribadi untuk jaringan Anda

Saat mengonfigurasi konektivitas IP pribadi untuk pertama kalinya di jaringan VPC tertentu, Anda perlu melakukan prosedur satu kali untuk menyiapkan akses layanan pribadi untuk Cloud SQL.

Setelah membuat akses layanan pribadi, Anda dapat membuat instance Cloud SQL yang dikonfigurasi untuk menggunakan IP pribadi atau mengonfigurasi IP pribadi untuk instance Cloud SQL yang ada. Lihat Mengonfigurasi IP pribadi untuk mengetahui petunjuk langkah demi langkah.

Setiap kali mengubah koneksi yang ada, Anda juga perlu memperbarui vpc-peerings.

Persyaratan untuk IP Pribadi

Untuk menggunakan IP pribadi, jaringan dan lingkungan aplikasi Anda harus memenuhi persyaratan berikut. Selain itu, penyiapan IP pribadi untuk pertama kalinya memerlukan izin IAM tambahan.

Persyaratan lingkungan aplikasi

  • Jika terhubung dari GKE, Anda harus menjalankan GKE 1.8 atau versi yang lebih tinggi pada cluster VPC-native.

Persyaratan API dan IAM

  • Anda harus mengaktifkan Service Networking API untuk project Anda.
  • Jika menggunakan Jaringan VPC Bersama, Anda juga harus mengaktifkan Service Networking API untuk project host.

  • Untuk mengelola koneksi akses layanan pribadi, pengguna Anda harus memiliki izin IAM berikut. Jika pengguna tidak memiliki izin yang diperlukan, Anda bisa mengalami error izin yang tidak memadai.
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • servicenetworking.services.addPeering

    Jika menggunakan Jaringan VPC Bersama, Anda juga perlu menambahkan pengguna yang sama dan menetapkan izin yang sama pada project.

Contoh

Pada contoh berikut, jaringan VPC pelanggan mengalokasikan rentang alamat IP 10.240.0.0/16 untuk layanan Google Cloud dan menetapkan koneksi pribadi yang menggunakan rentang yang dialokasikan. Setiap layanan Google Cloud (misalnya, Cloud SQL), membuat subnet dari blok yang dialokasikan untuk menyediakan resource baru di region tertentu, seperti instance Cloud SQL.

Ringkasan diagram konfigurasi IP pribadi.

  • Koneksi pribadi diberi rentang 10.240.0.0/16 yang dialokasikan. Dari alokasi ini, layanan Google Cloud dapat membuat subnet tempat resource baru disediakan.
  • Di sisi layanan Google Cloud dari koneksi pribadi, Google Cloud membuat project untuk pelanggan. Project ini terisolasi, sehingga tidak ada pelanggan lain yang membagikannya dan pelanggan hanya ditagih untuk resource yang mereka sediakan.
  • Setiap layanan Google Cloud membuat subnet untuk menyediakan resource. Rentang alamat IP subnet biasanya adalah blok CIDR /24 yang dipilih oleh layanan dan berasal dari rentang alamat IP yang dialokasikan. Anda tidak dapat mengubah subnet produsen layanan. Layanan menyediakan resource baru di subnet regional yang ada, yang sebelumnya dibuat oleh layanan tersebut. Jika subnet penuh, layanan akan membuat subnet baru di region yang sama.
  • Instance VM di jaringan pelanggan dapat mengakses resource layanan di region mana pun jika layanan mendukungnya. Beberapa layanan mungkin tidak mendukung komunikasi lintas region. Lihat dokumentasi layanan yang relevan untuk mengetahui informasi selengkapnya.
  • Biaya transfer data keluar untuk traffic lintas regional, tempat instance VM berkomunikasi dengan resource di region berbeda, masih berlaku.
  • Instance Cloud SQL diberi alamat IP 10.240.0.2. Di jaringan VPC Pelanggan, permintaan dengan tujuan 10.240.0.2 dirutekan ke koneksi pribadi melalui jaringan produsen layanan. Setelah mencapai jaringan layanan, jaringan layanan berisi rute yang mengarahkan permintaan ke resource yang benar.
  • Traffic antarjaringan VPC berjalan secara internal dalam jaringan Google Cloud, bukan melalui internet publik.

Masalah jaringan

Cloud SQL mengalokasikan subnet /24 dari rentang IP akses layanan pribadi untuk setiap region. Misalnya, menempatkan instance PostgreSQL di dua region mengharuskan rentang alamat IP yang dialokasikan menyertakan setidaknya dua subnet ukuran /24 yang tersedia.

Koneksi ke instance Cloud SQL menggunakan alamat IP pribadi secara otomatis diberi otorisasi untuk rentang alamat RFC 1918 . Dengan cara ini, klien pribadi dapat mengakses database tanpa melalui Proxy Auth Cloud SQL.

Cloud SQL tidak mempelajari rute subnet Non-RFC 1918 dari VPC Anda secara default. Anda perlu memperbarui peering jaringan ke Cloud SQL untuk mengekspor rute Non-RFC 1918.

Keamanan

Traffic melalui akses layanan pribadi disediakan dengan tingkat enkripsi tertentu. Untuk informasi selengkapnya, lihat Enkripsi dan autentikasi jaringan virtual Google Cloud.

Proxy Auth Cloud SQL dapat dikonfigurasi untuk terhubung menggunakan IP Pribadi dan memberikan autentikasi menggunakan kredensial IAM dan enkripsi end-to-end menggunakan sertifikat SSL/TLS yang berputar.

Jika persyaratan keamanan Anda mewajibkan sertifikat SSL/TLS yang dikelola sendiri, lihat petunjuk di Mengonfigurasi SSL/TLS.

Membuat satu jaringan VPC untuk setiap instance dengan alamat IP pribadi akan memberikan isolasi jaringan yang lebih baik daripada menempatkan semua instance dalam jaringan VPC "default".

Beberapa Konektivitas VPC

Cloud SQL mendukung alamat IP pribadi melalui akses layanan pribadi. Saat Anda membuat instance Cloud SQL, Cloud SQL akan membuat instance tersebut dalam virtual private cloud (VPC)-nya sendiri, yang disebut VPC Cloud SQL. Untuk mengaktifkan IP pribadi, Anda harus menyiapkan koneksi peering antara VPC Cloud SQL dan jaringan VPC. Hal ini memungkinkan resource dalam jaringan VPC Anda untuk mengakses alamat IP internal resource Cloud SQL di jaringan VPC Cloud SQL.

Dengan menggunakan Peering Jaringan VPC, Cloud SQL menerapkan akses layanan pribadi secara internal, yang memungkinkan alamat IP internal terhubung di dua jaringan VPC terlepas dari apakah keduanya berada dalam project atau organisasi yang sama. Namun, karena Peering Jaringan VPC tidak transitif, peering ini hanya menyiarkan rute antara dua VPC yang di-peering langsung. Jika Anda memiliki VPC tambahan, VPC tersebut tidak akan dapat mengakses resource Cloud SQL Anda menggunakan koneksi yang disiapkan dengan VPC asli Anda.

Untuk mengurangi batasan ini dan menghubungkan instance Cloud SQL ke beberapa VPC menggunakan alamat IP pribadi, Anda dapat menggunakan opsi koneksi berikut:

  • Terhubung menggunakan rute kustom yang diberitahukan
  • Terhubung menggunakan proxy menengah (SOCKS5)
  • Menghubungkan menggunakan Proxy Auth Cloud SQL sebagai layanan

Untuk mengetahui informasi selengkapnya tentang cara menghubungkan beberapa VPC, lihat Menghubungkan instance ke beberapa VPC.

Referensi cepat untuk topik IP Pribadi

Saat Anda mengelola instance Cloud SQL menggunakan IP pribadi, beberapa topik berikut mungkin menarik:

Topik Diskusi
Jaringan VPC Bersama Anda dapat membuat instance Cloud SQL dengan alamat IP pribadi di Jaringan VPC Bersama. Namun, Anda tidak dapat menetapkan alamat IP pribadi di Jaringan VPC Bersama ke instance Cloud SQL yang sudah ada
Region Anda dapat terhubung melalui IP pribadi di seluruh region.
Jaringan lama Anda tidak dapat terhubung ke IP pribadi instance Cloud SQL dari jaringan lama. Jaringan lama tidak mendukung peering jaringan VPC atau akses layanan pribadi.
Menghapus IP pribadi Setelah mengonfigurasi instance Cloud SQL untuk menggunakan IP pribadi, Anda tidak dapat menghapus kemampuan IP pribadi dari instance tersebut.
IP publik dan pribadi Anda dapat menggunakan IP publik dan IP pribadi untuk terhubung ke instance Cloud SQL yang sama. Tidak ada metode koneksi yang mempengaruhi koneksi lainnya.
Instance Cloud SQL yang ada Anda dapat mengonfigurasi instance untuk menggunakan IP pribadi pada waktu pembuatan instance. Anda juga dapat mengonfigurasi instance yang ada untuk menggunakan IP pribadi. Dengan mengonfigurasi instance yang ada agar menggunakan IP pribadi, atau mengubah jaringan yang terhubung, akan menyebabkan instance dimulai ulang, dan menyebabkan periode nonaktif selama beberapa menit.
Alamat IP statis Untuk alamat IP publik dan pribadi, alamat masuk instance Cloud SQL bersifat statis; tidak berubah. Alamat keluar tidak selalu statis, kecuali untuk alamat IP publik keluar dari replika server eksternal yang selalu statis.
Replika Replika mewarisi status IP pribadinya dari instance utamanya. Anda tidak dapat mengonfigurasi IP pribadi secara langsung pada replika. Jika terhubung ke replika menggunakan alamat IP pribadi, Anda tidak perlu membuat koneksi pribadi VPC tambahan untuk replika, karena koneksi tersebut juga diwarisi dari instance utama.
Proxy Auth Cloud SQL Untuk terhubung ke instance Cloud SQL menggunakan IP pribadi, Proxy Auth Cloud SQL harus berada di resource yang memiliki akses ke jaringan VPC yang sama dengan instance. Jika instance mengaktifkan kedua jenis IP, Proxy Auth Cloud SQL secara default menggunakan IP publik. Untuk memastikan penggunaan IP pribadi, Anda harus meneruskan flag -ip_address_types=PRIVATE ke Proxy Auth Cloud SQL. Pelajari lebih lanjut.
Akses VPC Serverless Untuk terhubung dari sumber serverless, seperti Lingkungan standar App Engine, Cloud Run, atau fungsi Cloud Run, aplikasi atau fungsi Anda terhubung langsung ke instance melalui Akses VPC Serverless tanpa Proxy Auth Cloud SQL.
Peering Jaringan VPC Koneksi yang menggunakan akses layanan pribadi bergantung pada Peering Jaringan VPC. Namun, Anda tidak dapat membuat Peering Jaringan VPC secara eksplisit karena peering bersifat internal untuk Google Cloud. Setelah membuat koneksi akses layanan pribadi, Anda dapat melihat Peering Jaringan VPC dasarnya di halaman Peering Jaringan VPC di konsol Google Cloud. Namun, jangan menghapusnya kecuali jika Anda ingin menghapus koneksi pribadi.

Pelajari lebih lanjut tentang Peering Jaringan VPC.

Kontrol Layanan VPC Kontrol Layanan VPC meningkatkan kemampuan Anda untuk mengurangi risiko pemindahan data yang tidak sah. Dengan Kontrol Layanan VPC, Anda membuat perimeter di sekitar instance Cloud SQL. Kontrol Layanan VPC membatasi akses ke resource dalam perimeter dari luar. Hanya klien dan resource dalam perimeter yang dapat berinteraksi satu sama lain. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Kontrol Layanan VPC. Tinjau juga batasan Cloud SQL saat menggunakan Kontrol Layanan VPC. Untuk menggunakan Kontrol Layanan VPC dengan Cloud SQL, lihat Mengonfigurasi Kontrol Layanan VPC.
Peering transitif Hanya jaringan yang di-peering langsung yang dapat berkomunikasi. Peering transitif tidak didukung. Dengan kata lain, jika jaringan VPC N1 di-peering dengan N2 dan N3, tetapi N2 dan N3 tidak terhubung langsung, jaringan VPC N2 tidak dapat berkomunikasi dengan jaringan VPC N3 melalui VPC Peering Jaringan.

Klien dalam satu project dapat terhubung ke instance Cloud SQL di beberapa project menggunakan Jaringan VPC Bersama.

Memindahkan instance Cloud SQL Instance Cloud SQL hanya dapat dipindahkan antar-jaringan yang dimiliki oleh project tempat instance tersebut berada. Selain itu, instance Cloud SQL tidak dapat dipindahkan antar-project, juga tidak dapat dipindahkan antar-jaringan yang dihosting oleh project yang berbeda.

Langkah berikutnya