Memublikasikan layanan menggunakan Private Service Connect

Sebagai produsen layanan, Anda dapat menggunakan Private Service Connect untuk memublikasikan layanan menggunakan alamat IP internal di jaringan VPC Anda. Layanan yang Anda publikasikan dapat diakses oleh konsumen layanan dengan menggunakan alamat IP internal di jaringan VPC konsumen.

Panduan ini menjelaskan cara menggunakan Private Service Connect untuk memublikasikan layanan. Untuk memublikasikan layanan, lakukan hal berikut:

Private Service Connect menyediakan dua metode untuk terhubung ke layanan yang dipublikasikan:

Jenis endpoint ini memerlukan konfigurasi produsen yang sedikit berbeda. Untuk mengetahui informasi selengkapnya, lihat Fitur dan kompatibilitas.

Peran

Peran IAM berikut memberikan izin yang diperlukan untuk melakukan langkah-langkah dalam panduan ini.

Sebelum memulai

  • Baca Tentang layanan yang dipublikasikan untuk mengetahui informasi tentang memublikasikan layanan, termasuk batasan.

  • Tentukan apakah layanan harus dapat diakses dari semua project, atau apakah Anda ingin mengontrol project mana yang dapat mengakses layanan Anda.

  • Tentukan apakah Anda ingin layanan ini mendukung endpoint, backend, atau keduanya. Untuk mengetahui informasi selengkapnya tentang endpoint dan backend, lihat Jenis Private Service Connect.

    Untuk informasi selengkapnya tentang persyaratan konfigurasi layanan, lihat Fitur dan kompatibilitas.

  • Tentukan apakah Anda ingin mengonfigurasi nama domain untuk layanan, yang mengotomatiskan konfigurasi DNS untuk endpoint konsumen layanan. Jika Anda mengonfigurasi nama domain, pokok IAM yang sama yang memublikasikan layanan harus memverifikasi bahwa mereka memiliki izin Pemilik untuk domain di Google Search Console. Jika Anda mengonfigurasi nama domain, tetapi bukan pemilik domain tersebut, publikasi layanan akan gagal. Untuk memverifikasi kepemilikan, buka Google Search Console.

    Nama domain yang Anda tentukan dalam lampiran layanan dapat berupa subdomain dari domain yang Anda verifikasi. Misalnya, Anda dapat memverifikasi example.com, lalu membuat lampiran layanan dengan nama domain us-west1.p.example.com.

  • Tentukan apakah layanan Anda akan menggunakan protokol PROXY untuk memberikan detail tentang koneksi konsumen. Jika Anda berencana menggunakan protokol PROXY, pastikan protokol tersebut didukung oleh jenis layanan target dan software server web backend layanan. Untuk mengetahui informasi tentang jenis layanan target yang mendukung protokol PROXY, lihat Fitur dan kompatibilitas.

Membuat layanan target

Untuk menghosting layanan, buat salah satu layanan target berikut di jaringan VPC produsen layanan:

Untuk mengetahui informasi tentang konfigurasi yang didukung untuk setiap layanan target, lihat Fitur dan kompatibilitas.

Lampiran layanan hanya dapat memiliki satu layanan target. Namun, beberapa lampiran layanan dapat berbagi layanan target yang sama.

Versi IP layanan target Anda (IPv4 atau IPv6) memengaruhi konsumen mana yang dapat terhubung ke layanan yang Anda publikasikan. Untuk mengetahui informasi selengkapnya, lihat Terjemahan versi IP.

Untuk Load Balancer Jaringan proxy internal regional, backend dapat berada di Google Cloud, di cloud lain, di lingkungan lokal, atau kombinasi dari lokasi-lokasi ini.

Anda juga dapat memublikasikan layanan yang dihosting di Load Balancer Jaringan passthrough internal di Google Kubernetes Engine. Konfigurasi ini, termasuk konfigurasi load balancer dan lampiran layanan, dijelaskan dalam Membuat Load Balancer Jaringan passthrough internal dengan Private Service Connect dalam dokumentasi GKE.

Membuat subnet untuk Private Service Connect

Buat satu atau beberapa subnet khusus untuk digunakan dengan Private Service Connect. Anda harus membuat subnet di region yang sama dengan load balancer layanan.

Jika menggunakan konsol Google Cloud untuk memublikasikan layanan, Anda dapat membuat subnet selama prosedur tersebut.

Anda dapat membuat subnet Private Service Connect di project host VPC Bersama.

Anda tidak dapat mengonversi subnet reguler menjadi subnet Private Service Connect.

Jenis stack IP subnet yang Anda buat harus kompatibel dengan versi IP aturan penerusan load balancer Anda:

  • Untuk aturan penerusan IPv4, buat subnet khusus IPv4 atau dual-stack.
  • Untuk aturan penerusan IPv6, buat subnet khusus IPv6 atau dual-stack yang memiliki rentang alamat IPv6 internal.
  • Jika Anda menggunakan subnet dual-stack, rentang alamat IPv4 atau IPv6 yang digunakan, tetapi tidak keduanya.

Jika Anda perlu menyediakan lebih banyak alamat IP untuk layanan yang ada, lihat Menambahkan atau menghapus subnet dari layanan yang dipublikasikan.

Konsol

  1. Di konsol Google Cloud , buka halaman VPC networks.

    Buka jaringan VPC

  2. Klik nama jaringan VPC untuk menampilkan halaman VPC network details-nya.

  3. Klik Subnets.

  4. Klik Tambahkan subnet. Di panel yang muncul, lakukan hal berikut:

    1. Berikan nama.
    2. Pilih wilayah.
    3. Di bagian Purpose, pilih Private Service Connect.
    4. Di bagian IP stack type, pilih jenis IP stack.
    5. Jika Anda membuat subnet khusus IPv4 atau stack ganda, masukkan rentang alamat IPv4—misalnya, 10.10.10.0/24.
    6. Jika Anda membuat subnet khusus IPv6 atau stack ganda, klik IPv6 access type dan pilih Internal.
    7. Klik Tambahkan.

gcloud

Gunakan perintah gcloud compute networks subnets create.

  • Untuk membuat subnet Private Service Connect khusus IPv4, lakukan hal berikut:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Untuk membuat subnet Private Service Connect stack ganda, lakukan hal berikut:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=INTERNAL \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Untuk membuat subnet Private Service Connect khusus IPv6, lakukan hal berikut:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV6_ONLY \
        --ipv6-access-type=INTERNAL \
        --purpose=PRIVATE_SERVICE_CONNECT
    

Ganti kode berikut:

  • SUBNET_NAME: nama yang akan ditetapkan ke subnet.

  • NETWORK_NAME: nama VPC untuk subnet baru.

  • REGION: region untuk subnet baru. Region ini harus sama dengan region layanan yang Anda publikasikan.

  • SUBNET_RANGE: rentang alamat IPv4 yang akan digunakan untuk subnet—misalnya, 10.10.10.0/24.

API

Kirim permintaan POST ke metode subnetworks.insert.

  • Untuk membuat subnet Private Service Connect khusus IPv4, lakukan hal berikut:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    
    {
      "ipCidrRange": "SUBNET_RANGE",
      "name": "SUBNET_NAME",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "purpose": "PRIVATE_SERVICE_CONNECT"
    }
    
  • Untuk membuat subnet Private Service Connect stack ganda, lakukan hal berikut:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    
    {
      "ipCidrRange": "SUBNET_RANGE",
      "name": "SUBNET_NAME",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "purpose": "PRIVATE_SERVICE_CONNECT",
      "stackType": "IPV4_IPV6",
      "ipv6AccessType": "INTERNAL"
    }
    
  • Untuk membuat subnet Private Service Connect khusus IPv6, lakukan hal berikut:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    
    {
      "name": "SUBNET_NAME",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "purpose": "PRIVATE_SERVICE_CONNECT",
      "stackType": "IPV6_ONLY",
      "ipv6AccessType": "INTERNAL"
    }
    

Ganti kode berikut:

  • PROJECT_ID: project untuk subnet.

  • REGION: region untuk subnet baru. Region ini harus sama dengan region layanan yang Anda publikasikan.

  • SUBNET_RANGE: rentang alamat IPv4 yang akan digunakan untuk subnet. Contoh, 10.10.10.0/24.

  • SUBNET_NAME: nama yang akan ditetapkan ke subnet.

  • NETWORK_NAME: nama jaringan VPC untuk subnet baru.

Mengonfigurasi aturan firewall

Konfigurasi jaringan Anda harus mengizinkan traffic dari rentang alamat IP sumber yang sesuai ke instance atau endpoint jaringan yang dikonfigurasi sebagai backend untuk layanan backend Anda. Jika layanan Anda menggunakan health check, Anda juga harus mengizinkan traffic dari pemeriksaan health check ke backend Anda.

Anda tidak perlu melakukan langkah apa pun untuk mengizinkan traffic antara endpoint Private Service Connect atau backend Private Service Connect dan lampiran layanan terkait, atau antara lampiran layanan dan load balancer terkait. Endpoint, backend, dan lampiran layanan adalah komponen logis yang tidak berpartisipasi dalam alur traffic.

Jika backend Anda berada di jaringan VPC, Anda dapat menggunakan aturan firewall ingress VPC atau kebijakan firewall untuk mengizinkan traffic ini. Untuk backend yang berada di lingkungan lokal atau di cloud lain, konfigurasi lingkungan tersebut agar mengizinkan traffic ke backend.

Saat Anda mengonfigurasi aturan firewall ingress untuk layanan backend, sumber traffic bergantung pada jenis load balancer yang digunakan layanan Anda:

Kategori Sumber traffic ke backend
Load balancer passthrough:
  • Load Balancer Jaringan passthrough internal
  • Penerusan protokol internal
  • Layanan pemetaan port
Rentang alamat IP subnet Private Service Connect (NAT) yang terkait dengan layanan
Load balancer proxy:
  • Load Balancer Aplikasi internal lintas region
  • Load Balancer Aplikasi internal regional
  • Load Balancer Jaringan proxy internal regional
  • Secure Web Proxy
Rentang alamat IP dari subnet khusus proxy terkait
Layanan dengan pemeriksaan kondisi Rentang alamat IP probe dari jenis load balancer Anda

Memublikasikan layanan

Untuk memublikasikan layanan, Anda harus membuat lampiran layanan. Anda dapat menyediakan layanan ini dengan salah satu dari dua cara berikut:

Buat lampiran layanan di region yang sama dengan load balancer layanan.

Setiap lampiran layanan dapat mengarah ke satu atau beberapa subnet Private Service Connect, tetapi subnet Private Service Connect tidak dapat digunakan di lebih dari satu lampiran layanan.

Jika ingin melihat informasi koneksi konsumen, Anda dapat mengaktifkan protokol PROXY pada layanan yang didukung. Aktifkan protokol PROXY hanya jika didukung oleh jenis layanan target Anda (masalah umum) dan software server web backend layanan. Untuk mengetahui informasi tentang jenis layanan target yang mendukung protokol PROXY, lihat Fitur dan kompatibilitas. Untuk mengetahui informasi selengkapnya tentang protokol PROXY, lihat Informasi koneksi konsumen.

Bagian berikut memberikan petunjuk untuk memublikasikan layanan yang didasarkan pada load balancer. Untuk mengetahui informasi tentang cara membuat lampiran layanan yang merujuk ke instance Secure Web Proxy, lihat Men-deploy Secure Web Proxy sebagai lampiran layanan Private Service Connect.

Memublikasikan layanan dengan persetujuan otomatis

Gunakan petunjuk ini untuk memublikasikan layanan dan otomatis mengizinkan konsumen terhubung ke layanan ini. Jika Anda ingin menyetujui koneksi konsumen secara eksplisit, lihat memublikasikan layanan dengan persetujuan eksplisit.

Saat memublikasikan layanan, Anda membuat lampiran layanan. Konsumen layanan menggunakan detail lampiran layanan untuk terhubung ke layanan Anda.

Saat Anda memublikasikan layanan dengan persetujuan otomatis, batas koneksi yang diteruskan berlaku untuk setiap project konsumen yang terhubung ke lampiran layanan Anda.

Konsol

Mengonfigurasi layanan

  1. Di konsol Google Cloud , buka halaman Private Service Connect.

    Buka Private Service Connect

  2. Klik tab Published services.

  3. Klik Publish service.

  4. Di bagian Detail target, pilih Load balancer.

  5. Pilih jenis load balancer.

  6. Pilih load balancer internal yang menghosting layanan yang ingin Anda publikasikan. Kolom jaringan dan region diisi dengan detail untuk load balancer internal yang dipilih.

    Service Project Admin dapat memilih load balancer internal yang memiliki alamat IP dari jaringan VPC Bersama. Untuk mengetahui informasi selengkapnya, lihat VPC Bersama.

  7. Jika diminta, pilih aturan penerusan yang terkait dengan layanan yang ingin Anda publikasikan.

  8. Untuk Service name, masukkan nama lampiran layanan.

Pilih subnet Private Service Connect

Pilih satu atau beberapa subnet Private Service Connect untuk layanan tersebut. Daftar ini diisi dengan subnet dari jaringan VPC load balancer internal yang dipilih, termasuk subnet yang dibagikan ke project layanan melalui VPC Bersama.

Jika lampiran layanan Anda menggunakan load balancer internal dengan alamat IP dari jaringan VPC Bersama, Anda harus memilih subnet bersama dari jaringan VPC Bersama yang sama.

Jika ingin menambahkan subnet baru, Anda dapat membuatnya:

  1. Klik Subnets, lalu klik Reserve new subnet.
  2. Masukkan nama dan deskripsi opsional untuk subnet.
  3. Pilih region untuk subnet.
  4. Pilih jenis stack IP.
  5. Jika Anda membuat subnet khusus IPv4 atau dual-stack, masukkan rentang alamat IPv4 yang akan digunakan untuk subnet.
  6. Klik Tambahkan.

Menyelesaikan konfigurasi

  1. Jika Anda ingin melihat informasi koneksi konsumen, pilih Use Proxy Protocol.
  2. Pilih Automatically accept all connections.
  3. Jika Anda ingin menonaktifkan rekonsiliasi koneksi, hapus centang pada kotak Enable connection reconciliation.
  4. Opsional: Klik Konfigurasi lanjutan, lalu lakukan tindakan berikut:

    1. Jika Anda ingin mengonfigurasi nama domain, masukkan nama domain, termasuk titik di bagian akhir.

      Format yang direkomendasikan untuk nama domain adalah REGION.p.DOMAIN.

      Anda harus memiliki nama domain tersebut. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi DNS.

    2. Masukkan batas koneksi yang di-propagate. Jika tidak ditentukan, nilai defaultnya adalah 250.

  5. Klik Add service.

gcloud

Gunakan perintah gcloud compute service-attachments create.

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=ATTACHMENT_REGION \
    --target-service=TARGET_SERVICE \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT ] \
    [ --enable-proxy-protocol ] \
    [ --domain-names=DOMAIN_NAME ]

Ganti kode berikut:

  • ATTACHMENT_NAME: nama yang akan ditetapkan ke lampiran layanan.

  • ATTACHMENT_REGION: region untuk lampiran layanan baru. Region ini harus sama dengan region alamat IP aturan penerusan target.

  • TARGET_SERVICE: URI aturan penerusan yang terkait dengan layanan yang Anda publikasikan.

    • Untuk Load Balancer Aplikasi internal Lintas-region, gunakan format berikut: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
    • Untuk semua aturan penerusan produsen lainnya, gunakan format berikut: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

    Admin Project Layanan dapat menentukan aturan penerusan load balancer internal yang memiliki alamat IP dari jaringan VPC Bersama. Untuk mengetahui informasi selengkapnya, lihat VPC Bersama.

  • PSC_SUBNET_LIST: daftar yang dipisahkan koma dari satu atau beberapa nama subnet yang digunakan dengan lampiran layanan ini.

    Jika Anda membuat lampiran layanan dengan aturan penerusan yang memiliki alamat IP dari jaringan VPC Bersama, gunakan subnet bersama dari jaringan VPC Bersama yang sama. Untuk setiap subnet bersama, tentukan URI resource lengkap—misalnya, --nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET.

  • PROPAGATED_CONNECTION_LIMIT: batas koneksi yang diteruskan per project. Nilai defaultnya adalah 250.

  • DOMAIN_NAME: nama domain DNS untuk layanan, termasuk titik di bagian akhir. Format yang disarankan: REGION.p.DOMAIN.

    Untuk mengetahui informasi selengkapnya, lihat Konfigurasi DNS.

API

Kirim permintaan POST ke metode serviceAttachments.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments
{
  "name": "ATTACHMENT_NAME",
  "connectionPreference": "ACCEPT_AUTOMATIC",
  "targetService": "TARGET_SERVICE",
  "enableProxyProtocol": false,
  "natSubnets": [
    "PSC_SUBNET_1_URI",
    "PSC_SUBNET_2_URI"
  ],
  "propagatedConnectionLimit": "PROPAGATED_CONNECTION_LIMIT",
  "domainNames": [
    "DOMAIN_NAME"
  ]
}

Ganti kode berikut:

  • PROJECT_ID: project untuk lampiran layanan.

  • ATTACHMENT_REGION: region untuk lampiran layanan baru. Region ini harus sama dengan region alamat IP aturan penerusan target.

  • ATTACHMENT_NAME: nama yang akan ditetapkan ke lampiran layanan.

  • TARGET_SERVICE: URI aturan penerusan yang terkait dengan layanan yang Anda publikasikan.

    • Untuk Load Balancer Aplikasi internal Lintas-region, gunakan format berikut: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
    • Untuk semua aturan penerusan produsen lainnya, gunakan format berikut: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

    Admin Project Layanan dapat menentukan aturan penerusan load balancer internal yang memiliki alamat IP dari jaringan VPC Bersama. Untuk mengetahui informasi selengkapnya, lihat VPC Bersama.

  • PSC_SUBNET_1_URI dan PSC_SUBNET_2_URI: URI subnet yang akan digunakan untuk lampiran layanan ini. Anda dapat menentukan satu atau beberapa subnet menurut URI.

    Jika Anda membuat lampiran layanan dengan aturan penerusan yang memiliki alamat IP dari jaringan VPC Bersama, gunakan subnet bersama dari jaringan VPC Bersama yang sama.

  • DOMAIN_NAME: nama domain DNS untuk layanan, termasuk titik di bagian akhir. Format yang disarankan: REGION.p.DOMAIN.

    Untuk mengetahui informasi selengkapnya, lihat Konfigurasi DNS.

  • PROPAGATED_CONNECTION_LIMIT: batas koneksi yang diterapkan per project. Nilai defaultnya adalah 250.

Memublikasikan layanan dengan persetujuan eksplisit

Gunakan petunjuk ini untuk memublikasikan layanan jika Anda ingin menyetujui konsumen secara eksplisit sebelum mereka dapat terhubung ke layanan ini. Jika ingin menyetujui koneksi konsumen secara otomatis, lihat memublikasikan layanan dengan persetujuan otomatis.

Saat memublikasikan layanan, Anda membuat lampiran layanan. Konsumen layanan menggunakan detail lampiran layanan untuk terhubung ke layanan Anda.

Setiap lampiran layanan memiliki daftar penerimaan konsumen dan daftar penolakan konsumen. Daftar konsumen menentukan endpoint mana yang dapat terhubung ke layanan. Lampiran layanan tertentu dapat menerima atau menolak konsumen berdasarkan salah satu jenis berikut:

  • Project
  • Jaringan VPC
  • Endpoint Private Service Connect (Pratinjau)

Setiap entri dalam daftar konsumen harus memiliki jenis yang sama. Misalnya, lampiran layanan tertentu tidak dapat menerima beberapa konsumen berdasarkan project dan beberapa konsumen berdasarkan jaringan VPC. Selain itu, penentuan konsumen menurut folder tidak didukung.

Jika Anda menambahkan nilai ke daftar penerimaan dan daftar penolakan, permintaan koneksi dari konsumen tersebut akan ditolak.

Untuk menyetujui pengguna berdasarkan endpoint Private Service Connect individual, publikasikan layanan dengan persetujuan eksplisit, tetapi jangan tambahkan nilai apa pun ke daftar konsumen. Setelah konsumen terhubung ke lampiran layanan Anda, Anda dapat menemukan URI berbasis ID endpoint dengan mendeskripsikan lampiran layanan atau meminta konsumen untuk mendeskripsikan endpoint. Untuk menerima koneksi, tambahkan URI berbasis ID endpoint Private Service Connect ke daftar penerimaan konsumen layanan Anda.

Jika daftar penerimaan dan penolakan konsumen Anda merujuk ke project atau endpoint individual, batas koneksi yang di-propagate berlaku untuk project konsumen. Jika daftar penerimaan dan penolakan konsumen Anda merujuk ke jaringan VPC, batas koneksi yang di-propagasikan berlaku untuk jaringan VPC konsumen.

Konsol

Mengonfigurasi layanan

  1. Di konsol Google Cloud , buka halaman Private Service Connect.

    Buka Private Service Connect

  2. Klik tab Published services.

  3. Klik Publish service.

  4. Di bagian Detail target, pilih Load balancer.

  5. Pilih jenis load balancer.

  6. Pilih load balancer internal yang menghosting layanan yang ingin dipublikasikan. Kolom jaringan dan region diisi dengan detail untuk load balancer internal yang dipilih.

    Service Project Admin dapat memilih load balancer internal yang memiliki alamat IP dari jaringan VPC Bersama. Untuk mengetahui informasi selengkapnya, lihat VPC Bersama.

  7. Jika diminta, pilih aturan penerusan yang terkait dengan layanan yang ingin Anda publikasikan.

  8. Untuk Service name, masukkan nama lampiran layanan.

Pilih subnet Private Service Connect

Pilih satu atau beberapa subnet Private Service Connect untuk layanan tersebut. Daftar ini diisi dengan subnet dari jaringan VPC load balancer internal yang dipilih, termasuk subnet yang dibagikan ke project layanan melalui VPC Bersama.

Jika lampiran layanan Anda menggunakan load balancer internal dengan alamat IP dari jaringan VPC Bersama, Anda harus memilih subnet bersama dari jaringan VPC Bersama yang sama.

Jika ingin menambahkan subnet baru, Anda dapat membuatnya:

  1. Klik Subnets, lalu klik Reserve new subnet.
  2. Masukkan nama dan deskripsi opsional untuk subnet.
  3. Pilih region untuk subnet.
  4. Pilih jenis stack IP.
  5. Jika Anda membuat subnet khusus IPv4 atau dual-stack, masukkan rentang alamat IPv4 yang akan digunakan untuk subnet.
  6. Klik Tambahkan.

Mengonfigurasi akses konsumen

  1. Jika Anda ingin melihat informasi koneksi konsumen, pilih Use Proxy Protocol.
  2. Untuk mengonfigurasi daftar penerimaan dan penolakan konsumen, lakukan salah satu hal berikut.

    • Untuk menerima koneksi untuk project yang dipilih, pilih Accept connections for selected projects, lalu:

      1. Untuk setiap project yang koneksinya ingin Anda terima, klik Add accepted project, lalu masukkan informasi berikut:

        • Project ID atau nomor project dari project yang ingin Anda terima koneksinya.
        • Batas koneksi untuk menentukan jumlah maksimum endpoint dari project tertentu yang dapat terhubung.
      2. Opsional: Untuk setiap project yang koneksinya ingin Anda tolak secara eksplisit, klik Add rejected project, lalu masukkan project ID atau nomor project.

    • Untuk menerima koneksi untuk jaringan yang dipilih, pilih Terima koneksi untuk jaringan yang dipilih, lalu:

      1. Untuk setiap jaringan VPC yang koneksinya ingin Anda terima, klik Add accepted network, lalu masukkan informasi berikut:

        • Project ID atau nomor project dari project induk jaringan yang koneksinya ingin Anda terima.
        • Nama jaringan yang koneksinya ingin Anda terima.
        • Batas koneksi untuk menentukan jumlah maksimum endpoint dari jaringan yang ditentukan yang dapat terhubung.
      2. Opsional: Untuk setiap jaringan yang koneksinya ingin Anda tolak secara eksplisit, klik Add rejected network, lalu masukkan ID atau nomor project dari project induk jaringan dan nama jaringan.

    • Untuk menerima koneksi untuk setiap endpoint Private Service Connect, pilih Accept connections for selected projects. Jangan tambahkan nilai apa pun ke daftar penerimaan konsumen saat ini. Setelah konsumen meminta koneksi ke layanan Anda, Anda dapat menambahkan endpoint ke daftar penerimaan konsumen.

Menyelesaikan konfigurasi

  1. Opsional: Jika Anda ingin menonaktifkan rekonsiliasi koneksi, hapus centang pada kotak Aktifkan rekonsiliasi koneksi.
  2. Opsional: Klik Konfigurasi lanjutan, lalu lakukan tindakan berikut:

    1. Jika Anda ingin mengonfigurasi nama domain, masukkan nama domain, termasuk titik di bagian akhir.

      Format yang direkomendasikan untuk nama domain adalah REGION.p.DOMAIN.

      Anda harus memiliki nama domain tersebut. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi DNS.

    2. Masukkan batas koneksi yang di-propagate. Jika tidak ditentukan, nilai defaultnya adalah 250.

  3. Klik Add service.

gcloud

Gunakan perintah gcloud compute service-attachments create.

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=ATTACHMENT_REGION \
    --target-service=TARGET_SERVICE \
    --connection-preference=ACCEPT_MANUAL \
    --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2 \
    --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2 \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT ] \
    [ --enable-proxy-protocol ] \
    [ --domain-names=DOMAIN_NAME ] \
    [ --reconcile-connections ]

Ganti kode berikut:

  • ATTACHMENT_NAME: nama yang akan ditetapkan ke lampiran layanan.

  • ATTACHMENT_REGION: region untuk lampiran layanan baru. Region ini harus sama dengan region alamat IP aturan penerusan target.

  • TARGET_SERVICE: URI aturan penerusan yang terkait dengan layanan yang Anda publikasikan.

    • Untuk Load Balancer Aplikasi internal Lintas-region, gunakan format berikut: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
    • Untuk semua aturan penerusan produsen lainnya, gunakan format berikut: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

    Admin Project Layanan dapat menentukan aturan penerusan load balancer internal yang memiliki alamat IP dari jaringan VPC Bersama. Untuk mengetahui informasi selengkapnya, lihat VPC Bersama.

  • ACCEPTED_PROJECT_OR_NETWORK_1 dan ACCEPTED_PROJECT_OR_NETWORK_2: project ID, nama project, atau URI jaringan yang akan diterima. --consumer-accept-list bersifat opsional dan dapat berisi satu atau beberapa project atau jaringan, tetapi bukan campuran dari kedua jenis tersebut.

  • LIMIT_1 dan LIMIT_2: batas koneksi untuk project atau jaringan. Batas koneksi adalah jumlah endpoint atau backend konsumen yang dapat terhubung ke layanan ini. Setiap project atau jaringan yang diterima harus memiliki batas koneksi yang dikonfigurasi.

  • REJECTED_PROJECT_OR_NETWORK_1 dan REJECTED_PROJECT_OR_NETWORK_2: project ID, nama project, atau URI jaringan yang akan ditolak. --consumer-reject-list bersifat opsional dan dapat berisi satu atau beberapa project atau jaringan, tetapi tidak dapat berupa campuran dari kedua jenis tersebut.

  • PSC_SUBNET_LIST: daftar yang dipisahkan koma dari satu atau beberapa nama subnet yang digunakan dengan lampiran layanan ini.

    Jika Anda membuat lampiran layanan dengan aturan penerusan yang memiliki alamat IP dari jaringan VPC Bersama, gunakan subnet bersama dari jaringan VPC Bersama yang sama. Untuk setiap subnet bersama, tentukan URI resource lengkap—misalnya, --nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET.

  • PROPAGATED_CONNECTION_LIMIT: batas koneksi yang di-propagate. Nilai defaultnya adalah 250.

  • DOMAIN_NAME: nama domain DNS untuk layanan, termasuk titik di bagian akhir. Format yang disarankan: REGION.p.DOMAIN.

    Untuk mengetahui informasi selengkapnya, lihat Konfigurasi DNS.

API

Kirim permintaan POST ke metode serviceAttachments.insert.

  • Untuk memublikasikan layanan dan menyetujui konsumen secara eksplisit berdasarkan project, kirim permintaan berikut:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments
    {
      "name": "ATTACHMENT_NAME",
      "region": "ATTACHMENT_REGION",
      "connectionPreference": "ACCEPT_MANUAL",
      "targetService": "TARGET_SERVICE",
      "enableProxyProtocol": false,
      "natSubnets": [
        "PSC_SUBNET_1_URI",
        "PSC_SUBNET_2_URI"
      ],
      "consumerRejectLists": [
        "REJECTED_PROJECT_1",
        "REJECTED_PROJECT_2"
      ],
      "consumerAcceptLists": [
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_1",
          "connectionLimit": "LIMIT_1"
        },
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_2",
          "connectionLimit": "LIMIT_2"
        }
      ],
      "propagatedConnectionLimit": "PROPAGATED_CONNECTION_LIMIT",
      "domainNames": [
        "DOMAIN_NAME"
      ]
    }
    

    Ganti kode berikut:

    • PROJECT_ID: project untuk lampiran layanan.

    • ATTACHMENT_REGION: region untuk lampiran layanan baru. Region ini harus sama dengan region alamat IP aturan penerusan target.

    • ATTACHMENT_NAME: nama yang akan ditetapkan ke lampiran layanan.

    • TARGET_SERVICE: URI aturan penerusan yang terkait dengan layanan yang Anda publikasikan.

      • Untuk Load Balancer Aplikasi internal Lintas-region, gunakan format berikut: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
      • Untuk semua aturan penerusan produsen lainnya, gunakan format berikut: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

      Admin Project Layanan dapat menentukan aturan penerusan load balancer internal yang memiliki alamat IP dari jaringan VPC Bersama. Untuk mengetahui informasi selengkapnya, lihat VPC Bersama.

    • PSC_SUBNET_1_URI dan PSC_SUBNET_2_URI: URI subnet yang akan digunakan untuk lampiran layanan ini. Anda dapat menentukan satu atau beberapa subnet menurut URI.

      Jika Anda membuat lampiran layanan dengan aturan penerusan yang memiliki alamat IP dari jaringan VPC Bersama, gunakan subnet bersama dari jaringan VPC Bersama yang sama.

    • REJECTED_PROJECT_1 dan REJECTED_PROJECT_2: project ID atau jumlah project yang akan ditolak. consumerRejectLists bersifat opsional dan dapat berisi satu atau beberapa project.

    • ACCEPTED_PROJECT_1 dan ACCEPTED_PROJECT_2: project ID atau nomor project yang akan disetujui. consumerAcceptLists bersifat opsional dan dapat berisi satu atau beberapa project.

    • LIMIT_1 dan LIMIT_2: batas koneksi untuk project. Batas koneksi adalah jumlah endpoint atau backend konsumen yang dapat terhubung ke layanan ini. Setiap project yang diterima harus memiliki batas koneksi yang telah dikonfigurasi.

    • DOMAIN_NAME: nama domain DNS untuk layanan, termasuk titik di bagian akhir. Format yang direkomendasikan: REGION.p.DOMAIN. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi DNS.
  • Untuk memublikasikan layanan dan menyetujui konsumen secara eksplisit berdasarkan jaringan VPC, kirim permintaan berikut:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments
    {
      "name": "ATTACHMENT_NAME",
      "region": "ATTACHMENT_REGION",
      "connectionPreference": "ACCEPT_MANUAL",
      "targetService": "TARGET_SERVICE",
      "enableProxyProtocol": false,
      "natSubnets": [
        "PSC_SUBNET_1_URI",
        "PSC_SUBNET_2_URI"
      ],
      "consumerRejectLists": [
        "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1",
        "projects/REJECTED_PROJECT_ID_2/global/networks/REJECTED_NETWORK_2"
      ],
      "consumerAcceptLists": [
        {
          "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/networks/ACCEPTED_NETWORK_1",
          "connectionLimit": "LIMIT_1"
        },
        {
          "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/networks/ACCEPTED_NETWORK_2",
          "connectionLimit": "LIMIT_2"
        }
      ],
      "propagatedConnectionLimit": PROPAGATED_CONNECTION_LIMIT,
      "domainNames": [
        "DOMAIN_NAME"
      ]
    }
    

    Ganti kode berikut:

    • REJECTED_PROJECT_ID_1 dan REJECTED_PROJECT_ID_2: ID project induk jaringan yang ingin Anda tolak. consumerRejectLists bersifat opsional dan dapat berisi satu atau beberapa jaringan.
    • REJECTED_NETWORK_1 dan REJECTED_NETWORK_2: nama jaringan yang ingin Anda tolak.
    • ACCEPTED_PROJECT_ID_1 dan ACCEPTED_PROJECT_ID_2: ID project induk dari jaringan yang ingin Anda terima. consumerAcceptLists bersifat opsional dan dapat berisi satu atau beberapa jaringan.
    • ACCEPTED_NETWORK_1 dan ACCEPTED_NETWORK_2: nama jaringan yang ingin Anda terima.
    • LIMIT_1 dan LIMIT_2: batas koneksi untuk jaringan. Batas koneksi adalah jumlah endpoint atau backend konsumen yang dapat terhubung ke layanan ini. Setiap project yang diterima harus memiliki batas koneksi yang telah dikonfigurasi.
    • DOMAIN_NAME: nama domain DNS untuk layanan, termasuk titik di bagian akhir. Format yang direkomendasikan: REGION.p.DOMAIN. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi DNS.
  • Untuk memublikasikan layanan dengan rekonsiliasi koneksi yang diaktifkan, kirim permintaan yang mirip dengan permintaan sebelumnya, tetapi sertakan kolom berikut:

    {
      ...
      "reconcileConnections": true
      ...
    }
    

Melihat informasi koneksi konsumen

Untuk mengetahui informasi tentang cara melihat informasi koneksi konsumen menggunakan protokol PROXY, lihat Melihat informasi koneksi konsumen.

Mengelola permintaan akses ke layanan yang dipublikasikan

Jika memiliki layanan yang dipublikasikan dengan persetujuan eksplisit, Anda dapat menerima atau menolak permintaan koneksi dari project atau jaringan konsumen. Untuk informasi lebih lanjut, lihat Mengelola permintaan akses ke layanan yang dipublikasikan.

Anda juga dapat beralih antara penerimaan project otomatis dan eksplisit untuk layanan yang dipublikasikan. Untuk informasi selengkapnya, lihat Mengubah preferensi koneksi untuk layanan yang dipublikasikan

Menambahkan atau menghapus subnet dari layanan yang dipublikasikan

Anda dapat menambahkan atau menghapus subnet dari layanan yang dipublikasikan. Untuk mengetahui informasi selengkapnya, lihat Menambahkan atau menghapus subnet dari layanan yang dipublikasikan.

Melihat daftar layanan yang dipublikasikan

Anda dapat melihat daftar semua layanan.

Konsol

  1. Di konsol Google Cloud , buka halaman Private Service Connect.

    Buka Private Service Connect

  2. Klik tab Published services.

    Lampiran layanan Private Service Connect akan ditampilkan.

gcloud

Gunakan perintah gcloud compute service-attachments list.

gcloud compute service-attachments list [--regions=REGION_LIST]

Ganti REGION_LIST dengan daftar yang dipisahkan koma dari satu atau beberapa region yang ingin Anda lihat lampiran layanannya. Misalnya, us-central1 atau us-west1,us-central1.

API

Untuk melihat semua lampiran layanan di region tertentu atau di semua region, kirim permintaan GET ke metode serviceAttachments.list.

  • Melihat semua lampiran layanan dalam satu region:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
    
  • Melihat semua lampiran layanan di semua region:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/serviceAttachments
    

    Ganti kode berikut:

    • PROJECT_ID: project untuk lampiran layanan.

    • REGION: region untuk lampiran layanan.

    • ATTACHMENT_NAME: nama lampiran layanan.

Melihat detail untuk layanan yang dipublikasikan

Anda dapat melihat detail konfigurasi dari layanan yang dipublikasikan. Anda dapat melihat beberapa detail konfigurasi di konsol Google Cloud , misalnya, URI lampiran layanan yang perlu dihubungkan oleh konsumen layanan ke layanan Anda. Untuk melihat semua detail, termasuk nilai pscConnectionId dan URI endpoint berbasis ID (endpointWithId) untuk konsumen lampiran layanan, gunakan Google Cloud CLI atau kirim permintaan API.

Konsol

Anda dapat melihat detail untuk layanan yang dipublikasikan. Kolom Service attachment berisi URI lampiran layanan.

  1. Di konsol Google Cloud , buka halaman Private Service Connect.

    Buka Private Service Connect

  2. Klik tab Published services.

  3. Klik layanan yang ingin Anda lihat.

gcloud

  • Untuk melihat detail layanan yang dipublikasikan, gunakan perintah gcloud compute service-attachments describe. Kolom selfLink berisi URI lampiran layanan.

    gcloud compute service-attachments describe \
        ATTACHMENT_NAME --region=REGION
    

    Ganti kode berikut:

    • ATTACHMENT_NAME: nama lampiran layanan.

    • REGION: region untuk lampiran layanan.

  • Untuk melihat detail layanan yang dipublikasikan, termasuk URI endpoint berbasis ID yang dapat Anda gunakan untuk menerima setiap endpoint, gunakan perintah gcloud beta compute service-attachments describe. Untuk setiap endpoint dalam daftar endpoint yang terhubung, kolom endpointWithId berisi URI berbasis ID endpoint.

    gcloud beta compute service-attachments describe \
        ATTACHMENT_NAME --region=REGION
    

API

  • Untuk melihat detail layanan yang dipublikasikan, kirim permintaan GET ke metode serviceAttachments.get. Kolom selfLink berisi URI lampiran layanan.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    Ganti kode berikut:

    • PROJECT_ID: project untuk lampiran layanan.

    • REGION: region untuk lampiran layanan.

    • ATTACHMENT_NAME: nama lampiran layanan.

  • Untuk melihat detail layanan yang dipublikasikan, termasuk URI endpoint berbasis ID yang dapat Anda gunakan untuk menerima endpoint individual, kirim permintaan GET ke metode serviceAttachments.get versi beta. Untuk setiap endpoint dalam daftar endpoint yang terhubung, kolom endpointWithId berisi URI berbasis ID endpoint.

     GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
     

Menghapus layanan yang dipublikasikan

Anda dapat menghapus layanan yang dipublikasikan, meskipun terdapat koneksi konsumen ke lampiran layanan. Menghapus layanan yang dipublikasikan hanya akan menghapus lampiran layanan. Load balancer yang terkait tidak akan dihapus. Saat Anda menghapus layanan yang dipublikasikan, hal berikut akan diterapkan:

Konsol

  1. Di konsol Google Cloud , buka halaman Private Service Connect.

    Buka Private Service Connect

  2. Klik tab Published services.

  3. Klik layanan yang ingin Anda hapus.

  4. Klik Delete.

gcloud

Gunakan perintah gcloud compute service-attachments delete.

gcloud compute service-attachments delete \
    ATTACHMENT_NAME --region=REGION

API

Kirim permintaan DELETE ke metode serviceAttachments.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

Ganti kode berikut:

  • PROJECT_ID: project untuk lampiran layanan.

  • REGION: region untuk lampiran layanan.

  • ATTACHMENT_NAME: nama lampiran layanan.

Masalah umum

Kegagalan health check dengan endpoint konsumen akses global

Konsumen dapat menghubungkan endpoint akses global ke layanan yang dipublikasikan yang tidak dikonfigurasi untuk akses global. Namun, health check tidak berfungsi dengan benar dalam konfigurasi ini. Akibatnya, traffic dapat dikirim ke backend yang bermasalah dan dihapus.

Jika Anda memublikasikan layanan menggunakan Load Balancer Jaringan passthrough internal atau penerusan protokol internal (instance target), dan layanan Anda terpengaruh oleh masalah ini, lakukan hal berikut.

  • Jika Anda ingin menggunakan akses global, lakukan hal berikut:
    1. Aktifkan akses global untuk aturan penerusan load balancer.
    2. Jika load balancer dikelola oleh Google Kubernetes Engine, Anda juga harus memperbarui manifes Service yang sesuai dan menerapkannya ke cluster Anda. Untuk mengetahui informasi selengkapnya tentang konfigurasi khusus GKE ini, lihat Akses global.
    3. Perbarui otomatisasi apa pun sehingga load balancer produsen baru yang mendukung endpoint Private Service Connect dengan akses global dikonfigurasi untuk akses global.
  • Jika Anda tidak ingin menggunakan akses global, minta konsumen untuk menonaktifkan akses global untuk endpoint.

Mengaktifkan akses global untuk layanan yang dipublikasikan tidak akan mengganggu traffic jaringan.

Kegagalan health check dengan NEG Private Service Connect akses global

Ada masalah umum dengan NEG Private Service Connect konsumen yang dikonfigurasi untuk akses global. NEG Private Service Connect dikonfigurasi untuk akses global jika dikaitkan dengan layanan backend global.

Jika konsumen menghubungkan NEG Private Service Connect yang dikonfigurasi untuk akses global ke load balancer produsen, dan produsen layanan menonaktifkan akses global untuk load balancer tersebut, health check tidak akan berfungsi dengan benar. Akibatnya, traffic dapat dikirim ke backend yang bermasalah dan dihapus.

Jika Anda memublikasikan layanan menggunakan load balancer internal yang mendukung akses global, dan layanan Anda terpengaruh oleh masalah ini, lakukan hal berikut.

  • Jika Anda ingin menggunakan akses global, lakukan hal berikut:
    1. Aktifkan akses global untuk aturan penerusan load balancer.
    2. Jika load balancer dikelola oleh Google Kubernetes Engine, Anda juga harus mengupdate manifes Service yang sesuai dan menerapkannya ke cluster Anda. Untuk mengetahui informasi selengkapnya tentang konfigurasi khusus GKE ini, lihat Akses global.
    3. Perbarui otomatisasi apa pun sehingga load balancer produsen baru yang mendukung NEG Private Service Connect dengan akses global dikonfigurasi untuk akses global.
  • Jika Anda tidak ingin menggunakan akses global, minta konsumen untuk mengonfigurasi ulang NEG Private Service Connect untuk akses regional. Untuk melakukannya, konsumen harus menghapus NEG Private Service Connect dari layanan backend global lalu melampirkan NEG ke layanan backend regional.

Mengaktifkan akses global untuk layanan yang dipublikasikan tidak akan mengganggu traffic jaringan.

Pemutusan koneksi setelah mengupgrade penyedia Google untuk Terraform

Jika Anda telah menggunakan penyedia Google untuk Terraform dengan versi sebelum 4.76.0 untuk membuat lampiran layanan, jangan upgrade ke versi 4.76.0 hingga 4.81.x. Ketika Anda menjalankan terraform apply setelah mengupgrade ke versi 4.76.0 hingga 4.81.x, Terraform mungkin secara tidak sengaja menghapus dan membuat ulang lampiran layanan dan menutup koneksi Private Service Connect yang ada. Lampiran layanan yang dibuat ulang tidak otomatis membuat kembali koneksi Private Service Connect.

Jika Anda mengupgrade ke versi 4.82.0, lalu menjalankan terraform apply, lampiran layanan tidak akan dihapus, tetapi setelan reconcile connections ditetapkan ke true. Jika setelan sebelumnya ditetapkan ke false, beberapa koneksi Private Service Connect mungkin tertutup.

  • Mengupgrade ke penyedia Google versi 4.76.0 hingga 4.81.x. Dalam skenario ini, output terraform plan mencakup hal berikut:

    -/+ resource "google_compute_service_attachment" "SERVICE_NAME" {
      ...
            ~ reconcile_connections = false -> true # forces replacement
      ...
    

    Gunakan solusi untuk mencegah masalah ini.

  • Mengupgrade ke penyedia Google versi 4.82.0. Dalam skenario ini, output terraform plan mencakup hal berikut:

    ~ reconcile_connections = false -> true
    

    Jika Anda mengabaikan peringatan ini dan menerapkan perubahan, Terraform akan memperbarui lampiran layanan untuk mengaktifkan rekonsiliasi koneksi. Bergantung pada status koneksinya, mengubah dari false ke true dapat menutup beberapa koneksi yang ada. Untuk mengetahui informasi selengkapnya, lihat Rekonsiliasi koneksi.

    Gunakan solusi untuk mencegah masalah ini.

Solusi

Sebaiknya upgrade penyedia Google untuk Terraform ke versi 4.82.0 atau yang lebih baru. Versi ini mencegah penghapusan dan pembuatan ulang lampiran layanan secara tidak sengaja.

Jika Anda tidak dapat segera melakukan upgrade, atau jika Anda dapat melakukan upgrade tetapi Anda juga ingin mencegah Terraform agar tidak mengubah setelan rekonsiliasi koneksi, perbarui konfigurasi Terraform Anda untuk menetapkan setelan rekonsiliasi koneksi secara eksplisit.

  1. Lihat konfigurasi mendetail untuk lampiran layanan, dan catat setelan reconcileConnections.

    gcloud compute service-attachments describe SERVICE_NAME --region=REGION
    

    Outputnya mencakup kolom reconcileConnections, yang bisa berupa true atau false.

    reconcileConnections: false
    
  2. Update file konfigurasi Terraform Anda agar secara eksplisit menggunakan setelan yang sama dengan yang digunakan pada lampiran layanan.

    resource "google_compute_service_attachment" "SERVICE_NAME" {
      ...
      reconcile_connections    = false
    }
    

    Untuk contoh konfigurasi, lihat Reconcile Connections Lampiran Layanan di GitHub.

Error TLS dengan protokol PROXY

Jika Anda memublikasikan layanan dengan protokol PROXY yang diaktifkan, tetapi jenis layanan target Anda tidak mendukung protokol PROXY, konsumen dapat terhubung ke layanan Anda dengan endpoint. Namun, traffic tidak mengalir melalui koneksi, dan workload menerima error terkait TLS.

Untuk mengatasi masalah ini, perbarui lampiran layanan untuk menonaktifkan protokol PROXY.

Untuk mengetahui informasi tentang jenis layanan target yang mendukung protokol PROXY, lihat Fitur dan kompatibilitas.

Pemecahan masalah

Terjadi error saat mengupdate lampiran layanan

Jika Anda melihat pesan error berikut saat memperbarui lampiran layanan, daftar penerimaan atau daftar penolakan mungkin menyertakan project yang dihapus: The resource PROJECT was not found.

Hapus project yang dihapus dari konfigurasi lampiran layanan untuk menyelesaikan masalah.

  1. Gunakan perintah gcloud compute service-attachments describe untuk menampilkan konfigurasi lampiran layanan yang ingin Anda ubah.

    • Untuk menghasilkan output daftar penerimaan dalam format yang nantinya dapat Anda gunakan untuk memperbarui lampiran layanan, lakukan hal berikut:

      gcloud compute service-attachments describe ATTACHMENT_NAME \
          --region=REGION --flatten="consumerAcceptLists[]" \
          --format="csv[no-heading,separator='='](consumerAcceptLists.projectIdOrNum,consumerAcceptLists.connectionLimit)" \
          | xargs | sed -e 's/ /,/g'
      

      Output daftar penerimaan terlihat seperti berikut ini:

      PROJECT_1=LIMIT_1,PROJECT_2=LIMIT_2,PROJECT_3=LIMIT_3
      
    • Untuk menampilkan daftar penolakan dalam format yang nantinya dapat Anda gunakan untuk mengupdate lampiran layanan, lakukan hal berikut:

      gcloud compute service-attachments describe ATTACHMENT_NAME \
          --region=REGION \
          --format="value[delimiter=','](consumerRejectLists[])"
      

      Output daftar penolakan terlihat seperti berikut ini:

      PROJECT_1,PROJECT_2,PROJECT_3
      
  2. Edit output perintah untuk menghapus project yang telah dihapus dari daftar penerimaan dan daftar penolakan.

  3. Perbarui lampiran layanan untuk menghapus project yang dihapus.

    • Untuk memperbarui daftar penerimaan, lakukan hal berikut:

      gcloud compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-accept-list=UPDATED_ACCEPT_LIST
      
    • Untuk memperbarui daftar penolakan, lakukan hal berikut:

      gcloud compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-reject-list=UPDATED_REJECT_LIST
      

Konektivitas tidak terhubung

Jika konsumen telah membuat endpoint atau backend yang merujuk ke lampiran layanan Anda, tetapi konektivitas tidak dibuat, periksa status koneksi lampiran layanan. Status koneksi dapat menunjukkan langkah-langkah yang dapat Anda lakukan untuk menyelesaikan masalah.

Waktu tunggu koneksi konsumen habis

Jika koneksi konsumen mengalami waktu tunggu habis, periksa apakah layanan Anda memerlukan koneksi yang berjalan lama. Waktu Tunggu Tidak Ada Aktivitas Koneksi yang Dibuat TCP untuk NAT Private Service Connect adalah 20 menit. Jika layanan Anda memerlukan waktu tunggu yang lebih lama, Anda mungkin perlu melakukan beberapa perubahan konfigurasi untuk membantu memastikan koneksi tidak mengalami waktu tunggu habis. Untuk mengetahui informasi selengkapnya, lihat spesifikasi NAT.

Error koneksi yang diteruskan

Untuk mengetahui informasi tentang cara memecahkan masalah koneksi yang dipropagasi, lihat Memecahkan masalah error propagasi koneksi Private Service Connect.

Layanan yang dipublikasikan mengalami masalah performa atau waktu tunggu koneksi habis

Jika layanan yang dipublikasikan mengalami masalah performa atau timeout koneksi terputus-putus, hal ini mungkin disebabkan oleh paket yang terputus. Anda dapat menyelidiki paket yang terputus dengan memeriksa metrik yang dijelaskan di bagian berikut.

Paket yang tidak terkirim dari konsumen

Metrik private_service_connect/producer/dropped_received_packets_count melacak paket dari endpoint atau backend ke layanan yang dipublikasikan yang dihentikan karena endpoint atau backend melebihi koneksi maksimum ke layanan.

Jika layanan yang dipublikasikan melaporkan nilai untuk metrik ini, pertimbangkan solusi berikut:

  • Tingkatkan kapasitas layanan yang dipublikasikan—misalnya, dengan menambahkan lebih banyak instance virtual machine (VM) atau endpoint jaringan.
  • Minta konsumen layanan untuk membuat endpoint atau backend tambahan yang terhubung ke layanan yang dipublikasikan.
  • Minta konsumen layanan untuk mengurangi jumlah koneksi melalui endpoint atau backend-nya.

Paket yang tidak terkirim ke konsumen

Metrik private_service_connect/producer/dropped_sent_packets_count melacak paket yang dikirim dari layanan yang dipublikasikan ke endpoint atau backend yang dihapus karena Private Service Connect tidak dapat menemukan koneksi yang cocok untuk paket respons.

Private Service Connect hanya mengizinkan koneksi yang dimulai dari jaringan VPC konsumen. Saat konsumen memulai koneksi, koneksi tersebut dilacak untuk mencocokkan paket respons dari layanan yang dipublikasikan dengan koneksi yang ada. Jika Private Service Connect tidak dapat menemukan kecocokan untuk paket respons, paket akan dihentikan.

Hal ini dapat terjadi jika layanan yang dipublikasikan mengirim paket respons setelah koneksi kehabisan waktu. Untuk mengetahui informasi tentang cara menghindari masalah koneksi yang kehabisan waktu, lihat Spesifikasi NAT.