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:

  1. Buka halaman Lampiran endpoint untuk Integration Connectors.

    Buka lampiran Endpoint

  2. Klik + Buat. Halaman Buat Lampiran Endpoint akan terbuka.
  3. 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?
  4. 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:

  1. 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.

  2. Dapatkan token autentikasi sebelum Anda menjalankan CreateEndpoint attachment API:
    TOKEN="$(gcloud auth print-access-token)"
  3. 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.

  4. Dapatkan project ID direktori layanan yang terkait dengan project Google Cloud Anda, lalu izinkan project ID tersebut di lampiran layanan Anda.
  5. 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 adalah 10.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:

endpoint-lampiran endpoint-lampiran

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:

  1. Buat lampiran endpoint sebagai alamat IP. Untuk mengetahui informasi selengkapnya, lihat Membuat lampiran endpoint sebagai alamat IP.
  2. 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.

  3. 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 IAM roles/connectors.admin atau peran IAM roles/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 layanan service-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 peran roles/dns.peer ke akun layanan service-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:

    1. Buka halaman Zona terkelola untuk Integration Connectors.

      Buka Zona terkelola

    2. Masukkan nilai untuk kolom berikut:
      1. Nama: Nama untuk zona terkelola.
      2. Nama DNS target: Nama lengkap DNS Cloud yang zona terkelolanya Anda buat (peering). Contoh, server8.stage.user.private.
      3. Project target: Nama project Google Cloud yang memiliki zona Cloud DNS pribadi.
      4. Jaringan target: Nama jaringan VPC tempat zona Cloud DNS pribadi dikelola.
      5. (Opsional) Deskripsi: Masukkan deskripsi untuk lampiran endpoint.
      6. (Opsional) Label: Masukkan label resource sebagai key-value pair. Untuk informasi selengkapnya tentang label, lihat Apa yang dimaksud dengan label?
    3. Klik Create.

    gcloud

    Untuk membuat zona terkelola Integration Connectors dari command line, lakukan hal berikut:

    1. Dapatkan token autentikasi sebelum Anda menjalankan CreateManagedZone API:
      TOKEN="$(gcloud auth print-access-token)"
    2. 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.

    3. 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"
      }

Jika pembuatan zona terkelola berhasil, zona terkelola yang baru dibuat akan dicantumkan di halaman Managed zone, mirip dengan gambar berikut:

zona terkelola zona terkelola

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.