Membuat lampiran endpoint
Guna mengonfigurasi konektivitas pribadi untuk Integration Connectors, Anda harus membuat lampiran PSC (Private Service Connect). Namun, untuk menggunakan lampiran PSC, Anda juga harus membuat lampiran endpoint karena Anda tidak dapat menggunakan lampiran PSC secara langsung. Anda dapat menganggap lampiran endpoint sebagai antarmuka ke lampiran layanan PSC. Setelah dibuat, Anda dapat menggunakan detail lampiran endpoint saat mengonfigurasi konektor untuk konektivitas pribadi. Halaman ini menjelaskan cara membuat lampiran endpoint dan menganggap Anda telah memahami konsep berikut:
Anda dapat membuat lampiran endpoint sebagai alamat IP atau sebagai nama host.
Membuat lampiran endpoint sebagai alamat IP
Untuk membuat lampiran endpoint sebagai alamat IP, Anda dapat menggunakan Konsol Cloud atau command line (gcloud).Konsol
Untuk membuat lampiran endpoint dari Konsol Cloud, lakukan hal berikut:
- Buka halaman Lampiran endpoint untuk Integration Connectors.
- Klik + Buat. Halaman Buat Lampiran Endpoint akan terbuka.
- Masukkan nilai untuk kolom berikut:
- Nama: Nama untuk lampiran endpoint. Nama harus unik. Tidak boleh ada lampiran endpoint lain dengan nama yang sama, dan Anda tidak dapat mengubah namanya di lain waktu. Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 63 huruf kecil, angka, atau tanda hubung, tetapi tidak boleh diakhiri dengan tanda hubung. Panjang minimum adalah 2.
- Service Lampiran ID: Nama lampiran layanan PSC yang telah Anda buat.
- (Opsional) Deskripsi: Masukkan deskripsi untuk lampiran endpoint.
- (Opsional) Label: Masukkan label resource sebagai key-value pair. Untuk informasi selengkapnya tentang label, lihat Apa yang dimaksud dengan label?
- Klik Create.
Kolom IP Address menentukan alamat IP lampiran endpoint. Anda harus menggunakan alamat IP ini saat mengonfigurasi konektor untuk konektivitas pribadi.
gcloud
Untuk membuat lampiran endpoint dari command line, lakukan hal berikut:
- Dapatkan resource lampiran layanan PSC:
gcloud compute service-attachments list
Perintah ini akan menampilkan daftar lampiran layanan. Contoh:
NAME REGION TARGET_SERVICE CONNECTION_PREFERENCE demo-sa us-west1 k8s2-tcp-tgysilgj-apps-ingressgateway-fzdhwstg ACCEPT_AUTOMATIC
Anda akan memerlukan informasi lampiran layanan ini di langkah berikutnya.
- Dapatkan token autentikasi sebelum Anda menjalankan CreateEndpoint attachment API:
TOKEN="$(gcloud auth print-access-token)"
- Buat lampiran endpoint dengan menggunakan CreateEndpoint attachment API. Contoh:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "projects/PROJECT_ID/locations/LOCATION/endpointAttachments/ENDPOINT_ATTACHMENT_NAME", "serviceAttachment": "projects/demo/serviceAttachments/?SERVICE_ATTACHMENT_NAME" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpointAttachments?endpointAttachmentId=ENDPOINT_ATTACHMENT_NAME
Dengan keterangan:
- LOCATION adalah region dari lampiran layanan. Contoh,
us-west1
. - PROJECT_ID adalah project Google Cloud tempat Anda membuat lampiran layanan PSC.
- ENDPOINT_ATTACHMENT_NAME adalah nama lampiran endpoint. Nama harus unik. Tidak boleh ada lampiran endpoint lain dengan nama yang sama, dan Anda tidak dapat mengubah namanya di lain waktu. Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 31 huruf kecil, angka, atau tanda hubung, tetapi tidak boleh diakhiri dengan tanda hubung. Panjang minimum adalah 2.
- SERVICE_ATTACHMENT_NAME adalah nama lampiran layanan. Gunakan nama akun layanan
PSC yang ditampilkan oleh perintah
gcloud compute service-attachments list
yang dijalankan sebelumnya.
Setelah Anda memanggil API, Integration Connectors akan memulai operasi yang berjalan lama, dan mungkin perlu waktu beberapa saat untuk menyelesaikan operasi tersebut. Lampiran endpoint akan dibuat setelah operasi berhasil diselesaikan.
- LOCATION adalah region dari lampiran layanan. Contoh,
- Dapatkan project ID direktori layanan yang terkait dengan project Google Cloud Anda, lalu izinkan project ID tersebut di lampiran layanan Anda.
- Verifikasi apakah lampiran endpoint dibuat dengan menggunakan GetEndpointLampiran API.
Contoh:
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpointAttachments/ENDPOINT_ATTACHMENT_NAME
API menampilkan respons yang mirip dengan berikut ini:
{ "name": "projects/demo-project/locations/us-central1/endpointAttachments/demo-ea", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo endpoint attachment", "serviceAttachment": "projects/demo-project/regions/us-central1/serviceAttachments/demo-sa", "endpointIp": "10.0.0.0", "labels": {"team":"sre"}, }
Alamat IP lampiran endpoint tersedia di kolom
endpointIp
. Dalam contoh respons ini, alamat IP adalah10.0.0.0
. Gunakan alamat IP ini saat mengonfigurasi konektor untuk konektivitas pribadi.
Jika pembuatan lampiran endpoint berhasil, lampiran yang baru dibuat akan dicantumkan di halaman Lampiran Endpoint, mirip dengan gambar berikut:
Langkah-langkah yang dijelaskan hingga saat ini, menunjukkan cara membuat lampiran endpoint sebagai alamat IP. Namun, Anda juga dapat membuat lampiran endpoint sebagai nama host dan menggunakan nama host guna mengonfigurasi konektor untuk konektivitas pribadi. Untuk memahami cara membuat lampiran endpoint dengan nama host, lihat Membuat lampiran endpoint sebagai nama host.
Membuat lampiran endpoint sebagai nama host
Untuk membuat lampiran endpoint sebagai nama host, lakukan tugas berikut:
- Buat lampiran endpoint sebagai alamat IP. Untuk mengetahui informasi selengkapnya, lihat Membuat lampiran endpoint sebagai alamat IP.
- Buat zona Cloud DNS terkelola pribadi di semua project Google Cloud Anda.
Di zona DNS ini, Anda harus menambahkan nama host yang ingin digunakan untuk konfigurasi konektor dan memetakan nama host ke alamat IP lampiran endpoint yang Anda dapatkan sejak langkah 1. Untuk mengetahui informasi cara membuat zona Cloud DNS pribadi yang dikelola, lihat Membuat zona pribadi dan Menambahkan data.
- Buat zona terkelola Integration Connectors di project Google Cloud yang Anda gunakan untuk Integration Connectors. Zona terkelola Konektor Integration (zona peering) berkomunikasi dengan zona terkelola pribadi Cloud DNS (dibuat pada langkah 2) untuk mendapatkan resolusi nama.
Sebelum membuat zona terkelola, Anda harus memberikan peran dan izin berikut:
- Berikan izin
connectors.managedZones.create
kepada pengguna yang membuat zona terkelola Integration Connectors.Izin
connectors.managedZones.create
tersedia dalam peran IAMroles/connectors.admin
atau peran IAMroles/connectors.managedZonesAdmin
. Untuk mengetahui informasi tentang berbagai peran IAM dan izin terkait yang tersedia untuk Integration Connectors, lihat Peran dan izin IAM untuk Integration Connectors. - Berikan peran
role/dns.peer
ke akun layananservice-PROJECT_NUMBER@gcp-sa-connectors.iam.gserviceaccount.com
Integration Connectors.Jika project Google Cloud Cloud DNS berbeda dengan project Google Cloud Integration Connectors, berikan peran
roles/dns.peer
ke akun layanan Integration Connectors di project Google Cloud Cloud DNS. Misalnya, Anda ingin membuat zona terkelola Integration Connectors di project Google Cloud 12345 dan Cloud DNS berada di project Google Cloud 67890. Dalam hal ini, Anda harus memberikan peranroles/dns.peer
ke akun layananservice-12345@gcp-sa-connectors.iam.gserviceaccount.com
di project Google Cloud 67890.
Untuk membuat zona terkelola Integration Connectors, Anda dapat menggunakan Cloud Console atau command line (gcloud).
Konsol
Untuk membuat zona terkelola Integration Connectors dari Cloud Console, lakukan tindakan berikut:
- Buka halaman Zona terkelola untuk Integration Connectors.
- Masukkan nilai untuk kolom berikut:
- Nama: Nama untuk zona terkelola.
- Nama DNS target: Nama lengkap DNS Cloud yang zona terkelolanya Anda buat (peering). Contoh,
server8.stage.user.private
. - Project target: Nama project Google Cloud yang memiliki zona Cloud DNS pribadi.
- Jaringan target: Nama jaringan VPC tempat zona Cloud DNS pribadi dikelola.
- (Opsional) Deskripsi: Masukkan deskripsi untuk lampiran endpoint.
- (Opsional) Label: Masukkan label resource sebagai key-value pair. Untuk informasi selengkapnya tentang label, lihat Apa yang dimaksud dengan label?
- Klik Create.
gcloud
Untuk membuat zona terkelola Integration Connectors dari command line, lakukan hal berikut:
- Dapatkan token autentikasi sebelum Anda menjalankan CreateManagedZone API:
TOKEN="$(gcloud auth print-access-token)"
- Buat zona terkelola menggunakan CreateManagedZone API. Contoh:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "description": "DESCRIPTION", "dns": "DNS_NAME", "target_project": "TARGET_PROJECT", "target_vpc": "TARGET_VPC" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones?managedZoneId=MANAGED_ZONE_NAME
Dengan keterangan:
- DESCRIPTION adalah deskripsi opsional untuk zona terkelola.
- DNS_NAME: Nama lengkap DNS Cloud yang Anda buat zona terkelola (peering). Contoh,
server8.stage.user.private
. - TARGET_PROJECT adalah nama project Google Cloud yang memiliki zona Cloud DNS pribadi.
- TARGET_NETWORK adalah nama jaringan VPC tempat zona Cloud DNS pribadi dikelola.
- PROJECT_ID adalah project Google Cloud yang Anda gunakan untuk Integration Connectors.
- MANAGED_ZONE_NAME adalah nama zona terkelola. Nama harus unik. Tidak boleh ada zona terkelola lain dengan nama yang sama, dan Anda tidak dapat mengubah namanya nanti. Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 63 huruf kecil, angka, atau tanda hubung, tetapi tidak boleh diakhiri dengan tanda hubung. Panjang minimum adalah 2.
Setelah Anda memanggil API, Integration Connectors akan memulai operasi yang berjalan lama dan mungkin perlu waktu beberapa saat untuk menyelesaikan operasinya. Zona terkelola akan dibuat setelah operasi berhasil diselesaikan.
- Verifikasi apakah zona terkelola dibuat menggunakan GetManagedZone API.
Contoh:
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones/MANAGED_ZONE_NAME
API menampilkan respons yang mirip dengan berikut ini:
{ "name": "projects/demo-project/locations/global/managedZones/demo-mz", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo managed zone", "dns": "api.private.service.com.", "targetVpc": "target-project-vpc", "targetProject": "target-project" }
- Berikan izin
Jika pembuatan zona terkelola berhasil, zona terkelola yang baru dibuat akan dicantumkan di halaman Managed zone, mirip dengan gambar berikut:
Memverifikasi penyiapan lampiran endpoint
Anda dapat memverifikasi konektivitas endpoint dengan membuat koneksi ke sistem backend. Saat
membuat koneksi, di bagian Destinations
, pilih Destination type
sebagai Hostname
, lalu masukkan alamat IP atau nama host endpoint yang sesuai. Jika pembuatan koneksi berhasil, status koneksi yang baru dibuat adalah Active
di halaman Koneksi Anda di Cloud Console.