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 berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
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
- Selesaikan dua tutorial sebelumnya dalam seri ini:
- Buat layanan yang di-load balance.
- Membuat layanan dapat diakses dari jaringan VPC lain. Anda memerlukan ID lampiran layanan untuk menyelesaikan tutorial ini.
- Buat atau pilih project yang akan digunakan untuk resource konsumen layanan.
Project ini disebut sebagai
CONSUMER_PROJECT -
Di konsol Google Cloud , buka halaman pemilih project.
-
Pilih atau buat Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
Aktifkan Compute Engine API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.-
Pastikan Anda memiliki peran berikut di project: Compute Engine > Compute Network Admin, Compute Engine > Compute Instance Admin
Memeriksa peran
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih project.
-
Di kolom Principal, temukan semua baris yang mengidentifikasi Anda atau grup yang Anda termasuk di dalamnya. Untuk mengetahui grup mana saja yang Anda ikuti, hubungi administrator Anda.
- Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Peran untuk melihat apakah daftar peran menyertakan peran yang diperlukan.
Memberikan peran
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih project.
- Klik Grant access.
-
Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah alamat email untuk Akun Google.
- Klik Pilih peran, lalu telusuri peran.
- Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan tiap peran tambahan.
- Klik Simpan.
-
Mengonfigurasi jaringan
Bagian berikut menjelaskan cara membuat jaringan dan subnet untuk menghosting endpoint, serta cara membuat aturan firewall untuk 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
Di konsol Google Cloud , buka halaman VPC networks.
Klik Create VPC network.
Untuk Name, masukkan
consumer-network.Untuk Mode pembuatan subnet, klik Kustom.
Di bagian New subnet, masukkan informasi berikut.
- Untuk Name, masukkan
consumer-subnet. - Untuk Wilayah, pilih wilayah yang sama dengan layanan yang dipublikasikan yang Anda buat.
- Untuk IP stack type, pilih IPv4 (single-stack).
- Untuk IPv4 range, masukkan
192.168.10.0/24. - Klik Done.
- Untuk Name, masukkan
Klik Create.
gcloud
Buat jaringan VPC mode kustom:
gcloud compute networks create consumer-network --subnet-mode=custom
Di jaringan
consumer-network, buat subnet.gcloud compute networks subnets create consumer-subnet \ --network=consumer-network \ --range=192.168.10.0/24 \ --region=REGIONGanti
REGIONdengan 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
Di konsol Google Cloud , buka halaman Firewall policies.
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.
- Untuk Name, masukkan
Klik Create.
gcloud
Buat aturan firewall
fw-allow-sshuntuk mengizinkan konektivitas SSH ke VM dengan tag jaringanallow-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
Di konsol Google Cloud , buka halaman Private Service Connect.
Klik tab Connected endpoints.
Klik Connect endpoint.
Untuk Target, pilih Published service.
Untuk Target service, masukkan
projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service.Ganti
PRODUCER_PROJECTdengan project ID layanan yang dipublikasikan. GantiREGIONdengan region layanan yang dipublikasikan.Untuk Nama endpoint, masukkan
ep-1.Untuk Network, pilih
consumer-network.Untuk Subnetwork, pilih
consumer-subnet.Klik menu drop-down IP address dan pilih Create IP address.
- Untuk Name, masukkan
ep-ip-1. - Untuk Static IP address, pilih Let me choose.
- Untuk Custom IP address, masukkan
192.168.10.5. - Klik Reserve.
- Untuk Name, masukkan
Klik Add endpoint.
gcloud
Cadangkan alamat IP internal untuk ditetapkan ke endpoint.
gcloud compute addresses create ep-ip-1 \ --region=REGION \ --subnet=consumer-subnet \ --addresses=192.168.10.5Ganti
REGIONdengan region yang sama dengan layanan yang dipublikasikan yang Anda buat.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-serviceGanti 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
Di konsol Google Cloud , buka halaman VM instances.
Klik Create instance.
Untuk Name, masukkan
consumer-test.Untuk Region, pilih region yang sama dengan VM backend.
Untuk Zone, pilih zona di region tersebut.
Klik Networking dan konfigurasi kolom berikut:
- Untuk Network tags, masukkan
allow-ssh. - Untuk Network interfaces, pilih opsi berikut:
- Untuk Network, pilih
consumer-network - Untuk Subnet, pilih
consumer-subnet
- Untuk Network, pilih
- Untuk Network tags, masukkan
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.
- Hubungkan ke instance VM klien.
Gantigcloud compute ssh consumer-test --zone=ZONE
ZONEdengan zona VM klien. - Buat permintaan web ke endpoint menggunakan
curluntuk 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.htmldi setiap VM backend. Misalnya, respons yang diharapkan terlihat sepertiPage served from: vm-1danPage 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).
Menghapus Google Cloud project:
gcloud projects delete PROJECT_ID
Langkah berikutnya
- Pelajari lebih lanjut layanan yang dipublikasikan Private Service Connect
- Pelajari lebih lanjut cara mengakses layanan yang dipublikasikan melalui endpoint
- Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.