Membuat dan mengelola antarmuka Private Service Connect

Halaman ini menjelaskan cara administrator jaringan produsen dapat membuat dan mengelola antarmuka Private Service Connect. Antarmuka Private Service Connect memungkinkan jaringan Virtual Private Cloud (VPC) produsen layanan memulai koneksi ke jaringan VPC konsumen.

Sebelum memulai

Peran

Untuk mendapatkan izin yang diperlukan untuk membuat antarmuka Private Service Connect, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Peran Compute Instance Admin (v1) berisi izin compute.instances.pscInterfaceCreate, yang diperlukan untuk membuat antarmuka Private Service Connect.

Membuat dan mengonfigurasi antarmuka Private Service Connect

Untuk membuat dan mengonfigurasi instance virtual machine (VM) yang memiliki antarmuka Private Service Connect, selesaikan langkah-langkah berikut.

Membuat VM dengan antarmuka Private Service Connect

Saat membuat antarmuka Private Service Connect, buat VM yang memiliki setidaknya dua antarmuka jaringan. Antarmuka pertama terhubung ke subnet produsen. Antarmuka kedua adalah antarmuka Private Service Connect yang meminta koneksi ke lampiran jaringan di jaringan konsumen.

Jika koneksi diterima, Google Cloud akan menetapkan alamat IP internal dari subnet yang ditentukan oleh lampiran jaringan ke antarmuka Private Service Connect.

Jika Anda membuat antarmuka Private Service Connect yang merujuk ke lampiran jaringan yang dikonfigurasi untuk menerima koneksi secara manual dan project antarmuka tidak ada dalam daftar terima lampiran jaringan, pembuatan VM antarmuka Private Service Connect akan gagal. Dalam hal ini, bekerja samalah dengan organisasi konsumen untuk menambahkan project Anda ke daftar yang diizinkan, lalu buat antarmuka Private Service Connect.

Saat membuat antarmuka Private Service Connect, Anda dapat secara opsional menetapkan satu atau beberapa rentang IP alias internal. Jika Anda berencana menetapkan rentang IP alias, hubungi organisasi konsumen untuk menentukan rentang alamat IP yang sesuai.

Untuk menetapkan rentang IP alias, tentukan panjang awalan rentang dalam notasi CIDR. Saat Anda menetapkan satu atau beberapa rentang IP alias ke antarmuka Private Service Connect, Google Cloud akan mengalokasikan rentang IP alias dari rentang alamat IP utama subnet yang terkait dengan lampiran jaringan. Alamat IP utama antarmuka Private Service Connect dialokasikan dari luar rentang IP alias. Jika tidak ada cukup alamat IP di subnet lampiran jaringan untuk mengalokasikan alamat IP utama dan rentang IP alias, pembuatan VM antarmuka Private Service Connect akan gagal. Anda dapat menemukan alamat IP tertentu yang ditetapkan dengan menjelaskan VM antarmuka.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Klik Create instance.

  3. Masukkan Nama.

  4. Pilih Region yang cocok dengan region lampiran jaringan yang ingin Anda hubungkan.

  5. Pilih Zone.

  6. Klik Advanced options.

  7. Klik Networking.

  8. Di bagian Network interfaces, klik antarmuka jaringan pertama, yang merupakan antarmuka jaringan utama, lalu lakukan hal berikut:

    1. Pilih Network untuk antarmuka jaringan utama.
    2. Pilih Subnet untuk antarmuka jaringan utama. Subnet ini harus berada di region yang sama dengan lampiran jaringan antarmuka Private Service Connect.
  9. Klik Add a network interface.

  10. Untuk Interface type, pilih Private Service Connect.

  11. Masukkan URL Lampiran jaringan.

  12. Pilih IP stack type. Untuk membuat antarmuka Private Service Connect stack ganda, subnet lampiran jaringan harus berupa stack ganda.

  13. Opsional: Untuk menambahkan rentang IP alias, di kotak Panjang awalan, masukkan panjang awalan—misalnya, /30. Anda dapat menambahkan beberapa rentang IP alias dengan mengklik Tambahkan rentang IP, lalu memasukkan panjang awalan untuk setiap rentang IP alias tambahan yang ingin ditambahkan.

  14. Klik Done.

  15. Klik Create.

gcloud

Untuk membuat VM dengan antarmuka Private Service Connect khusus IPv4, gunakan perintah instances create.

gcloud compute instances create INSTANCE_NAME \
    --zone=ZONE \
    --machine-type=MACHINE_TYPE \
    --image-project=IMAGE_PROJECT \
    --image=IMAGE \
    --network-interface='network=PRODUCER_NETWORK,subnet=PRODUCER_SUBNET,no-address' \
    --network-interface='network-attachment=projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME'

Ganti kode berikut:

  • INSTANCE_NAME: nama instance baru
  • ZONE: zona instance baru
  • MACHINE_TYPE: jenis mesin instance, yang dapat berupa jenis yang telah ditetapkan atau kustom.
  • IMAGE_PROJECT: project image. Misalnya, jika Anda menentukan debian-10-buster-v20230809 sebagai gambar, tentukan debian-cloud sebagai project image. Anda dapat melihat daftar image, project image, dan kelompok image yang tersedia dengan menggunakan perintah gcloud compute images list.
  • IMAGE: versi tertentu dari image publik—misalnya, debian-10-buster-v20230809.
  • PRODUCER_NETWORK: jaringan instance.
  • PRODUCER_SUBNET: subnet antarmuka jaringan utama VM. Subnet ini harus berada di region yang sama dengan lampiran jaringan antarmuka Private Service Connect.
  • CONSUMER_PROJECT_ID: ID konsumen yang ingin Anda hubungkan.
  • ATTACHMENT_NAME: nama lampiran jaringan untuk meminta koneksi.

Untuk menetapkan antarmuka Private Service Connect dengan alamat IPv4 dan IPv6, tentukan stack-type='IPV4_IPv6'. Lampiran jaringan yang dirujuk oleh antarmuka harus dikaitkan dengan subnet stack ganda.

gcloud compute instances create INSTANCE_NAME \
    --zone=ZONE \
    --machine-type=MACHINE_TYPE \
    --image-project=IMAGE_PROJECT \
    --image=IMAGE \
    --network-interface='network=PRODUCER_NETWORK,subnet=PRODUCER_SUBNET,no-address' \
    --network-interface='network-attachment=projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME,stack-type='IPV4_IPV6''

Untuk menetapkan satu atau beberapa rentang IP alias ke antarmuka Private Service Connect, tentukan panjang awalan setiap rentang IP alias yang ingin Anda tetapkan:

gcloud compute instances create INSTANCE_NAME \
    --zone=ZONE \
    --machine-type=MACHINE_TYPE \
    --image-project=IMAGE_PROJECT \
    --image=IMAGE \
    --network-interface='network=PRODUCER_NETWORK,subnet=PRODUCER_SUBNET,no-address' \
    --network-interface='network-attachment=projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME,aliases=ALIAS_IP_RANGE'

Ganti ALIAS_IP_RANGE dengan satu atau beberapa panjang awalan dalam notasi CIDR. Anda dapat menyertakan beberapa panjang awalan dalam daftar yang dipisahkan titik koma—misalnya, /24;/28.

API

Untuk membuat VM dengan antarmuka Private Service Connect khusus IPv4, kirim permintaan POST ke metode instances.insert.

POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "networkInterfaces": [
    {
      "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK",
      "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET"
    },
    {
      "networkAttachment": "projects/CONSUMER_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME"
    }
  ]
}

Ganti kode berikut:

  • PRODUCER_PROJECT_ID: ID project produsen.
  • INSTANCE_ZONE: zona instance baru.
  • MACHINE_TYPE_ZONE: zona jenis mesin.
  • MACHINE_TYPE: jenis mesin VM baru, yang dapat berupa jenis yang telah ditetapkan atau kustom.
  • VM_NAME: nama VM baru.
  • IMAGE_PROJECT: project yang berisi image. Misalnya, jika Anda menentukan debian-10-buster-v20200309 sebagai image, tentukan debian-cloud sebagai project image.
  • IMAGE: versi tertentu dari image publik—misalnya, debian-10-buster-v20200309.
  • PRODUCER_PROJECT_ID: project ID untuk project antarmuka.
  • PRODUCER_NETWORK: nama jaringan VPC produsen.
  • SUBNET_REGION: region subnet antarmuka jaringan utama. Subnet ini harus berada di region yang sama dengan lampiran jaringan antarmuka Private Service Connect.
  • SUBNET: nama subnet antarmuka jaringan utama.
  • CONSUMER_PROJECT_ID: ID project konsumen.
  • ATTACHMENT_REGION: region lampiran jaringan.
  • ATTACHMENT_NAME: nama lampiran jaringan.

Untuk menetapkan antarmuka Private Service Connect dengan alamat IPv4 dan IPv6, tentukan "stack-type": "IPV4_IPv6". Lampiran jaringan yang dirujuk oleh antarmuka harus dikaitkan dengan subnet stack ganda.

POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "networkInterfaces": [
    {
      "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK",
      "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET"
    },
    {
      "networkAttachment": "projects/CONSUMER_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME",
      "stackType": "IPV4_IPV6"
    }
  ]
}

Untuk menetapkan satu atau beberapa rentang IP alias ke antarmuka Private Service Connect, tentukan panjang awalan setiap rentang IP alias yang ingin Anda tetapkan.

POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "networkInterfaces": [
    {
      "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK",
      "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET"
    },
    {
      "aliasIpRanges": [
        {
          "ipCidrRange": "ALIAS_IP_RANGE"
        }
      ],
      "networkAttachment": "projects/CONSUMER_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME"
    }
  ]
}

Ganti ALIAS_IP_RANGE dengan panjang awalan dalam notasi CIDR—misalnya, /28. Anda dapat menentukan beberapa rentang IP alias dalam daftar aliasIpRanges dalam bentuk berikut:

"aliasIpRanges": [
  {
    "ipCidrRange": "/28"
  },
  {
    "ipCidrRange": "/30"
  }
]

Untuk mengetahui informasi selengkapnya tentang cara membuat instance VM, baca artikel Membuat dan memulai instance VM.

Mengizinkan konektivitas SSH

Pastikan aturan firewall dikonfigurasi untuk mengizinkan koneksi SSH masuk ke VM antarmuka Private Service Connect Anda.

Menemukan nama Google Cloud untuk antarmuka Private Service Connect Anda

Untuk mengonfigurasi perutean, Anda perlu mengetahui nama Google Cloud dari antarmuka Private Service Connect Anda.

Konsol

  1. Di konsol Google Cloud, buka VM instances:

    Buka instance VM

  2. Klik nama VM yang memiliki antarmuka Private Service Connect Anda.

  3. Di bagian Network interfaces, temukan dan catat nama antarmuka Private Service Connect Anda, misalnya nic1.

gcloud

  1. Gunakan perintah compute instances describe.

    gcloud compute instances describe VM_NAME
      --zone=ZONE
    

    Ganti kode berikut:

    • VM_NAME: nama VM yang memiliki antarmuka Private Service Connect Anda.
    • ZONE: zona VM.
  2. Dalam output perintah, temukan dan catat nama Google Cloud dari antarmuka Private Service Connect Anda, misalnya nic1.

Menemukan nama OS tamu antarmuka Private Service Connect Anda

Untuk mengonfigurasi perutean, Anda perlu mengetahui nama OS tamu antarmuka Private Service Connect Anda, yang berbeda dengan nama antarmuka di Google Cloud.

Untuk menemukan nama antarmuka di VM Debian, lakukan hal berikut. Untuk VM dengan sistem operasi lain, lihat dokumentasi publik sistem operasi.

  1. Hubungkan ke VM antarmuka Private Service Connect Anda.
  2. Jalankan perintah berikut:

    ip address
    

    Dalam daftar antarmuka jaringan, temukan dan catat nama antarmuka yang terkait dengan alamat IP antarmuka Private Service Connect Anda, misalnya ens5.

Menemukan IP gateway dari antarmuka Private Service Connect Anda

Untuk mengonfigurasi perutean, Anda perlu mengetahui alamat IP gateway default antarmuka Private Service Connect Anda.

  1. Hubungkan ke VM antarmuka Private Service Connect Anda.

  2. Kirim permintaan GET berikut dari VM antarmuka Anda ke server metadata yang terkait:

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google" && echo
    

    Ganti INTERFACE_NUMBER dengan bagian numerik dari nama Google Cloud untuk antarmuka Private Service Connect Anda. Misalnya, jika nama antarmuka Anda adalah nic1, gunakan nilai 1.

Menambahkan rute untuk subnet konsumen

Anda harus menambahkan rute ke gateway default antarmuka Private Service Connect untuk setiap subnet konsumen yang terhubung ke antarmuka Private Service Connect Anda. Hal ini memastikan traffic yang terikat untuk traffic keluar jaringan konsumen dari antarmuka Private Service Connect.

Langkah-langkah berikut menjelaskan cara memperbarui tabel perutean untuk VM yang menggunakan sistem operasi Debian untuk sementara. Untuk memperbarui tabel secara permanen, atau untuk memperbarui rute di sistem operasi yang berbeda, lihat dokumentasi publik sistem operasi.

  1. Hubungkan ke VM antarmuka Private Service Connect Anda.

  2. Jalankan perintah berikut untuk setiap subnet konsumen yang terhubung ke antarmuka Private Service Connect Anda:

    sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Ganti kode berikut:

Membuat template instance dengan antarmuka Private Service Connect

Anda dapat membuat template instance yang menyertakan antarmuka Private Service Connect.

Konsol

  1. Buka halaman Template instance.

    Buka halaman Template instance

  2. Klik Create instance template.

  3. Masukkan Nama untuk template instance.

  4. Klik Advanced options.

  5. Klik Networking.

  6. Di bagian Network interfaces, klik panah peluas .

  7. Pilih Network dan Subnetwork untuk antarmuka jaringan utama template instance.

  8. Klik Done.

  9. Klik Add a network interface.

  10. Klik Private Service Connect.

  11. Pilih Network dan Subnetwork untuk antarmuka Private Service Connect Anda.

  12. Klik Done.

  13. Klik Create.

gcloud

Gunakan perintah instance-templates create.

gcloud compute instance-templates create NAME \
    --machine-type=MACHINE_TYPE \
    --network-interface=subnet=SUBNET \
    --region=REGION \
    --image-project=IMAGE_PROJECT \
    --image=IMAGE \
    --network-interface=network-attachment=projects/ATTACHMENT_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME

Ganti kode berikut:

  • NAME: nama template instance.
  • MACHINE_TYPE: jenis mesin bawaan atau kustom untuk VM yang dibuat menggunakan template instance ini—misalnya, f1-micro.
  • SUBNET: subnet template instance. Saat Anda membuat VM menggunakan template instance ini, antarmuka jaringan utama VM akan diberi alamat IP internal dari subnet ini.
  • REGION: region subnet template instance.
  • IMAGE_PROJECT: project image. Misalnya, jika Anda menentukan debian-10-buster-v20230809 sebagai gambar, tentukan debian-cloud sebagai project image. Anda dapat melihat daftar image, project image, dan kelompok image yang tersedia dengan menggunakan perintah gcloud compute images list.
  • IMAGE: versi tertentu dari image publik—misalnya, debian-10-buster-v20230809.
  • ATTACHMENT_PROJECT_ID: ID project lampiran jaringan.
  • ATTACHMENT_REGION: region lampiran jaringan.
  • ATTACHMENT_NAME: nama lampiran jaringan. Saat Anda membuat VM menggunakan template instance ini, antarmuka Private Service Connect akan meminta koneksi ke lampiran jaringan ini.

    Anda dapat menentukan konfigurasi tambahan, seperti nama image dan ukuran disk booting. Untuk mengetahui informasi selengkapnya, lihat Membuat template instance baru.

API

Buat permintaan POST ke metode instanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
  "name": "NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET"
      },
      {
        "networkAttachment": "projects/ATTACHMENT_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/NETWORK_ATTACHMENT"
      }
    ]
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat membuat template instance.
  • NAME: nama template instance.
  • IMAGE_PROJECT: project image. Misalnya, jika Anda menentukan debian-10-buster-v20230809 sebagai gambar, tentukan debian-cloud sebagai project image. Anda dapat melihat daftar image dan project image yang tersedia menggunakan perintah gcloud compute images list.
  • IMAGE: versi tertentu dari image publik—misalnya, debian-10-buster-v20230809.
  • MACHINE_TYPE: jenis mesin bawaan atau kustom untuk VM yang dibuat menggunakan template instance ini—misalnya, f1-micro.
  • SUBNET_REGION: region subnet template instance.
  • SUBNET: subnet template instance. Saat Anda membuat VM menggunakan template instance ini, antarmuka jaringan utama VM akan diberi alamat IP internal dari subnet ini.
  • ATTACHMENT_PROJECT_ID: ID project lampiran jaringan.
  • ATTACHMENT_REGION: region lampiran jaringan.
  • NETWORK_ATTACHMENT: nama lampiran jaringan. Saat Anda membuat VM menggunakan template instance ini, antarmuka Private Service Connect akan meminta koneksi ke lampiran jaringan ini.

Untuk mengetahui informasi selengkapnya tentang cara membuat template instance, baca Membuat template instance.

Menggunakan antarmuka Private Service Connect dengan Kontrol Layanan VPC

Anda dapat menggunakan antarmuka Private Service Connect dengan Kontrol Layanan VPC. Hal ini memungkinkan jaringan VPC produsen mengakses Google API dan layanan melalui jaringan VPC konsumen, sementara organisasi konsumen dapat menerapkan manfaat keamanan Kontrol Layanan VPC.

Untuk menggunakan antarmuka Private Service Connect dengan VPC Service Controls, Anda harus memperbarui tabel perutean VM antarmuka Private Service Connect. Ganti rute default dengan rute yang mengirim traffic melalui antarmuka Private Service Connect ke gateway default antarmuka Private Service Connect.

Langkah-langkah berikut akan memperbarui tabel perutean untuk VM yang menggunakan Debian untuk sementara. Untuk menambahkan rute secara permanen, atau memperbarui rute untuk sistem operasi yang berbeda, lihat dokumentasi publik sistem operasi.

Konsol

  1. Di Konsol Google Cloud, buka halaman Instance VM:

    Buka instance VM

  2. Klik nama VM yang memiliki antarmuka Private Service Connect Anda.

  3. Jalankan perintah berikut:

    sudo ip route replace default via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Ganti kode berikut:

Menjelaskan antarmuka Private Service Connect

Anda dapat mendeskripsikan VM untuk melihat detail antarmuka Private Service Connect-nya. Alamat IP antarmuka, rentang IP alias, lampiran jaringan, dan subnet konsumen tercantum di bagian antarmuka jaringan dalam deskripsi VM.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Klik VM yang memiliki antarmuka Private Service Connect.

  3. Di bagian Network interfaces, lihat detail antarmuka Private Service Connect Anda.

gcloud

gcloud compute instances describe VM_NAME
    --zone=ZONE

Ganti kode berikut:

  • VM_NAME: nama VM antarmuka Anda.
  • ZONE: zona VM Anda.

API

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Ganti kode berikut:

  • PROJECT_ID: project ID VM.
  • ZONE: zona VM.
  • VM_NAME: nama VM.

Menghapus VM dengan antarmuka Private Service Connect

Untuk menghapus antarmuka Private Service Connect, Anda harus menghapus instance VM yang melampirkannya. Untuk mengetahui informasi selengkapnya, lihat Menghapus instance.

Apa langkah selanjutnya?