Mengakses layanan dari jaringan VPC lain

Tutorial ini menjelaskan cara Anda, sebagai konsumen layanan, dapat mengakses layanan yang dipublikasikan dengan membuat endpoint Private Service Connect. Saat Anda mengirim permintaan ke endpoint, Private Service Connect akan meneruskan permintaan tersebut ke layanan yang dipublikasikan.

Tutorial ini ditujukan untuk arsitek cloud, arsitek jaringan, administrator jaringan, dan administrator IT.

Tujuan

  • Mengonfigurasi jaringan untuk resource konsumen layanan
  • Membuat endpoint
  • Menguji akses ke endpoint

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih sebagai berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, baca bagian Pembersihan.

Sebelum memulai

  1. Selesaikan dua tutorial sebelumnya dalam seri ini:
  2. Buat atau pilih project yang akan digunakan untuk resource konsumen layanan. Project ini disebut sebagai CONSUMER_PROJECT
    1. In the Google Cloud console, go to the project selector page.

      Go to project selector

    2. Select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
  3. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. Make sure that you have the following role or roles on the project: Compute Engine > Compute Network Admin, Compute Engine > Compute Instance Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Buka IAM
    2. Pilih project.
    3. Klik Grant access.
    4. Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah alamat email untuk Akun Google.

    5. Klik Pilih peran, lalu telusuri peran.
    6. Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan tiap peran tambahan.
    7. Klik Simpan.

Mengonfigurasi jaringan

Bagian berikut menjelaskan cara membuat jaringan dan subnet untuk menghosting endpoint, serta cara membuat aturan firewall guna mengizinkan akses SSH ke VM klien yang digunakan untuk menguji endpoint.

Membuat jaringan dan subnet

Untuk membuat jaringan dan subnet konsumen layanan, ikuti langkah-langkah berikut.

Konsol

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

    Buka VPC networks

  2. Klik Create VPC network.

  3. Untuk Name, masukkan consumer-network.

  4. Untuk Mode pembuatan subnet, klik Kustom.

  5. Di bagian New subnet, masukkan informasi berikut.

    1. Untuk Name, masukkan consumer-subnet.
    2. Untuk Wilayah, pilih region yang sama dengan layanan yang dipublikasikan yang Anda buat.
    3. Untuk IP stack type, pilih IPv4 (single-stack).
    4. Untuk IPv4 range, masukkan 192.168.10.0/24.
    5. Klik Done.
  6. Klik Create.

gcloud

  1. Buat jaringan VPC mode kustom:

    gcloud compute networks create consumer-network --subnet-mode=custom
    
  2. Di jaringan consumer-network, buat subnet.

    gcloud compute networks subnets create consumer-subnet \
        --network=consumer-network \
        --range=192.168.10.0/24 \
        --region=REGION
    

    Ganti REGION dengan region yang sama dengan layanan yang dipublikasikan yang Anda buat.

Mengonfigurasi aturan firewall

Buat aturan firewall bernama fw-allow-ssh untuk mengizinkan traffic SSH dari 0.0.0.0/0 menjangkau VM yang memiliki tag jaringan allow-ssh.

Konsol

  1. Di konsol Google Cloud , buka halaman Firewall policies.

    Buka Kebijakan firewall

  2. Untuk mengizinkan koneksi SSH yang masuk, klik Create firewall rule dan gunakan setelan berikut:

    • Untuk Name, masukkan fw-allow-ssh.
    • Untuk Network, pilih consumer-network.
    • Untuk Priority, masukkan 1000.
    • Untuk Direction of traffic, pilih Ingress.
    • Untuk Action on match, pilih Allow.
    • Untuk Target, pilih Tag target yang ditentukan.
    • Untuk Target tags, masukkan allow-ssh.
    • Untuk Source filter, pilih IPv4 ranges.
    • Untuk Source IPv4 ranges, masukkan 0.0.0.0/0.
    • Untuk Protocols and ports, pilih Specified protocols and ports, lalu pilih kotak centang TCP. Untuk Ports, masukkan 22.
  3. Klik Create.

gcloud

  1. Buat aturan firewall fw-allow-ssh untuk mengizinkan konektivitas SSH ke VM dengan tag jaringan allow-ssh.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=consumer-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=0.0.0.0/0 \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

Membuat endpoint

Buat endpoint yang mengarah ke layanan yang dipublikasikan yang Anda buat.

Konsol

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

    Buka Private Service Connect

  2. Klik tab Connected endpoints.

  3. Klik Connect endpoint.

  4. Untuk Target, pilih Published service.

  5. Untuk Target service, masukkan projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service.

    Ganti PRODUCER_PROJECT dengan project ID layanan yang dipublikasikan. Ganti REGION dengan region layanan yang dipublikasikan.

  6. Untuk Nama endpoint, masukkan ep-1.

  7. Untuk Network, pilih consumer-network.

  8. Untuk Subnetwork, pilih consumer-subnet.

  9. Klik menu drop-down IP address dan pilih Create IP address.

    1. Untuk Name, masukkan ep-ip-1.
    2. Untuk Static IP address, pilih Let me choose.
    3. Untuk Custom IP address, masukkan 192.168.10.5.
    4. Klik Reserve.
  10. Klik Add endpoint.

gcloud

  1. Cadangkan alamat IP internal untuk ditetapkan ke endpoint.

    gcloud compute addresses create ep-ip-1 \
        --region=REGION \
        --subnet=consumer-subnet \
        --addresses=192.168.10.5
    

    Ganti REGION dengan region yang sama dengan layanan yang dipublikasikan yang Anda buat.

  2. Buat aturan penerusan untuk menghubungkan endpoint ke lampiran layanan produsen layanan.

    gcloud compute forwarding-rules create ep-1 \
        --region=REGION \
        --network=consumer-network \
        --address=ep-ip-1 \
        --target-service-attachment=projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service
    

    Ganti kode berikut:

    • PRODUCER_PROJECT: project ID project produsen layanan.

    • REGION: region lampiran layanan.

Menguji akses ke endpoint

Untuk menguji apakah endpoint dan layanan yang dipublikasikan berfungsi, buat VM pengujian dan kirim permintaan dari VM tersebut ke endpoint.

Membuat VM klien untuk pengujian

Buat VM klien di region yang sama dengan endpoint.

Konsol

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

    Buka instance VM

  2. Klik Create instance.

  3. Untuk Name, masukkan consumer-test.

  4. Untuk Region, pilih region yang sama dengan VM backend.

  5. Untuk Zone, pilih zona di region tersebut.

  6. Klik Networking dan konfigurasi kolom berikut:

    1. Untuk Network tags, masukkan allow-ssh.
    2. Untuk Network interfaces, pilih opsi berikut:
      • Untuk Network, pilih consumer-network
      • Untuk Subnet, pilih consumer-subnet
  7. Klik Create.

gcloud

gcloud compute instances create consumer-test \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=consumer-subnet

Ganti ZONE dengan zona yang berada di region yang sama dengan VM backend.

Menguji konektivitas

Pengujian ini menghubungi endpoint dari VM klien. Perilaku yang diharapkan adalah traffic didistribusikan di seluruh VM backend load balancer.

  1. Hubungkan ke instance VM klien.
    gcloud compute ssh consumer-test --zone=ZONE
    
    Ganti ZONE dengan zona VM klien.
  2. Buat permintaan web ke endpoint menggunakan curl untuk menghubungi alamat IP-nya. Ulangi permintaan sehingga Anda dapat melihat bahwa respons berasal dari VM backend yang berbeda. Nama VM yang menghasilkan respons ditampilkan dalam teks di respons HTML, karena konten /var/www/html/index.html di setiap VM backend. Misalnya, respons yang diharapkan terlihat seperti Page served from: vm-1 dan Page served from: vm-2.
    curl -s http://192.168.10.5
    

Pembersihan

Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Menghapus project

Hapus project produsen (PRODUCER_PROJECT) dan project konsumen (CONSUMER_PROJECT).

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Langkah berikutnya