Mengonfigurasi akses layanan pribadi dan Private Service Connect

Halaman ini menjelaskan cara mengonfigurasi akses layanan pribadi dan Private Service Connect.

Dengan mengonfigurasi akses layanan pribadi, Anda dapat mengalokasikan rentang alamat IP dan membuat koneksi layanan pribadi untuk jaringan Virtual Private Cloud (VPC) di project Google Cloud Anda. Tindakan ini memungkinkan resource dalam jaringan VPC terhubung ke instance Cloud SQL Anda.

Dengan mengonfigurasi Private Service Connect, Anda dapat terhubung ke instance Cloud SQL utama atau replika bacanya dari beberapa jaringan VPC yang tergabung dalam grup, tim, project, atau organisasi yang berbeda.

Membuat instance yang mendukung akses layanan pribadi dan Private Service Connect

Dengan membuat instance Cloud SQL yang mendukung akses layanan pribadi dan Private Service Connect, Anda mendapatkan manfaat dari kedua layanan tersebut. Untuk mengetahui informasi selengkapnya, lihat Opsi koneksi untuk instance.

Dengan menggunakan Private Service Connect, Anda dapat terhubung ke instance Cloud SQL dari beberapa jaringan VPC yang tergabung dalam grup, tim, project, atau organisasi yang berbeda.

Anda dapat membuat instance Cloud SQL yang mendukung akses layanan pribadi dan Private Service Connect menggunakan gcloud CLI atau API.

gcloud

Untuk membuat instance yang mendukung akses layanan pribadi dan Private Service Connect, gunakan perintah gcloud beta sql instances create:

gcloud beta sql instances create INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION_NAME \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--availability-type=AVAILABILITY_TYPE \
--no-assign-ip \
--allocated-ip-range-name=RANGE_NAME \
--enable-google-private-path \
--tier=MACHINE_TYPE \
--database-version=DATABASE_VERSION \
--network=VPC_NETWORK_NAME \
--psc-auto-connections=network=VPC_NETWORK_PATH,project=SERVICE_PROJECT

Lakukan penggantian berikut:

  • INSTANCE_NAME: nama instance.
  • PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance.
  • REGION_NAME: nama region untuk instance.
  • ALLOWED_PROJECTS: daftar project ID atau nomor yang diizinkan, dipisahkan koma. Jika project tidak ada dalam daftar ini, Anda tidak dapat membuat endpoint Private Service Connect dalam project untuk terhubung ke instance.

  • AVAILABILITY_TYPE: mengaktifkan ketersediaan tinggi untuk instance. Untuk parameter ini, tentukan salah satu nilai berikut:
    • REGIONAL: mengaktifkan ketersediaan tinggi dan direkomendasikan untuk instance produksi. Instance akan dialihkan ke zona lain dalam region yang Anda pilih.
    • ZONAL: tidak menyediakan kemampuan failover. Ini adalah nilai defaultnya.

    Untuk informasi selengkapnya tentang cara menetapkan dan menghapus ketersediaan tinggi untuk instance, lihat Mengonfigurasi instance yang ada untuk ketersediaan tinggi dan Menonaktifkan ketersediaan tinggi untuk instance.

  • RANGE_NAME: untuk parameter opsional ini, tetapkan nama rentang yang dialokasikan untuk rentang IP. Nama rentang harus sesuai dengan RFC 1035 dan berisi 1 hingga 63 karakter.
  • MACHINE_TYPE: jenis mesin untuk instance.
  • DATABASE_VERSION: versi database untuk instance (misalnya, POSTGRES_13).
  • VPC_NETWORK_NAME: nama dan jalur jaringan VPC tempat instance terhubung (misalnya, "projects/PROJECT_ID/global/networks/default").
  • VPC_NETWORK_PATH: jalur ke jaringan VPC tempat endpoint Private Service Connect perlu dibuat. Misalnya:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: project tempat endpoint Private Service Connect dibuat. Jika jaringan VPC bukan VPC bersama, jaringan ini hanya dapat menjadi project host untuk jaringan. Jika ini adalah VPC bersama, project tersebut dapat berupa project host atau project layanan.

    Setiap project yang Anda tentukan dalam parameter koneksi otomatis akan otomatis ditambahkan ke project yang diizinkan.

Untuk mempelajari cara terhubung ke instance yang mengaktifkan Private Service Connect, lihat Terhubung ke instance Cloud SQL.

Untuk menonaktifkan IP publik, gunakan parameter --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.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance.
  • INSTANCE_NAME: nama instance.
  • REGION_NAME: nama region untuk instance.
  • AVAILABILITY_TYPE: mengaktifkan ketersediaan tinggi untuk instance. Untuk parameter ini, tentukan salah satu nilai berikut:
    • REGIONAL: mengaktifkan ketersediaan tinggi dan direkomendasikan untuk instance produksi. Instance akan dialihkan ke zona lain dalam region yang Anda pilih.
    • ZONAL: tidak menyediakan kemampuan failover. Ini adalah nilai defaultnya.

    Untuk informasi selengkapnya tentang cara menetapkan dan menghapus ketersediaan tinggi untuk instance, lihat Mengonfigurasi instance yang ada untuk ketersediaan tinggi dan Menonaktifkan ketersediaan tinggi untuk instance.

  • VPC_NETWORK_NAME: nama dan jalur jaringan VPC tempat instance terhubung (misalnya, "projects/PROJECT_ID/global/networks/default").
  • RANGE_NAME: untuk parameter opsional ini, tetapkan nama rentang yang dialokasikan untuk rentang IP. Nama rentang harus sesuai dengan RFC 1035 dan berisi 1 hingga 63 karakter.
  • ALLOWED_PROJECTS: daftar project ID atau nomor yang diizinkan, dipisahkan koma. Jika project tidak ada dalam daftar ini, Anda tidak dapat membuat endpoint Private Service Connect dalam project untuk terhubung ke instance.

  • VPC_NETWORK_PATH: jalur ke jaringan VPC tempat endpoint Private Service Connect perlu dibuat. Misalnya:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: project tempat endpoint Private Service Connect dibuat. Jika jaringan VPC bukan VPC bersama, jaringan ini hanya dapat menjadi project host untuk jaringan. Jika ini adalah VPC bersama, project tersebut dapat berupa project host atau project layanan.

    Setiap project yang Anda tentukan dalam parameter koneksi otomatis akan otomatis ditambahkan ke project yang diizinkan.

  • MACHINE_TYPE: jenis mesin untuk instance.

Untuk mempelajari cara terhubung ke instance yang mengaktifkan Private Service Connect, lihat Terhubung ke instance Cloud SQL.

Anda menetapkan parameter ipv4Enabled ke false karena instance Anda memiliki alamat IP internal.

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

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "name": "INSTANCE_NAME",
  "project": PROJECT_ID",
  "region": "REGION_NAME",
  "databaseVersion": "POSTGRES_13",
  "kind": "sql#instance",
  "settings": {
    "availabilityType": "AVAILABILITY_TYPE",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": VPC_NETWORK_NAME,
      "allocatedIpRange": "RANGE_NAME",
      "enablePrivatePathForGoogleCloudServices": true,
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscAutoConnections": [
          {
            "consumerProject":"SERVICE_PROJECT",
            "consumerNetwork":"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK_PATH"
          }
        ],
        "pscEnabled": true
      }
    },
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "tier": "MACHINE_TYPE"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Menonaktifkan Private Service Connect untuk instance

Anda dapat menonaktifkan Private Service Connect untuk instance yang mengaktifkan akses layanan pribadi dan Private Service Connect. Karena alasan keamanan, Anda mungkin tidak ingin terhubung ke instance dari beberapa jaringan VPC yang tergabung dalam grup, tim, project, atau organisasi yang berbeda.

Anda dapat menonaktifkan Private Service Connect untuk instance menggunakan gcloud CLI atau API.

gcloud

Untuk menonaktifkan Private Service Connect untuk instance, gunakan perintah gcloud beta sql instances patch:

gcloud beta sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--no-enable-private-service-connect \
--clear-allowed-psc-projects

Lakukan penggantian berikut:

  • INSTANCE_NAME: nama instance
  • PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance
  • INSTANCE_NAME: nama instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "pscEnabled": "false",
        "allowedConsumerProjects": [{}]
      }
    },
    "kind": "sql#settings"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Mengaktifkan Private Service Connect untuk instance

Anda dapat mengaktifkan Private Service Connect untuk instance yang telah mengaktifkan akses layanan pribadi. Anda dapat menggunakan Private Service Connect untuk terhubung ke instance Cloud SQL dari beberapa jaringan VPC.

Anda dapat mengaktifkan Private Service Connect untuk instance menggunakan gcloud CLI atau API.

gcloud

Untuk mengaktifkan Private Service Connect untuk instance, gunakan perintah gcloud beta sql instances patch:

gcloud beta sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--psc-auto-connections=network=VPC_NETWORK_PATH,project=SERVICE_PROJECT

Lakukan penggantian berikut:

  • INSTANCE_NAME: nama instance
  • PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance
  • ALLOWED_PROJECTS: daftar project ID atau nomor yang diizinkan, dipisahkan koma. Jika project tidak ada dalam daftar ini, Anda tidak dapat membuat endpoint Private Service Connect dalam project untuk terhubung ke instance.

  • VPC_NETWORK_PATH: jalur ke jaringan VPC tempat endpoint Private Service Connect dibuat. Misalnya:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: project tempat endpoint Private Service Connect dibuat. Jika jaringan VPC bukan VPC bersama, jaringan ini hanya dapat menjadi project host untuk jaringan. Jika ini adalah VPC bersama, project tersebut dapat berupa project host atau project layanan.

    Setiap project yang Anda tentukan dalam parameter koneksi otomatis akan otomatis ditambahkan ke project yang diizinkan.

Untuk mempelajari cara terhubung ke instance yang mengaktifkan Private Service Connect, lihat Terhubung ke instance Cloud SQL.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance.
  • INSTANCE_NAME: nama instance.
  • ALLOWED_PROJECTS: daftar project ID atau nomor yang diizinkan, dipisahkan koma. Project ini menggantikan project yang sudah dikonfigurasi untuk menggunakan Private Service Connect. Jika project tidak ada dalam daftar ini, Anda tidak dapat membuat endpoint Private Service Connect dalam project untuk terhubung ke instance.
  • VPC_NETWORK_PATH: jalur ke jaringan VPC tempat endpoint Private Service Connect dibuat. Misalnya:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: project tempat endpoint Private Service Connect dibuat. Jika jaringan VPC bukan VPC bersama, jaringan ini hanya dapat menjadi project host untuk jaringan. Jika ini adalah VPC bersama, project tersebut dapat berupa project host atau project layanan.

    Setiap project yang Anda tentukan dalam parameter koneksi otomatis akan otomatis ditambahkan ke project yang diizinkan.

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "pscAutoConnections": [
          {
            "consumerProject":"SERVICE_PROJECT",
            "consumerNetwork":"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK_PATH"
          }
        ],
        "pscEnabled": "true",
        "allowedConsumerProjects": [ALLOWED_PROJECTS]
      }
    },
    "kind": "sql#settings"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Untuk mempelajari cara terhubung ke instance yang mengaktifkan Private Service Connect, lihat Terhubung ke instance Cloud SQL.