Mengonfigurasi IP pribadi

Halaman ini menjelaskan cara mengonfigurasi instance Cloud SQL untuk menggunakan IP pribadi.

Untuk informasi lebih lanjut terkait cara kerja IP pribadi serta persyaratan lingkungan dan pengelolaan, lihat IP Pribadi.

Sebelum memulai

Persyaratan API dan IAM

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

  • Untuk mengelola koneksi akses layanan pribadi, pengguna harus memiliki izin Identity and Access Management (IAM) berikut. Jika tidak memiliki izin yang diperlukan, Anda dapat 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 ke project host dan menetapkan izin yang sama kepada pengguna di project host.

Akses layanan pribadi

Saat membuat jaringan Virtual Private Cloud (VPC) baru pada project, Anda harus mengonfigurasi akses layanan pribadi untuk mengalokasikan rentan alamat IP dan membuat koneksi layanan pribadi. Tindakan ini memungkinkan resource dalam jaringan VPC untuk terhubung ke instance Cloud SQL. Konsol Google Cloud menyediakan wizard untuk membantu Anda menyiapkan konfigurasi ini.

Mengonfigurasi instance untuk menggunakan IP pribadi

Anda dapat mengonfigurasi instance Cloud SQL untuk menggunakan IP pribadi saat Anda membuat instance atau untuk instance yang sudah ada.

Mengonfigurasi IP pribadi untuk instance baru

Untuk mengonfigurasi instance Cloud SQL agar menggunakan IP pribadi saat membuat instance:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Klik Create instance.
  3. Luaskan Show configuration options.
  4. Luaskan Connections.
  5. Pilih Private IP.

    Menu drop-down menampilkan jaringan VPC yang tersedia di project Anda. Jika project Anda adalah project layanan dari VPC Bersama, maka jaringan VPC dari project host juga akan ditampilkan.

  6. Pilih jaringan VPC yang ingin Anda gunakan.
  7. Jika menemukan pesan yang mengatakan bahwa Anda perlu menyiapkan koneksi layanan pribadi, lakukan langkah berikut:

    1. Klik Siapkan koneksi.
    2. Pada bagian Mengalokasikan rentang IP, pilih salah satu opsi berikut:
      • Pilih salah satu atau beberapa rentang IP yang masih ada, atau buat yang baru dari dropdown. Dropdown menyertakan rentang yang dialokasikan sebelumnya, jika ada, atau Anda dapat memilih Allocate a new IP range dan memasukkan rentang dan nama baru.
      • Gunakan rentang IP yang dialokasikan secara otomatis dalam jaringan Anda.
    3. Klik Lanjutkan.
    4. Klik Buat koneksi.
    5. Pastikan bahwa Anda melihat pesan tersebut: Private service connection for network VPC_NETWORK_NAME has been successfully created.
  8. Secara opsional, Anda dapat menentukan rentang IP yang dialokasikan untuk instance yang akan digunakan untuk koneksi.
    1. Luaskan Tampilkan opsi rentang IP yang dialokasikan.
    2. Pilih rentang IP dari menu drop-down.
  9. Opsional. Jika Anda ingin mengizinkan layanan Google Cloud lainnya, seperti BigQuery, untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP pribadi, pilih Aktifkan jalur pribadi.
  10. Selesaikan konfigurasi instance.
  11. Klik Create instance.

gcloud

Sebelum membuat instance menggunakan alamat IP pribadi, pastikan project Anda terlah sudah dikonfigurasi untuk akses layanan pribadi.

Sebelum menggunakan data permintaan apa pun, buat pergantian berikut:

  • INSTANCE_ID: ID instance
  • PROJECT_ID: ID project
  • NETWORK_PROJECT_ID: ID project jaringan VPC

  • VPC_NETWORK_NAME: Nama jaringan VPC
  • RANGE_NAME: Opsional. Jika ditentukan, tetapkan nama rentang yang dialokasikan untuk rentang IP. Nama rentang harus sesuai dengan RFC-1035 dan berisi 1-63 karakter.
  • DATABASE_VERSION: Versi database PostgreSQL (misalnya, POSTGRES_14)
  • NUMBER_OF_CPU: Jumlah CPU
  • MEMORY_IN_GB: Jumlah memori (dalam GB)
  • REGION_NAME: Nama wilayah
Untuk menentukan nama jaringan VPC Anda, gunakan paramater --network. Untuk menonaktifkan IP publik, gunakan flag --no-assign-ip.

Selain itu secara opsional, gunakan parameter --enable-google-private-path untuk mengizinkan layanan Google Cloud lainnya seperti BigQuery untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP pribadi. Parameter ini berlaku hanya jika:

  • Anda menggunakan parameter --no-assign-ip.
  • Menggunakan parameter --network untuk menentukan nama jaringan VPC yang ingin Anda gunakan untuk membuat koneksi pribadi.

gcloud beta sql instances create INSTANCE_ID \
--project=PROJECT_ID \
--network=projects/NETWORK_PROJECT_ID/global/networks/VPC_NETWORK_NAME \
--no-assign-ip \
--allocated-ip-range-name=RANGE_NAME \
--enable-google-private-path \
--database-version=DATABASE_VERSION \
--cpu=NUMBER_OF_CPU \
--memory=MEMORY_IN_GB \
--region=REGION_NAME

Terraform

Untuk mengonfigurasi IP pribadi bagi instance baru, gunakan resource Terraform berikut ini:


resource "google_compute_network" "peering_network" {
  name                    = "private-network"
  auto_create_subnetworks = "false"
}

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

resource "google_sql_database_instance" "default" {
  name             = "private-ip-sql-instance"
  region           = "us-central1"
  database_version = "POSTGRES_14"

  depends_on = [google_service_networking_connection.default]

  settings {
    tier = "db-custom-2-7680"
    ip_configuration {
      ipv4_enabled    = "false"
      private_network = google_compute_network.peering_network.id
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

resource "google_compute_network_peering_routes_config" "peering_routes" {
  peering              = google_service_networking_connection.default.peering
  network              = google_compute_network.peering_network.name
  import_custom_routes = true
  export_custom_routes = true
}

# [START  cloud_sql_postgres_instance_private_ip_dns]

## Uncomment this block after adding a valid DNS suffix

# resource "google_service_networking_peered_dns_domain" "default" {
#   name       = "example-com"
#   network    = google_compute_network.peering_network.id
#   dns_suffix = "example.com."
#   service    = "servicenetworking.googleapis.com"
# }

Menerapkan perubahan

Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

Menghapus perubahan

Untuk menghapus perubahan Anda, lakukan langkah-langkah berikut:

  1. Untuk menonaktifkan perlindungan penghapusan, di file konfigurasi Terraform Anda, tetapkan argumen deletion_protection ke false.
    deletion_protection =  "false"
  2. Terapkan konfigurasi Terraform terbaru dengan menjalankan perintah berikut dan memasukkan yes pada perintah:
    terraform apply
  1. Hapus resource yang sebelumnya diterapkan dengan konfigurasi Terraform Anda dengan menjalankan perintah berikut dan memasukkan yes pada prompt:

    terraform destroy

REST v1

Buat instance baru dengan alamat IP pribadi:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID
  • INSTANCE_ID: ID instance
  • VPC_NETWORK_NAME: Tentukan nama jaringan Virtual Private Cloud (VPC) yang ingin Anda gunakan untuk instance ini. Akses layanan pribadi sudah harus dikonfigurasi untuk jaringan tersebut.
  • RANGE_NAME: Opsional. Jika ditentukan, tetapkan nama rentang yang dialokasikan untuk rentang IP. Nama rentang harus sesuai dengan RFC-1035 dan berisi 1-63 karakter.
  • AUTHORIZED_NETWORKS: Untuk koneksi IP publik, tentukan koneksi dari jaringan resmi yang dapat terhubung ke instance Anda.

Untuk parameter ipv4Enabled, tetapkan nilai ke true jika menggunakan alamat IP publik untuk instance atau false jika instance Anda memiliki alamat IP pribadi.

Apabila Anda menetapkan parameter enablePrivatePathForGoogleCloudServices ke true, maka Anda mengizinkan layanan Google Cloud lainnya seperti BigQuery untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP pribadi. Dengan menetapkan parameter ini ke false, layanan Google Cloud lainnya tidak dapat mengakses data di Cloud SQL melalui koneksi IP pribadi.

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Meminta isi JSON:

{
  "name": "INSTANCE_ID",
  "region": "region",
  "databaseVersion": "database-version",
  "settings": {
    "tier": "machine-type",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
      "allocatedIpRange": "RANGE_NAME"
      "authorizedNetworks": [AUTHORIZED_NETWORKS],

      "enablePrivatePathForGoogleCloudServices": true

    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

REST v1beta4

Buat instance baru dengan alamat IP pribadi:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID
  • INSTANCE_ID: ID instance
  • VPC_NETWORK_NAME: Tentukan nama jaringan Virtual Private Cloud (VPC) yang ingin Anda gunakan untuk instance ini. Akses layanan pribadi sudah harus dikonfigurasi untuk jaringan tersebut.
  • RANGE_NAME: Opsional. Jika ditentukan, tetapkan nama rentang yang dialokasikan untuk rentang IP. Nama rentang harus sesuai dengan RFC-1035 dan berisi 1-63 karakter.
  • AUTHORIZED_NETWORKS: Untuk koneksi IP publik, tentukan koneksi dari jaringan resmi yang dapat terhubung ke instance Anda.

Untuk parameter ipv4Enabled, tetapkan nilai ke true jika menggunakan alamat IP publik untuk instance atau false jika instance Anda memiliki alamat IP pribadi.

Apabila Anda menetapkan parameter enablePrivatePathForGoogleCloudServices ke true, maka Anda mengizinkan layanan Google Cloud lainnya seperti BigQuery untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP pribadi. Dengan menetapkan parameter ini ke false, layanan Google Cloud lainnya tidak dapat mengakses data di Cloud SQL melalui koneksi IP pribadi.

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances

Meminta isi JSON:

{
  "name": "INSTANCE_ID",
  "region": "region",
  "databaseVersion": "database-version",
  "settings": {
    "tier": "machine-type",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
      "allocatedIpRange": "RANGE_NAME"
      "authorizedNetworks": [AUTHORIZED_NETWORKS],

      "enablePrivatePathForGoogleCloudServices": true

    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Mengonfigurasi IP pribadi untuk instance yang sudah ada

Mengonfigurasi instance Cloud SQL yang sudah ada untuk menggunakan IP pribadi akan menyebabkan instance dimulai ulang sehingga menyebabkan periode nonaktif.

Untuk mengonfigurasi instance yang sudah ada menggunakan IP pribadi:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance tersebut.
  3. Pilih Koneksi dari menu navigasi Cloud SQL.
  4. Pada tab Networking, pilih kotak centang Private IP.

    Menu drop-down menampilkan jaringan apa saja yang ada di project Anda.

  5. Pilih jaringan VPC yang ingin Anda gunakan:
  6. Apabila Anda melihat Private service connection diperlukan:

    1. Klik Siapkan koneksi.
    2. Pada bagian Alokasikan rentang IP, pilih salah satu opsi berikut:
      • Pilih satu atau beberapa rentang IP yang ada, atau buat yang baru dari menu dropdown. Dropdown menyertakan rentang yang dialokasikan sebelumnya, jika ada, atau Anda dapat memilih Allocate a new IP range dan memasukkan rentang dan nama baru.
      • Gunakan rentang IP yang dialokasikan secara otomatis dalam jaringan Anda.
    3. Klik Lanjutkan.
    4. Klik Buat koneksi.
    5. Pastikan Anda melihat status Koneksi layanan pribadi untuk jaringan VPC_NETWORK_NAME telah sukses dibuat
  7. Opsional. Jika Anda ingin mengizinkan layanan Google Cloud lainnya, seperti BigQuery, untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP pribadi, centang kotak Enable private path.
  8. Klik Save.

gcloud

Pastikan project Anda dikonfigurasi untuk akses layanan pribadi.

Perbarui instance Cloud SQL dengan menggunakan parameter --network untuk menentukan nama jaringan VPC yang dipilih.

gcloud beta sql instances patch INSTANCE_ID \
--project=PROJECT_ID \
--network=projects/NETWORK_PROJECT_ID/global/networks/VPC_NETWORK_NAME \
--no-assign-ip \
--enable-google-private-path

REST v1

Buat instance baru dengan alamat IP pribadi:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID
  • INSTANCE_ID: ID instance
  • VPC_NETWORK_NAME: Tentukan nama jaringan Virtual Private Cloud (VPC) yang ingin Anda gunakan untuk instance ini. Akses layanan pribadi sudah harus dikonfigurasi untuk jaringan tersebut.
  • RANGE_NAME: Opsional. Jika ditentukan, tetapkan nama rentang yang dialokasikan untuk rentang IP. Nama rentang harus sesuai dengan RFC-1035 dan berisi 1-63 karakter.
  • AUTHORIZED_NETWORKS: Untuk koneksi IP publik, tentukan koneksi dari jaringan resmi yang dapat terhubung ke instance Anda.

Untuk parameter ipv4Enabled, tetapkan nilai ke true jika menggunakan alamat IP publik untuk instance atau false jika instance Anda memiliki alamat IP pribadi.

Apabila Anda menetapkan parameter enablePrivatePathForGoogleCloudServices ke true, maka Anda mengizinkan layanan Google Cloud lainnya seperti BigQuery untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP pribadi. Dengan menetapkan parameter ini ke false, layanan Google Cloud lainnya tidak dapat mengakses data di Cloud SQL melalui koneksi IP pribadi.

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "settings":
  {
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
      "allocatedIpRange": "RANGE_NAME"
      "authorizedNetworks": [AUTHORIZED_NETWORKS],

      "enablePrivatePathForGoogleCloudServices": true

    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

REST v1beta4

Buat instance baru dengan alamat IP pribadi:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID
  • INSTANCE_ID: ID instance
  • VPC_NETWORK_NAME: Tentukan nama jaringan Virtual Private Cloud (VPC) yang ingin Anda gunakan untuk instance ini. Akses layanan pribadi sudah harus dikonfigurasi untuk jaringan tersebut.
  • RANGE_NAME: Opsional. Jika ditentukan, tetapkan nama rentang yang dialokasikan untuk rentang IP. Nama rentang harus sesuai dengan RFC-1035 dan berisi 1-63 karakter.
  • AUTHORIZED_NETWORKS: Untuk koneksi IP publik, tentukan koneksi dari jaringan resmi yang dapat terhubung ke instance Anda.

Untuk parameter ipv4Enabled, tetapkan nilai ke true jika menggunakan alamat IP publik untuk instance atau false jika instance Anda memiliki alamat IP pribadi.

Apabila Anda menetapkan parameter enablePrivatePathForGoogleCloudServices ke true, maka Anda mengizinkan layanan Google Cloud lainnya seperti BigQuery untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP pribadi. Dengan menetapkan parameter ini ke false, layanan Google Cloud lainnya tidak dapat mengakses data di Cloud SQL melalui koneksi IP pribadi.

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "settings":
  {
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
      "allocatedIpRange": "RANGE_NAME"
      "authorizedNetworks": [AUTHORIZED_NETWORKS],

      "enablePrivatePathForGoogleCloudServices": true

    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Menghubungkan ke instance menggunakan IP pribadi

Anda menggunakan akses layanan pribadi untuk terhubung ke instance Cloud SQL dari Compute Engine atau instance Google Kubernetes Engine dalam jaringan VPC yang sama (dijelaskan di sini sebagai sources internal) atau dari luar jaringan tersebut (sourceeksternal).

Menghubungkan dari source internal

Untuk terhubung dari source dalam project Google Cloud yang sama sebagai instance Cloud SQL, seperti Proxy Auth Cloud SQL yang berjalan pada resource Compute Engine, resource tersebut harus berada di jaringan VPC yang sama dengan tempat akses layanan pribadi telah dibuat untuk instance Cloud SQL.

Untuk terhubung dari source serverless, sepertiLingkungan standar App Engine, Cloud Run, atau Cloud Functions, aplikasi atau fungsi Anda terhubung secara langsung ke instance melalui Akses VPC Serverless tanpa Proxy Auth Cloud SQL.

Menghubungkan dari source eksternal

Jika jaringan eksternal (misalnya, jaringan lokal atau jaringan VPC) terhubung ke jaringan VPC yang terhubung dengan instance Cloud SQL Anda, Anda dapat menggunakan Cloud VPN atau Cloud Interconnect untuk terhubung ke instance dari klien di jaringan eksternal.

Untuk mengizinkan koneksi dari jaringan eksternal, lakukan hal berikut:

  1. Pastikan jaringan VPC Anda terhubung ke jaringan eksternal menggunakan tunnel Cloud VPN atau lampiran VLAN untuk Dedicated Interconnect atau Partner Interconnect.
  2. Pastikan sesi Border Gateway Protocol (BGP) pada Cloud Routers yang mengelola tunnel Cloud VPN dan lampiran Cloud Interconnect (VLAN) sudah menerima awalan (tujuan) tertentu dari jaringan lokal Anda.

    Rute default (tujuan 0.0.0.0/0) tidak dapat diimpor ke jaringan VPC Cloud SQL karena jaringan tersebut memiliki rute default lokal sendiri. Rute lokal untuk suatu tujuan digunakan meskipun peering Cloud SQL sudah dikonfigurasikan untuk mengimpor rute khusus dari jaringan VPC Anda.

  3. Mengidentifikasi koneksi peering yang dihasilkan oleh koneksi layanan pribadi. Koneksi layanan pribadi mungkin membuat salah satu atau beberapa koneksi peering berikut ini, namun tidak semuanya berasal dari satu koneksi yang sama tergantung pada layanan:
    • cloudsql-mysql-googleapis-com
    • cloudsql-postgres-googleapis-com
    • servicenetworking-googleapis-com
  4. Perbarui semua koneksi peering untuk mengaktifkan Rute kustom ekspor.
  5. Mengidentifikasi penggunaan rentang yang dialokasikan oleh koneksi layanan pribadi.
  6. Buat pemberitahuan rute khusus Cloud Router untuk rentang yang dialokasikan pada Cloud Router yang mengelola sesi BGP untuk tunnel Cloud VPN Anda atau lampiran Cloud Interconnect (VLAN)

Hubungkan dari Cloud Shell

Cloud Shell tidak mendukung koneksi ke instance Cloud SQL yang hanya memiliki alamat IP pribadi.

Menghubungkan dari alamat IP non-RFC 1918

RFC 1918 menentukan alamat IP yang ditetapkan untuk digunakan secara internal (yaitu, dalam organisasi) dan tidak akan dirutekan di internet. Secara khusus, yaitu:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Koneksi ke instance Cloud SQL yang menggunakan alamat IP pribadi akan otomatis diizinkan untuk rentang alamat RFC 1918. Dengan cara ini, semua klien pribadi dapat mengakses database tanpa melalui proxy.

Untuk terhubung dari alamat IP non-RFC 1918, Anda harus menetapkan otorisasi IP per instance untuk mengizinkan traffic dari rentang alamat IP non-RFC 1918.

Misalnya, gunakan perintah gcloud seperti berikut:

gcloud sql instances patch INSTANCE_NAME \
--authorized-networks=192.88.99.0/24,11.0.0.0/24

Secara default, Cloud SQL tidak mempelajari rute subnet non-RFC 1918 dari jaringan VPC Anda. Anda harus memperbarui peering jaringan ke Cloud SQL untuk mengekspor rute non-RFC 1918.

gcloud compute networks peerings update cloudsql-postgres-googleapis-com \
--network=VPC_NETWORK_NAME \
--export-subnet-routes-with-public-ip \
--project=PROJECT_ID

    Ganti kode berikut:

  • cloudsql-postgres-googleapis-com adalah nama Private Service Connection dari halaman VPC network Anda.

    Pilih jaringan Anda, lalu cari bagian Private Service Connection.

  • VPC_NETWORK_NAME adalah nama jaringan VPC Anda.
  • PROJECT_ID adalah ID project jaringan VPC. Jika Anda menggunakan VPC Bersama, maka gunakan ID project host.

Untuk meminimalkan kehabisan alamat IP, Anda dapat menggunakan alamat IP publik yang digunakan secara pribadi.

Terhubung dari alamat IP yang digunakan secara pribadi

Jika ingin mengonfigurasi instance dalam rentang alamat IP publik yang digunakan secara pribadi, aktifkan export-subnet-routes-with-public-ip pada peering jaringan antara jaringan Anda dan jaringan Cloud SQL.

gcloud compute networks peerings update cloudsql-postgres-googleapis-com \
--network=VPC_NETWORK_NAME \
--export-subnet-routes-with-public-ip \
--project=PROJECT_ID

    Ganti kode berikut:

  • cloudsql-postgres-googleapis-com adalah nama Private Service Connection dari halaman VPC network Anda.

    Pilih jaringan Anda, lalu cari bagian Private Service Connection.

  • VPC_NETWORK_NAME adalah nama jaringan VPC Anda.
  • PROJECT_ID adalah ID project jaringan VPC. Jika Anda menggunakan VPC Bersama, maka gunakan ID project host.

Menghubungkan ke instance yang dikonfigurasi dengan alamat IP publik yang digunakan secara pribadi

Jika instance Anda dikonfigurasi dalam rentang alamat IP publik yang digunakan secara pribadi dan Anda ingin menghubungkannya, maka aktifkan import-subnet-routes-with-public-ip pada peering jaringan antara jaringan Anda dan jaringan Cloud SQL.

gcloud compute networks peerings update cloudsql-postgres-googleapis-com \
--network=VPC_NETWORK_NAME \
--import-subnet-routes-with-public-ip \
--project=PROJECT_ID

    Ganti kode berikut:

  • cloudsql-postgres-googleapis-com adalah nama Private Service Connection dari halaman VPC network Anda.

    Pilih jaringan Anda, lalu cari bagian Private Service Connection.

  • VPC_NETWORK_NAME adalah nama jaringan VPC Anda.
  • PROJECT_ID adalah ID project jaringan VPC. Gunakan ID project host jika Anda menggunakan VPC Bersama.

Memecahkan masalah

Lihat memecahkan masalah untuk masalah konektivitas yang diketahui, dan juga proses debug masalah koneksi untuk mendapatkan bantuan diagnostik mandiri.

Langkah selanjutnya