Mengakses Google API regional melalui endpoint
Dokumen ini menjelaskan cara menggunakan endpoint Private Service Connect untuk terhubung ke endpoint regional dari Google API yang didukung.
Untuk mengetahui informasi tentang konfigurasi Private Service Connect lainnya, lihat Private Service Connect.
Peran
Untuk mendapatkan izin yang Anda perlukan guna membuat endpoint Private Service Connect regional, minta administrator untuk memberi Anda peran IAM berikut di jaringan VPC:
-
Peran Admin Jaringan Compute (
roles/compute.networkAdmin
) -
Peran Administrator DNS (
roles/dns.admin
)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Sebelum memulai
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
$ gcloud init
Aktifkan API Compute Engine, Network Connectivity Center, Cloud DNS, and Service Directory.
Aktifkan Google API yang ingin Anda akses melalui endpoint Private Service Connect, menggunakan halaman APIs & services di Konsol Google Cloud. Private Service Connect tidak otomatis mengaktifkan API apa pun.
Pastikan aturan firewall keluar mengizinkan traffic ke endpoint. Konfigurasi firewall default untuk jaringan VPC mengizinkan traffic ini karena berisi aturan izinkan traffic keluar tersirat. Pastikan Anda belum membuat aturan traffic keluar dengan prioritas lebih tinggi yang memblokir traffic.
Baca Masalah umum.
Membuat endpoint Private Service Connect regional
Anda dapat membuat endpoint Private Service Connect regional untuk mengirim permintaan ke endpoint regional untuk Google API target.
Untuk mengetahui daftar endpoint regional yang didukung, lihat Region dan layanan yang didukung.
Nama host endpoint regional memiliki dua bentuk:
- Nama host publik:
SERVICE.REGION.rep.DOMAIN
Nama host pribadi:
SERVICE.REGION.p.rep.DOMAIN
Nama host pribadi menambahkan subdomain
p
di antaraREGION
danrep
.
Saat mengonfigurasi Google API target, Anda menentukan bentuk private untuk nama host, misalnya, spanner.me-central2.p.rep.googleapis.com
. Setelah membuat endpoint, buat data DNS pribadi untuk endpoint tersebut, menggunakan nama host endpoint regional pribadi yang sama.
Meskipun Anda dapat mengonfigurasi endpoint Private Service Connect dengan nama apa pun, untuk memudahkan pemeliharaan, sebaiknya gunakan nama layanan Google API target agar nama DNS cocok dengan nama endpoint. Misalnya, jika endpoint memiliki target
spanner.me-central2.p.rep.googleapis.com
, gunakan spanner
sebagai nama endpoint.
gcloud
Gunakan
perintah regional-endpoints create
.
gcloud beta network-connectivity regional-endpoints create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_URI \ --subnetwork=SUBNET_URI \ --target-google-api=REP_NAME
Jika Anda ingin menyediakan endpoint untuk resource di region lain, tambahkan flag --enable-global-access
.
Ganti kode berikut:
ENDPOINT_NAME
: nama untuk endpoint.REGION
: region tempat Anda ingin membuat endpoint.NETWORK_URI
: URI jaringan VPC untuk endpoint:projects/PROJECT_ID/global/networks/NETWORK_NAME
.SUBNET_URI
: URI subnet yang ingin Anda sambungkan dengan endpoint:projects/PROJECT_ID/regions/SUBNET_NAME
.REP_NAME
: nama endpoint layanan regional yang ingin Anda hubungkan. Misalnya,spanner.me-central2.p.rep.googleapis.com
.
Mencantumkan endpoint
Anda dapat menampilkan daftar semua endpoint yang dikonfigurasi.
gcloud
Gunakan
perintah regional-endpoints list
.
gcloud beta network-connectivity regional-endpoints list \ --region=REGION
Ganti REGION
dengan region endpoint yang ingin Anda cantumkan.
Memverifikasi bahwa endpoint berfungsi
Buat instance virtual machine (VM) di jaringan dan region VPC tempat endpoint dikonfigurasi. Jalankan perintah berikut pada VM untuk memverifikasi bahwa endpoint Private Service Connect berfungsi. Endpoint tidak merespons permintaan ping (ICMP).
curl --connect-to SERVICE.REGION.p.rep.DOMAIN:443:ENDPOINT_IP:443 \ 'SERVICE.REGION.p.rep.DOMAIN/PATH'
Ganti kode berikut:
SERVICE
: layanan yang diarahkan oleh endpoint Anda. Misalnyaspanner
ataulogging
.REGION
: region endpoint.DOMAIN
: domain layanan. Misalnya,googleapis.com
.ENDPOINT_IP
: Alamat IP endpoint.PATH
: jalur ke resource yang disalurkan oleh layanan ini. Misalnya, banyak layanan menawarkan dokumen penemuan dengan jalur$discovery/rest?version=v1
.
Contoh permintaan berikut menguji bahwa endpoint dengan alamat IP 192.168.1.100
dapat meminta dokumen penemuan Cloud Spanner API dari endpoint regional di me-central2
.
curl --connect-to spanner.me-central2.p.rep.googleapis.com:443:192.168.1.100:443 \ 'https://spanner.me-central2.p.rep.googleapis.com/$discovery/rest?version=v1'
Membuat entri DNS pribadi untuk endpoint
Anda harus membuat entri DNS untuk endpoint dalam format ini:
SERVICE.REGION.p.rep.DOMAIN
.
Anda dapat menggunakan Cloud DNS untuk membuat entri DNS.
Buat zona DNS pribadi yang memiliki format ini:
REGION.p.rep.DOMAIN
.Misalnya, jika Anda ingin menggunakan endpoint regional di domain
googleapis.com
, di regionme-central2
, buat zona DNS pribadi dengan nama ini:me-central2.p.rep.googelapis.com
.Buat data DNS yang mengarah ke alamat IP yang ditetapkan ke endpoint. Nama host harus cocok dengan nama layanan,
SERVICE
. Misalnya,spanner
ataulogging
adalah nama layanan.
Misalnya, jika endpoint dikonfigurasi dengan spanner.me-central2.p.rep.googleapis.com
target, Anda membuat zona DNS pribadi bernama
me-central2.p.rep.googelapis.com
, dan data A bernama spanner
yang mengarah
ke alamat IP endpoint. Nama domain endpoint yang sepenuhnya memenuhi syarat adalah
spanner.me-central2.p.rep.googelapis.com
.
Mengonfigurasi klien untuk menggunakan nama endpoint pribadi
Anda harus mengonfigurasi klien untuk menggunakan nama DNS pribadi, bukan nama DNS publik. Baca dokumentasi library klien atau klien Anda untuk mengetahui informasi cara mengonfigurasinya agar dapat menggunakan endpoint kustom. Contoh:
Python: Anda dapat mengonfigurasi
api_endpoint
di Opsi klien.Go: Anda dapat mengonfigurasi
WithEndpoint
di ClientOptions..NET: Anda dapat mengonfigurasi
Endpoint
di class builder klien.gcloud: Anda dapat mengonfigurasi
api_endpoint_overrides
di gcloud CLI.
Mendapatkan informasi mendetail tentang endpoint
Anda dapat melihat detail konfigurasi endpoint.
gcloud
Gunakan
perintah regional-endpoints list describe
.
gcloud beta network-connectivity regional-endpoints describe \ ENDPOINT_NAME --region=REGION
Ganti kode berikut:
ENDPOINT_NAME
: nama endpoint.REGION
: region endpoint.
Menghapus endpoint
Anda dapat menghapus endpoint.
gcloud
Gunakan
perintah regional-endpoints list delete
.
gcloud beta network-connectivity regional-endpoints delete \ ENDPOINT_NAME --region=REGION
Ganti kode berikut:
ENDPOINT_NAME
: nama endpoint.REGION
: region endpoint.
Mengakses endpoint dari jaringan hybrid
Klien dalam jaringan yang terhubung ke Google Cloud dengan lampiran VLAN untuk tunnel Cloud VPN atau Cloud Interconnect dapat mencapai endpoint Private Service Connect.Lampiran VLAN atau tunnel Cloud VPN harus berhenti di jaringan VPC yang sama dengan endpoint. Klien dalam jaringan VPC yang di-peering tidak dapat menjangkau endpoint.
Traffic klien dari lampiran VLAN atau tunnel Cloud VPN dapat mencapai endpoint di region lain jika akses global dikonfigurasi.
Dataplane v1 dan Dataplane v2 didukung untuk lampiran VLAN. Untuk informasi selengkapnya tentang versi Dataplane, lihat Dataplane v2.
Anda harus mengonfigurasi sistem di jaringan lain agar sistem tersebut dapat membuat kueri ke zona DNS pribadi Anda.
Jika Anda menerapkan zona DNS pribadi dengan menggunakan Cloud DNS, selesaikan langkah-langkah berikut:
Buat kebijakan server masuk di jaringan VPC yang terhubung dengan jaringan lain Anda.
Identifikasi titik entri penerus masuk di region tempat lampiran VLAN atau tunnel Cloud VPN berada, di jaringan VPC yang terhubung dengan jaringan Anda yang lain.
Konfigurasikan sistem dan server nama DNS di jaringan lain untuk meneruskan nama DNS untuk endpoint ke titik entri penerus masuk di region yang sama dengan lampiran VLAN atau tunnel Cloud VPN yang terhubung ke jaringan VPC.
Masalah umum
Saat Anda membuat endpoint Private Service Connect regional, endpoint dapat dilihat di Konsol Google Cloud dengan nama yang dibuat otomatis dalam format ini:
rep-autogen-fr-ENDPOINT_NAME
. Namun, jangan mengedit endpoint dengan menggunakan Konsol Google Cloud atau dengan mengubah aturan penerusan.Jika Anda perlu mengubah nama atau mengaktifkan akses global, hapus endpoint dan buat endpoint baru.