Tutorial ini menunjukkan cara menyiapkan aplikasi App Hub global untuk beberapa project, lalu melihat resource aplikasi. Dengan menggunakan beberapa project layanan, Anda menyiapkan Load Balancer Aplikasi internal di lingkungan VPC Bersama. Kemudian, dalam aplikasi global di project host App Hub, Anda mendaftarkan dan memantau semua resource infrastruktur dari project layanan sebagai layanan dan workload App Hub.
Tutorial ini ditujukan untuk orang yang menyiapkan dan mengelola App Hub. Anda harus memiliki pengalaman dengan Cloud Load Balancing.
Tujuan
- Siapkan aplikasi Global App Hub yang berisi resource yang mencakup beberapa project.
- Pantau resource melalui metrik sistem untuk aplikasi.
Biaya
Untuk mengetahui perkiraan biaya resource Google Cloud yang digunakan oleh solusi VM terkelola yang di-load balanced, lihat perkiraan yang telah dihitung sebelumnya di Google Cloud Kalkulator Harga.
Gunakan perkiraan biaya tersebut sebagai titik awal untuk menghitung biaya deployment Anda. Anda dapat mengubah perkiraan biaya untuk mencerminkan setiap perubahan konfigurasi yang Anda rencanakan untuk memastikan resource yang digunakan dalam solusi.
Perkiraan yang telah dihitung sebelumnya didasarkan pada asumsi untuk faktor-faktor tertentu, termasuk hal-hal berikut:
- Lokasi Google Cloud tempat resource di-deploy.
- Durasi waktu resource tersebut digunakan.
Untuk mengetahui informasi selengkapnya tentang biaya App Hub, lihat halaman Harga.
Sebelum memulai
Sebelum menyiapkan tutorial ini, tentukan peran dan izin untuk project Anda, lalu buat empat project Google Cloud . Salah satu project ini adalah project host App Hub dan tiga lainnya adalah project layanan App Hub.Peran dan izin yang diperlukan
Jika Anda adalah project creator, Anda diberi
peran Pemilik dasar
(roles/owner
). Secara default, peran Identity and Access Management (IAM) ini
mencakup izin yang diperlukan untuk akses penuh ke sebagian besar resource Google Cloud.
Jika Anda bukan project creator, izin yang diperlukan harus diberikan pada project kepada akun utama yang sesuai. Misalnya, akun utama dapat berupa Akun Google (untuk pengguna akhir) atau akun layanan (untuk aplikasi dan workload).
Untuk mendapatkan izin yang Anda perlukan untuk mengelola akses ke project, folder, atau organisasi, minta administrator untuk memberikan peran IAM berikut pada resource yang aksesnya ingin Anda kelola (project, folder, atau organisasi):
-
Untuk mengelola akses ke project:
-
App Hub Admin (
roles/apphub.admin
) -
Cloud Infrastructure Manager (
roles/config.admin
) -
Peran Compute Shared VPC Admin (
roles/compute.xpnAdmin
) -
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
Service Usage Admin (
roles/serviceusage.services.enable
) -
Service Account Admin (
roles/iam.serviceAccounts.create
)
-
App Hub Admin (
-
Untuk mengelola akses ke folder:
Peran Compute Shared VPC Admin (
roles/compute.xpnAdmin
)
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.
Membuat project host dan layanan App Hub
Konsol
Di konsol Google Cloud , buka halaman pemilih project.
Pilih atau buat project Google Cloud , untuk menjadi project host App Hub Anda.
-
Enable the App Hub, Compute Engine, Service Management, and Service Usage APIs.
Di folder yang sama dengan project host App Hub, buat tiga project Google Cloud baru. Ini adalah project layanan App Hub untuk project host App Hub.
Pastikan penagihan diaktifkan untuk semua project Google Cloud Anda.
-
Enable the App Hub, Compute Engine, Service Management, and Service Usage APIs.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Pastikan Google Cloud CLI versi terbaru telah diinstal. Jalankan perintah berikut dari Cloud Shell:
gcloud components update
Buat atau pilih project baru,
HOST_PROJECT_ID
, untuk menjadi project host App Hub.Buat project Google Cloud :
gcloud projects create HOST_PROJECT_ID
Pilih project Google Cloud yang Anda buat:
gcloud config set project HOST_PROJECT_ID
Pastikan penagihan diaktifkan untuk semua project Google Cloud Anda.
Aktifkan App Hub, Compute Engine, Pengelolaan Layanan, dan Service Usage API:
gcloud services enable apphub.googleapis.com \ compute.googleapis.com \ servicemanagement.googleapis.com \ serviceusage.googleapis.com
Buat tiga project Google Cloud baru untuk menjadi project layanan App Hub untuk project host App Hub.
Buat project layanan:
gcloud projects create SERVICE_PROJECT_1_ID
Ganti
SERVICE_PROJECT_1_ID
dengan ID Project Layanan 1.Pilih project layanan yang Anda buat:
gcloud config set project SERVICE_PROJECT_1_ID
Aktifkan Compute Engine, Service Management, dan Service Usage API:
gcloud services enable compute.googleapis.com \ servicemanagement.googleapis.com \ serviceusage.googleapis.com
Tetapkan variabel konfigurasi yang digunakan dalam tutorial ini:
export SERVICE_PROJECT_1_NUMBER= $(gcloud projects describe $(gcloud config get-value project) --format='value(projectNumber)')
Ulangi langkah sebelumnya ini untuk membuat SERVICE_PROJECT_2_ID dan SERVICE_PROJECT_3_ID, mengaktifkan API, dan menetapkan variabel konfigurasi.
Menyiapkan lingkungan
Jika Anda sudah memiliki Load Balancer Aplikasi internal di lingkungan VPC Bersama yang disiapkan di beberapa project, lanjutkan ke bagian Memberikan izin IAM dalam dokumen ini.
Jika tidak, untuk menyiapkan Application Load Balancer internal di lingkungan VPC Bersama, ikuti langkah-langkah berikut:
- Di Project Layanan 1, konfigurasikan jaringan VPC Bersama dan dua subnet.
- Di Project Layanan 2, buat layanan backend load balancer dengan dua grup instance terkelola sebagai backend.
- Di Project Layanan 3, buat layanan backend load balancer lain dengan dua grup instance terkelola sebagai backend.
- Di Project Layanan 1, buat komponen frontend dan peta URL load balancer.
Berikut adalah alur pemrosesan permintaan topologi yang di-deploy oleh solusi VM terkelola dengan load balancing.
Dari jaringan VPC Bersama, VM klien membuat permintaan HTTP ke Application Load Balancer internal di Project layanan 1.
Load balancer menggunakan informasi dalam peta URL dan layanan backend untuk merutekan permintaan ke backend grup instance terkelolanya.
Mengonfigurasi jaringan dan subnet di project host VPC Bersama
Anda memerlukan jaringan VPC Bersama dengan dua subnet: satu untuk frontend dan backend load balancer, dan satu untuk proxy load balancer.
Contoh ini menggunakan jaringan, region, dan subnet berikut:
Jaringan. Jaringan diberi nama
lb-network
.Subnet untuk frontend dan backend load balancer. Subnet bernama
lb-frontend-and-backend-subnet
di regionus-west1
menggunakan10.1.2.0/24
untuk rentang IP utamanya.Subnet untuk proxy. Subnet bernama
proxy-only-subnet
di wilayahus-west1
menggunakan10.129.0.0/23
untuk rentang IP utamanya.
Dalam tutorial ini, tetapkan Project Layanan 1 sebagai project host VPC Bersama. Semua langkah di bagian ini harus dilakukan di Project Layanan 1.
Mengonfigurasi subnet untuk frontend dan backend load balancer
Langkah ini tidak perlu dilakukan setiap kali Anda ingin membuat load balancer baru. Anda hanya perlu memastikan bahwa project layanan memiliki akses ke subnet di jaringan VPC Bersama (selain subnet khusus proxy).
Konsol
- Di konsol Google Cloud , buka halaman VPC networks.
- Klik Create VPC network.
- Di kolom Name, masukkan
lb-network
. - Setel Subnet creation mode ke Custom.
Di bagian New subnet, masukkan informasi berikut:
Nama:
lb-frontend-and-backend-subnet
Region:
us-west1
Rentang alamat IP:
10.1.2.0/24
Klik Done.
Klik Create.
gcloud
Tetapkan project sebagai Project Layanan 1:
gcloud config set project SERVICE_PROJECT_1_ID
Buat jaringan VPC dengan perintah
gcloud compute networks create
:gcloud compute networks create lb-network --subnet-mode=custom
Buat subnet di jaringan
lb-network
di regionus-west1
:gcloud compute networks subnets create lb-frontend-and-backend-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1
Mengonfigurasi subnet khusus proxy
Subnet khusus proxy digunakan oleh semua load balancer berbasis Envoy regional di region us-west1
, di jaringan VPC lb-network
. Hanya boleh ada satu
subnet khusus proxy yang aktif per region, per jaringan.
Jangan lakukan langkah ini jika sudah ada subnet khusus proxy yang direservasi di region us-west1
di jaringan ini.
Konsol
- Di konsol Google Cloud , buka halaman VPC networks.
- Klik nama jaringan VPC Bersama:
lb-network
. - Klik tab Subnets, lalu klik Add subnet.
- Di panel Tambahkan subnet, di kolom Nama, masukkan
proxy-only-subnet
. - Dalam daftar Region, pilih
us-west1
. - Tetapkan Tujuan ke Proxy yang Dikelola Berdasarkan Wilayah.
- Di kolom IP address range, masukkan
10.129.0.0/23
. - Klik Tambahkan.
gcloud
Buat subnet khusus proxy dengan perintah gcloud compute networks subnets
create
:
gcloud compute networks subnets create proxy-only-subnet \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=us-west1 \ --network=lb-network \ --range=10.129.0.0/23
Memberi admin project layanan akses ke subnet backend
Administrator project layanan memerlukan akses ke
subnet lb-frontend-and-backend-subnet
agar dapat menyediakan backend load
balancer.
Admin VPC Bersama harus memberikan akses ke subnet backend kepada administrator project layanan (atau developer yang men-deploy resource dan backend yang menggunakan subnet). Untuk mengetahui petunjuknya, lihat Admin Project Layanan untuk beberapa subnet.
Mengonfigurasi aturan firewall di Project Layanan 1
Contoh ini menggunakan aturan firewall berikut:
fw-allow-health-check
. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan semua traffic TCP dari sistem health check Google Clouddi130.211.0.0/22
dan35.191.0.0/16
. Contoh ini menggunakan tag targetload-balanced-backend
untuk mengidentifikasi instance tempat tag harus diterapkan.fw-allow-proxies
. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic TCP pada port80
,443
, dan8080
dari proxy terkelola load balancer. Contoh ini menggunakan tag targetload-balanced-backend
untuk mengidentifikasi instance tempat tag harus diterapkan.fw-allow-ssh
. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang memungkinkan konektivitas SSH yang masuk pada TCP port22
dari alamat mana pun. Anda dapat memilih rentang IP sumber yang lebih ketat untuk aturan ini. Misalnya, Anda dapat menentukan hanya rentang IP sistem tempat Anda memulai sesi SSH. Contoh ini menggunakan tag targetallow-ssh
untuk mengidentifikasi virtual machine (VM) tempat aturan firewall diterapkan.
Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic masuk ke instance backend.
Konsol
Di konsol Google Cloud , buka halaman Kebijakan firewall.
- Klik Create firewall rule untuk membuat aturan yang mengizinkan health check Google Cloud :
- Nama:
fw-allow-health-check
- Jaringan:
lb-network
- Direction of traffic: Masuk
- Action on match: Izinkan
- Targets: Tag target yang ditentukan
- Tag target:
load-balanced-backend
- Source filter: Rentang IPv4
- Rentang IPv4 sumber:
130.211.0.0/22
dan35.191.0.0/16
- Protocols and ports:
- Pilih Protokol dan port yang ditentukan.
- Pilih kotak centang TCP dan masukkan
80
untuk nomor port.
Sebagai praktik terbaik, batasi aturan ini hanya pada protokol dan port yang cocok dengan yang digunakan oleh health check Anda. Jika Anda menggunakan
tcp:80
untuk protokol dan port, Google Cloud dapat menggunakan HTTP di port80
untuk menghubungi VM Anda, tetapi tidak dapat menggunakan HTTPS di port443
untuk menghubunginya. - Klik Create.
- Klik Create firewall rule untuk membuat aturan yang mengizinkan health check Google Cloud :
- Nama:
fw-allow-proxies
- Jaringan:
lb-network
- Direction of traffic: Masuk
- Action on match: Izinkan
- Targets: Tag target yang ditentukan
- Tag target:
load-balanced-backend
- Source filter: Rentang IPv4
- Rentang IPv4 sumber:
10.129.0.0/23
- Protocols and ports:
- Pilih Protokol dan port yang ditentukan.
- Pilih kotak centang TCP dan masukkan
80, 443, 8080
untuk nomor port.
- Klik Create.
- Klik Create firewall rule untuk membuat aturan yang mengizinkan health check Google Cloud :
- Nama:
fw-allow-ssh
- Jaringan:
lb-network
- Direction of traffic: Masuk
- Action on match: Izinkan
- Targets: Tag target yang ditentukan
- Tag target:
allow-ssh
- Source filter: Rentang IPv4
- Rentang IPv4 sumber:
0.0.0.0/0
- Protocols and ports:
- Pilih Protokol dan port yang ditentukan.
- Pilih kotak centang TCP dan masukkan
22
untuk nomor port.
- Klik Create.
gcloud
Buat aturan firewall
fw-allow-health-check
untuk mengizinkan health checkGoogle Cloud . Contoh ini mengizinkan semua traffic TCP dari penguji health check. Namun, Anda dapat mengonfigurasi kumpulan port yang lebih sempit untuk memenuhi kebutuhan Anda.gcloud compute firewall-rules create fw-allow-health-check \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=load-balanced-backend \ --rules=tcp
Buat aturan firewall
fw-allow-proxies
untuk mengizinkan traffic dari subnet khusus proxy Envoy menjangkau backend Anda:gcloud compute firewall-rules create fw-allow-proxies \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=10.129.0.0/23 \ --target-tags=load-balanced-backend \ --rules=tcp:80,tcp:443,tcp:8080
Buat aturan firewall
fw-allow-ssh
untuk mengizinkan konektivitas SSH ke VM dengan tag jaringanallow-ssh
:gcloud compute firewall-rules create fw-allow-ssh \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Mencadangkan alamat IPv4 internal statis
Admin Project Layanan dapat mencadangkan alamat IPv4 atau IPv6 internal di subnet jaringan VPC Bersama. Objek konfigurasi alamat IP dibuat dalam project layanan, sedangkan nilainya berasal dari rentang alamat IPv4 yang tersedia dalam subnet bersama yang dipilih.
Untuk mencadangkan alamat IP internal mandiri dalam project layanan, selesaikan langkah-langkah berikut.
Konsol
- Siapkan VPC bersama.
Di konsol Google Cloud , buka halaman Shared VPC.
Login sebagai Admin VPC Bersama.
Pilih project layanan dari pemilih project.
Buka VPC network >IP addresses.
Di halaman IP addresses, klik Reserve internal static IP address.
Di kolom Name, masukkan
l7-ilb-ip-address
sebagai nama alamat IP.Dalam daftar IP version, pilih IPv4.
Di Network, pilih
lb-network
.Dalam daftar Subnetwork, pilih
lb-frontend-and-backend-subnet
.Klik Reserve.
gcloud
Jika Anda belum melakukannya, lakukan autentikasi ke Google Cloud CLI sebagai Admin Project Layanan VPC Bersama.
gcloud auth login SERVICE_PROJECT_ADMIN
Ganti
SERVICE_PROJECT_ADMIN
dengan nama Admin Project Layanan VPC Bersama. Nilai ini harus memiliki format namapengguna@domainAnda, misalnya, 222laraswidodo@gmail.com.Gunakan perintah
compute addresses create
untuk mencadangkan alamat IP:gcloud compute addresses create l7-ilb-ip-address \ --project SERVICE_PROJECT_1_ID \ --subnet=lb-frontend-and-backend-subnet \ --region=us-west1 \ --ip-version=IPV4
Detail tambahan untuk membuat alamat IP dipublikasikan di dokumentasi SDK.
Menyiapkan VPC Bersama di Project Layanan 1
Untuk menyiapkan VPC Bersama di Project Layanan 1, Anda menetapkan Project Layanan 1 sebagai project host VPC Bersama dan Project Layanan 2 dan 3 sebagai project layanan VPC Bersama. Kemudian dalam tutorial ini, saat membuat backend MIG di Project Layanan 2 dan 3, Anda akan dapat menggunakan jaringan VPC dan subnet yang sama dengan yang dibuat sebelumnya di Project Layanan 1.
- Aktifkan project host.
- Melampirkan project layanan.
Berikan peran Compute Network User (
roles/compute.networkUser
) ke Project Layanan 2 dan 3:Konsol
Di konsol Google Cloud , buka halaman IAM.
Klik
Berikan akses. Panel Berikan akses akan terbuka.Di kolom New principals, masukkan
SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com
.Perhatikan bahwa Anda bisa mendapatkan nomor project layanan dari Dasbor project:
Klik Pilih peran dan di kolom Filter, masukkan
Compute Network User
.Pilih peran Compute Network User, lalu klik Save.
Ulangi langkah-langkah sebelumnya untuk memberikan peran
Compute Network User
ke Project Layanan 3 (SERVICE_PROJECT_3_NUMBER@cloudservices.gserviceaccount.com
).
gcloud
Di Project Layanan 1, berikan peran Compute Network User ke Project Layanan 2.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_1_ID \ --member='serviceAccount:SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com' \ --role='roles/compute.networkUser'
Ganti
SERVICE_PROJECT_2_NUMBER
dengan nomor project Project Layanan 2.Di Project Layanan 1, berikan peran Compute Network User ke Project Layanan 3.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_1_ID \ --member='serviceAccount::SERVICE_PROJECT_3_NUMBER@cloudservices.gserviceaccount.com' \ --role='roles/compute.networkUser'
Ganti
SERVICE_PROJECT_3_NUMBER
dengan nomor project Project Layanan 3.
Membuat layanan backend dan MIG di Project Layanan 2
Semua langkah di bagian ini harus dilakukan di Project Layanan 2.
Konsol
Membuat template instance. Di konsol Google Cloud , buka halaman Template instance.
Buka halaman Template instance
- Klik Create instance template.
- Masukkan Nama untuk template instance:
tutorial-ig-template-sp2
. - Di bagian Location, pilih Regional (recommended) dan us-west1(Oregon) sebagai Region.
- Di bagian Machine configuration, pilih N2 sebagai seri.
- Pastikan Boot disk disetel ke image Debian, seperti
Debian GNU/Linux 12 (bookworm). Petunjuk ini menggunakan perintah
yang hanya tersedia di Debian, seperti
apt-get
. Jika Anda perlu mengubah Boot disk, klik Change.- Untuk Sistem Operasi, pilih Debian.
- Untuk Version, pilih salah satu image Debian yang tersedia seperti Debian GNU/Linux 12 (bookworm).
- Klik Pilih.
- Klik Advanced options, lalu klik Networking.
- Masukkan Tag jaringan berikut:
allow-ssh
,load-balanced-backend
. - Di bagian Network interfaces, pilih Networks shared with me (from host project: SERVICE_PROJECT_1_ID).
- Pilih subnet
lb-frontend-and-backend-subnet
dari jaringanlb-network
. - Klik Management. Untuk Management, sisipkan skrip
berikut ke dalam kolom Startup script.
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | tee /var/www/html/index.html systemctl restart apache2
- Klik Create.
Membuat grup instance terkelola. Di konsol Google Cloud , buka halaman Instance groups.
- Klik Create instance group.
- Pilih New managed instance group (stateless). Untuk informasi selengkapnya, lihat MIG stateless atau stateful.
- Masukkan Name untuk grup instance:
tutorial-sp2-mig-a
. - Untuk Instance template, pilih tutorial-ig-template-sp2.
- Untuk Location, pilih Single zone.
- Untuk Region, pilih
us-west1
. Tentukan jumlah instance yang ingin Anda buat dalam grup.
Untuk contoh ini, tentukan opsi berikut untuk Penskalaan otomatis:
- Untuk Autoscaling mode, pilih
Off:do not autoscale
. - Untuk Maximum number of instances, masukkan
2
.
- Untuk Autoscaling mode, pilih
Klik Create.
Buat layanan backend regional. Sebagai bagian dari langkah ini, kita juga akan membuat health check dan menambahkan backend ke layanan backend. Di konsol Google Cloud , buka halaman Backends.
- Klik Create backend service.
- Pada dialog Create backend service, klik Create di samping Regional backend service.
- Masukkan Nama untuk layanan backend:
tutorial-backend-service-sp2
. - Untuk Region, pilih us-west1.
- Untuk Load balancer type, pilih Regional internal Application Load Balancer (INTERNAL_MANAGED).
- Tetapkan Backend type ke Instance group.
- Di bagian Backends, tetapkan kolom berikut:
- Setel Instance group ke tutorial-sp2-mig-a.
- Masukkan Port numbers:
80
. - Tetapkan Balancing mode ke Utilization.
- Klik Done.
- Di bagian Health check, klik Create a health check
dan tetapkan kolom berikut:
- Nama:
tutorial-regional-health-check
- Protokol:
HTTP
- Port:
80
- Klik Simpan.
- Nama:
- Klik Lanjutkan.
- Klik Create.
Ulangi langkah-langkah sebelumnya dan buat grup instance terkelola,
tutorial-sp2-mig-b
, lalu tambahkan ke layanan backend,tutorial-backend-service-sp2
.
gcloud
- Pilih project layanan yang Anda buat:
gcloud config set project SERVICE_PROJECT_2_ID
Buat template instance VM,
tutorial-ig-template-sp2
dengan server HTTP:gcloud compute instance-templates create tutorial-ig-template-sp2 \ --region=us-west1 \ --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \ --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --tags=allow-ssh,load-balanced-backend \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2' \ --project=SERVICE_PROJECT_2_ID
Ganti kode berikut:
SERVICE_PROJECT_1_ID
: project ID untuk project host VPC Bersama.SERVICE_PROJECT_2_ID
: project ID untuk project layanan, tempat backend load balancer dan layanan backend dibuat.
Buat grup instance terkelola,
tutorial-sp2-mig-a
di region:gcloud compute instance-groups managed create tutorial-sp2-mig-a \ --region=us-west1 \ --size=2 \ --template=tutorial-ig-template-sp2 \ --project=SERVICE_PROJECT_2_ID
Tentukan health check HTTP,
tutorial-regional-health-check
:gcloud compute health-checks create http tutorial-regional-health-check \ --region=us-west1 \ --use-serving-port \ --project=SERVICE_PROJECT_2_ID
Tentukan layanan backend,
tutorial-backend-service-sp2
:gcloud compute backend-services create tutorial-backend-service-sp2 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=tutorial-regional-health-check \ --health-checks-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_2_ID
Tambahkan backend ke layanan backend dengan perintah
gcloud compute backend-services add-backend
:gcloud compute backend-services add-backend tutorial-backend-service-sp2 \ --balancing-mode=UTILIZATION \ --instance-group=tutorial-sp2-mig-a \ --instance-group-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_2_ID
Buat grup instance terkelola lain,
tutorial-sp2-mig-b
di region:gcloud compute instance-groups managed create tutorial-sp2-mig-b \ --region=us-west1 \ --size=2 \ --template=tutorial-ig-template-sp2 \ --project=SERVICE_PROJECT_2_ID
Tambahkan backend ke layanan backend:
gcloud compute backend-services add-backend tutorial-backend-service-sp2 \ --balancing-mode=UTILIZATION \ --instance-group=tutorial-sp2-mig-b \ --instance-group-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_2_ID
Membuat layanan backend dan MIG di Project Layanan 3
Semua langkah di bagian ini harus dilakukan di Project Layanan 3.
Konsol
Membuat template instance. Di konsol Google Cloud , buka halaman Template instance.
Buka halaman Template instance
- Klik Create instance template.
- Masukkan Nama untuk template instance:
tutorial-ig-template-sp3
. - Di bagian Location, pilih Regional (recommended) dan us-west1(Oregon) sebagai Region.
- Di bagian Machine configuration, pilih N2 sebagai seri.
- Pastikan Boot disk disetel ke image Debian, seperti
Debian GNU/Linux 12 (bookworm). Petunjuk ini menggunakan perintah
yang hanya tersedia di Debian, seperti
apt-get
. Jika Anda perlu mengubah Boot disk, klik Change.- Untuk Sistem Operasi, pilih Debian.
- Untuk Version, pilih salah satu image Debian yang tersedia seperti Debian GNU/Linux 12 (bookworm).
- Klik Pilih.
- Klik Advanced options, lalu klik Networking.
- Masukkan Tag jaringan berikut:
allow-ssh
,load-balanced-backend
. - Di bagian Network interfaces, pilih Networks shared with me (from host project: SERVICE_PROJECT_1_ID).
- Pilih subnet
lb-frontend-and-backend-subnet
dari jaringanlb-network
. - Klik Management. Untuk Management, sisipkan skrip
berikut ke dalam kolom Startup script.
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | tee /var/www/html/index.html systemctl restart apache2
- Klik Create.
Membuat grup instance terkelola. Di konsol Google Cloud , buka halaman Instance groups.
- Klik Create instance group.
- Pilih New managed instance group (stateless). Untuk informasi selengkapnya, lihat MIG stateless atau stateful.
- Masukkan Name untuk grup instance:
tutorial-sp3-mig-a
. - Untuk Instance template, pilih tutorial-ig-template-sp3.
- Untuk Location, pilih Single zone.
- Untuk Region, pilih
us-west1
. Tentukan jumlah instance yang ingin Anda buat dalam grup.
Untuk contoh ini, tentukan opsi berikut untuk Penskalaan otomatis:
- Untuk Autoscaling mode, pilih
Off:do not autoscale
. - Untuk Maximum number of instances, masukkan
2
.
- Untuk Autoscaling mode, pilih
Klik Create.
Buat layanan backend regional. Sebagai bagian dari langkah ini, kita juga akan membuat health check dan menambahkan backend ke layanan backend. Di konsol Google Cloud , buka halaman Backends.
- Klik Create backend service.
- Pada dialog Create backend service, klik Create di samping Regional backend service.
- Masukkan Nama untuk layanan backend:
tutorial-backend-service-sp3
. - Untuk Region, pilih us-west1.
- Untuk Load balancer type, pilih Regional internal Application Load Balancer (INTERNAL_MANAGED).
- Tetapkan Backend type ke Instance group.
- Di bagian Backends, tetapkan kolom berikut:
- Setel Instance group ke tutorial-sp3-mig-a.
- Masukkan Port numbers:
80
. - Tetapkan Balancing mode ke Utilization.
- Klik Done.
- Di bagian Health check, klik Create a health check
dan tetapkan kolom berikut:
- Nama:
tutorial-regional-health-check
- Protokol:
HTTP
- Port:
80
- Klik Simpan.
- Nama:
- Klik Lanjutkan.
- Klik Create.
Ulangi langkah-langkah sebelumnya dan buat grup instance terkelola,
tutorial-sp3-mig-b
, lalu tambahkan ke layanan backend,tutorial-backend-service-sp3
.
gcloud
- Pilih project layanan yang Anda buat:
gcloud config set project SERVICE_PROJECT_3_ID
Buat template instance VM,
tutorial-ig-template-sp3
dengan server HTTP:gcloud compute instance-templates create tutorial-ig-template-sp3 \ --region=us-west1 \ --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \ --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --tags=allow-ssh,load-balanced-backend \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2' \ --project=SERVICE_PROJECT_3_ID
Ganti kode berikut:
SERVICE_PROJECT_1_ID
: project ID untuk project host VPC Bersama.SERVICE_PROJECT_3_ID
: project ID untuk project layanan, tempat backend load balancer dan layanan backend dibuat.
Buat grup instance terkelola,
tutorial-sp3-mig-a
di region:gcloud compute instance-groups managed create tutorial-sp3-mig-a \ --region=us-west1 \ --size=2 \ --template=tutorial-ig-template-sp3 \ --project=SERVICE_PROJECT_3_ID
Tentukan health check HTTP,
tutorial-regional-health-check
:gcloud compute health-checks create http tutorial-regional-health-check \ --region=us-west1 \ --use-serving-port \ --project=SERVICE_PROJECT_3_ID
Tentukan layanan backend,
tutorial-backend-service-sp3
:gcloud compute backend-services create tutorial-backend-service-sp3 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=tutorial-regional-health-check \ --health-checks-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_3_ID
Tambahkan backend ke layanan backend dengan perintah
gcloud compute backend-services add-backend
:gcloud compute backend-services add-backend tutorial-backend-service-sp3 \ --balancing-mode=UTILIZATION \ --instance-group=tutorial-sp3-mig-a \ --instance-group-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_3_ID
Buat grup instance terkelola lain,
tutorial-sp3-mig-b
di region:gcloud compute instance-groups managed create tutorial-sp3-mig-b \ --region=us-west1 \ --size=2 \ --template=tutorial-ig-template-sp3 \ --project=SERVICE_PROJECT_3_ID
Tambahkan backend ke layanan backend:
gcloud compute backend-services add-backend tutorial-backend-service-sp3 \ --balancing-mode=UTILIZATION \ --instance-group=tutorial-sp3-mig-b \ --instance-group-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_3_ID
Membuat Peta URL dan aturan penerusan di Project Layanan 1
Semua langkah di bagian ini harus dilakukan di Project Layanan 1.
Konsol
Memulai konfigurasi
Di konsol Google Cloud , buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Application Load Balancer (HTTP/HTTPS), lalu klik Next.
- Untuk Public facing or internal, pilih Internal, lalu klik Next.
- Untuk Cross-region atau single region deployment, pilih Best for regional workloads, lalu klik Next.
- Klik Konfigurasikan.
Konfigurasi dasar
- Masukkan Nama untuk load balancer,
tutorial-url-maps
. - Dalam daftar Region, pilih
us-west1
. Dalam daftar Jaringan, pilih lb-network (dari Project: SERVICE_PROJECT_1_ID).
Jika Anda melihat peringatan Subnet khusus proxy diperlukan di jaringan VPC Bersama, confirmasikan bahwa administrator project host telah membuat
proxy-only-subnet
di regionus-west1
di jaringan VPC Bersamalb-network
. Pembuatan load balancer berhasil meskipun Anda tidak memiliki izin untuk melihat subnet khusus proxy di halaman ini.Biarkan jendela tetap terbuka untuk melanjutkan.
Mengonfigurasi backend
- Klik Backend configuration.
- Klik Layanan backend lintas project.
- Di kolom Project ID, masukkan project ID untuk Project Layanan 2.
- Di kolom Nama layanan backend, masukkan nama layanan backend
dari Project Layanan 2 yang ingin Anda gunakan. Untuk contoh ini,
parameternya adalah
tutorial-backend-service-sp2
. - Klik Add backend service.
- Di kolom Project ID, masukkan project ID untuk Project Layanan 3.
- Di kolom Nama layanan backend, masukkan nama layanan backend
dari Project Layanan 3 yang ingin Anda gunakan. Untuk contoh ini,
parameternya adalah
tutorial-backend-service-sp3
. - Klik Add backend service.
Mengonfigurasi aturan pemilihan rute
- Klik Routing rules.
- Di bagian Host and path rules, di kolom Host 2,
masukkan
*
. - Di kolom Paths 2, masukkan
/*
. - Dari menu drop-down Backend 2, pilih
tutorial-backend-service-sp2
. - Klik Tambahkan aturan host dan jalur.
- Di kolom Host 3, masukkan
tutorial-host
. - Di kolom Paths 3, masukkan
/*
. Dari menu drop-down Backend 3, pilih
tutorial-backend-service-sp3
.Cari tanda centang biru di sebelah kiri Host and Path Rules, lalu klik tombol Update.
Untuk informasi tentang pengelolaan traffic, lihat Menyiapkan pengelolaan traffic.
Mengonfigurasi frontend
Agar referensi layanan lintas project berfungsi, frontend harus menggunakan jaringan yang sama (lb-network
) dari project host VPC Bersama yang digunakan untuk membuat layanan backend.
- Klik Frontend configuration.
- Masukkan Nama untuk aturan penerusan:
l7-ilb-forwarding-rule
. - Setel Protocol ke
HTTP
. - Tetapkan Subnetwork ke
lb-frontend-and-backend-subnet
. Jangan pilih subnet khusus proxy untuk frontend meskipun merupakan opsi dalam daftar. - Tetapkan Port ke
80
. - Di kolom IP address, pertahankan opsi default, Ephemeral (Automatic).
- Klik Done.
Meninjau dan menyelesaikan konfigurasi
- Klik Create.
gcloud
Pilih project layanan yang Anda buat:
gcloud config set project SERVICE_PROJECT_1_ID
Buat peta URL,
tutorial-url-maps
, dan tetapkan layanan default ke layanan backend yang dibuat di Project Layanan 1:gcloud compute url-maps create tutorial-url-maps \ --default-service=projects/SERVICE_PROJECT_2_ID/regions/us-west1/backendServices/tutorial-backend-service-sp2 \ --region=us-west1 \ --project=SERVICE_PROJECT_1_ID
Ganti kode berikut:
SERVICE_PROJECT_2_ID
: project ID untuk Project Layanan 2, tempat backend load balancer dan layanan backend dibuat.SERVICE_PROJECT_1_ID
: project ID untuk Project Layanan 1, tempat frontend load balancer dibuat.
Buat proxy target,
tutorial-http-proxy
:gcloud compute target-http-proxies create tutorial-http-proxy \ --url-map=tutorial-url-maps \ --url-map-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_1_ID
Buat aturan penerusan,
l7-ilb-forwarding-rule
untuk menangani traffic HTTP. Agar referensi layanan lintas project berfungsi, aturan penerusan harus menggunakan jaringan yang sama (lb-network
) dari project host VPC Bersama yang digunakan untuk membuat layanan backend.gcloud compute forwarding-rules create l7-ilb-forwarding-rule \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \ --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --address=l7-ilb-ip-address \ --ports=80 \ --region=us-west1 \ --target-http-proxy=tutorial-http-proxy \ --target-http-proxy-region=us-west1 \ --project=SERVICE_PROJECT_1_ID
Untuk mengirim traffic ke layanan backend, tautkan peta URL dengan layanan backend. Untuk informasi selengkapnya, lihat Menggunakan peta URL.
Tautkan layanan backend
tutorial-backend-service-sp2
di Project Layanan 2 dengan peta URL,tutorial-url-maps
, dan nama pencocok jalur,tutorial-path-matcher-sp2
:gcloud compute url-maps add-path-matcher tutorial-url-maps \ --path-matcher-name=tutorial-path-matcher-sp2 \ --default-service=projects/SERVICE_PROJECT_2_ID/regions/us-west1/backendServices/tutorial-backend-service-sp2 \ --region=us-west1
Tautkan layanan backend,
tutorial-backend-service-sp3
di Project Layanan 3 dengan peta URL,tutorial-url-maps
, dan nama pencocok jalur,tutorial-path-matcher-sp3
. Tambahkan aturan host baru,tutorial-host
dengan host yang diberikan sehingga pencocok jalur terikat dengan aturan host barugcloud compute url-maps add-path-matcher tutorial-url-maps \ --path-matcher-name=tutorial-path-matcher-sp3 \ --default-service=projects/SERVICE_PROJECT_3_ID/regions/us-west1/backendServices/tutorial-backend-service-sp3 \ --region=us-west1 \ --new-hosts=tutorial-host
Menguji load balancer
Untuk menguji load balancer, buat contoh VM klien terlebih dahulu. Kemudian, buat sesi SSH dengan VM dan kirim traffic dari VM ini ke load balancer.
Membuat instance VM pengujian
Klien dapat berada di project host VPC Bersama atau project layanan yang terhubung. Dalam contoh ini, Anda menguji apakah load balancer berfungsi dengan men-deploy VM klien di Project Layanan 1 yang ditetapkan sebagai project host VPC Bersama. Klien harus menggunakan jaringan VPC Bersama yang sama dan berada di region yang sama dengan load balancer.
Semua langkah di bagian ini harus dilakukan di Project Layanan 2.
Konsol
Di konsol Google Cloud , buka halaman Instance VM.
Klik Create instance.
Di kolom Name, masukkan
client-vm
.Tetapkan Zona ke us-west1-b.
Klik Advanced options, lalu klik Networking.
Masukkan Network tags berikut:
allow-ssh
,load-balanced-backend
.Di bagian Network interfaces, pilih Networks shared with me (from host project: SERVICE_PROJECT_1_ID).
Pilih subnet
lb-frontend-and-backend-subnet
dari jaringanlb-network
.Klik Create.
gcloud
Buat instance VM pengujian.
gcloud compute instances create client-vm \ --image-family=debian-12 \ --image-project=debian-cloud \ --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --zone=us-west1-b \ --tags=allow-ssh \ --project=SERVICE_PROJECT_2_ID
Mengirim traffic ke load balancer
Gunakan SSH untuk terhubung ke instance yang baru saja Anda buat dan uji apakah layanan HTTP(S) di backend dapat dijangkau melalui alamat IP aturan penerusan Load Balancer Aplikasi internal dan traffic di-load balance di seluruh instance backend.
Ambil nilai alamat IP load balancer:
gcloud compute addresses list --filter="name=( 'l7-ilb-ip-address')"
Anda akan melihat output yang mirip dengan berikut ini:
NAME: l7-ilb-ip-address ADDRESS/RANGE: 10.1.2.2 TYPE: INTERNAL PURPOSE: GCE_ENDPOINT NETWORK: REGION: us-west1 SUBNET: lb-frontend-and-backend-subnet STATUS: IN_USE
Salin
ADDRESS/RANGE
layanan, misalnya,10.1.2.2
dari output untuk digunakan di langkah berikutnya.Hubungkan ke instance klien dengan SSH:
gcloud compute ssh client-vm \ --zone=us-west1-b \ --project=SERVICE_PROJECT_2_ID
Verifikasi bahwa alamat IP load balancer menayangkan nama host-nya:
Verifikasi bahwa alamat IP menyalurkan nama host-nya di Project Layanan 2:
curl 10.1.2.2
Anda akan melihat output yang mirip dengan berikut ini:
Page served from: tutorial-sp2-mig-a-10xk
Verifikasi bahwa alamat IP menyalurkan nama host-nya di Project Layanan 3:
curl -H "Host: tutorial-host" 10.1.2.2
Anda akan melihat output yang mirip dengan berikut ini:
Page served from: tutorial-sp3-mig-a-3d5h
Memberikan izin IAM
Berikan peran dan izin IAM yang sesuai ke project layanan dan host App Hub.
Konsol
Di konsol Google Cloud , buka halaman pemilih project.
Di konsol Google Cloud , buka halaman IAM.
Klik
Berikan akses. Panel Berikan akses akan terbuka.Di kolom New principals, masukkan alamat email individu yang akan mengelola App Hub, yaitu peran App Hub Admin di project host App Hub.
Klik Pilih peran dan di kolom Filter, masukkan
App Hub
.Pilih peran App Hub Admin, lalu klik Save.
Di setiap project layanan App Hub, berikan peran Admin App Hub kepada pengguna yang sama.
gcloud
Untuk memberikan peran kepada individu yang akan menggunakan App Hub, ulangi perintah berikut dengan mengganti peran IAM, sesuai kebutuhan. Untuk mengetahui informasi selengkapnya, lihat Peran dan izin App Hub.
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Ganti
HOST_PROJECT_ADMIN
dengan pengguna yang memiliki peran Admin App Hub di project host App Hub. Nilai ini memiliki formatusername@yourdomain
, misalnya,222larabrown@gmail.com
.Berikan peran App Hub Admin di project layanan kepada individu yang mengelola App Hub. Mereka harus memiliki peran Admin App Hub untuk menambahkan project layanan ke project host. Anda memerlukan minimal satu orang dengan peran ini untuk setiap project layanan.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Ganti
SERVICE_PROJECT_ID
dengan ID project layanan.
Memasang project layanan
Project layanan adalah project Google Cloud yang berisi resource infrastruktur yang dapat Anda daftarkan ke aplikasi App Hub. Untuk mengetahui informasi selengkapnya, lihat Project layanan. Lampirkan project layanan tempat Anda men-deploy resource ke project host App Hub.
Konsol
Di konsol Google Cloud , buka halaman Setelan App Hub.
Di halaman Settings, klik Attach projects.
Di panel yang terbuka, telusuri project dari daftar yang ditampilkan dan pilih kotak centang untuk project yang ingin Anda tambahkan sebagai project layanan.
Klik Pilih. Tabel Project Layanan Terlampir menampilkan project layanan yang dipilih.
Klik Close.
gcloud
Lampirkan project layanan 1, 2, dan 3 ke project host App Hub Anda.
gcloud apphub service-projects add SERVICE_PROJECT_1_ID \ --project=HOST_PROJECT_ID
gcloud apphub service-projects add SERVICE_PROJECT_2_ID \ --project=HOST_PROJECT_ID
gcloud apphub service-projects add SERVICE_PROJECT_3_ID \ --project=HOST_PROJECT_ID
Pastikan Anda telah melampirkan project layanan App Hub ke project host App Hub:
gcloud apphub service-projects list --project=HOST_PROJECT_ID
Setelah melampirkan project layanan ke project host App Hub, Anda dapat melihat semua resource Google Cloud dari project layanan terlampir sebagai layanan dan workload App Hub yang ditemukan. Untuk informasi lebih lanjut tentang cara melihat layanan dan beban kerja yang ditemukan ini, lihat Melihat aplikasi, layanan, dan beban kerja yang ada.
Membuat aplikasi
Buat aplikasi untuk menjadi penampung layanan dan beban kerja Anda. Saat membuat aplikasi, Anda dapat menetapkan properti yang tidak dapat diubah seperti jenis cakupan atau lokasi tempat Anda ingin mendaftarkan resource dan atribut variabel seperti tingkat kepentingan dan lingkungan. Anda dapat menggunakan atribut variabel untuk memfilter aplikasi. Untuk mengetahui informasi selengkapnya, lihat Properti dan atribut.
Dalam tutorial ini, Anda akan membuat aplikasi Global untuk membantu mengelola resource global dan regional dalam satu aplikasi. Jika ingin mengelompokkan resource dari wilayah tertentu, Anda dapat membuat aplikasi Regional dan mendaftarkan resource ini. Untuk informasi selengkapnya tentang cara membuat aplikasi regional, lihat Menyiapkan App Hub.
Konsol
- Pastikan Anda berada di project host App Hub.
Di konsol Google Cloud , buka halaman Aplikasi App Hub.
Klik Create application.
Di halaman Create application, di panel Choose application region and name, pilih Global.
Di kolom Application name, masukkan
tutorial-application
. Nama ini adalah ID unik dan tidak dapat diubah setelah Anda membuat aplikasi.Masukkan Nama tampilan,
Tutorial
, lalu klik Lanjutkan. Ini adalah nama yang mudah digunakan dan dapat Anda perbarui. Untuk informasi selengkapnya, lihat Memperbarui aplikasi yang ada.Di panel Tambahkan atribut, dari daftar Kritisitas, pilih Tinggi. Kritisitas menunjukkan seberapa penting aplikasi, layanan, atau beban kerja bagi operasi bisnis Anda.
Di kolom Environment, untuk menunjukkan tahap siklus proses software, pilih Production.
Klik Lanjutkan.
Di panel Tambahkan pemilik, tambahkan detail berikut untuk Pemilik Developer, Pemilik Operator, dan Pemilik Bisnis. Perhatikan bahwa Anda harus memasukkan alamat email pemilik jika menambahkan nama tampilan.
- Masukkan nama tampilan pemilik.
- Masukkan alamat email pemilik. Nilai ini harus memiliki
format
username@yourdomain
, misalnya,222larabrown@gmail.com
.
Ulangi langkah-langkah ini untuk setiap developer, operator, dan pemilik bisnis.
Klik Create.
Aplikasi baru akan dibuat dan tercantum di halaman Aplikasi. Perhatikan bahwa hanya aturan penerusan, peta URL, layanan backend, dan grup instance terkelola (MIG) yang tersedia sebagai resource yang ditemukan di aplikasi App Hub. Untuk mengetahui informasi selengkapnya, lihat konsep dan model data.
gcloud
Pilih project host App Hub yang Anda buat:
gcloud config set project HOST_PROJECT_ID
Buat aplikasi baru bernama
tutorial-application
di region,global
, dan beri nama tampilan,Tutorial
. Nama aplikasi ini,tutorial-application
adalah ID unik dan tidak dapat diubah setelah Anda membuat aplikasi. Nama tampilan,Tutorial
, adalah nama yang mudah digunakan dan dapat Anda perbarui. Untuk informasi selengkapnya, lihat Memperbarui aplikasi yang ada.gcloud apphub applications create tutorial-application \ --display-name='Tutorial' \ --scope-type=GLOBAL \ --project=HOST_PROJECT_ID \ --location=global
Cantumkan aplikasi di project host App Hub Anda:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=global
Anda akan melihat output yang mirip dengan berikut ini:
ID DISPLAY_NAME CREATE_TIME tutorial-application Tutorial 2023-10-31T18:33:48
Perbarui aplikasi Anda dengan atribut
criticality-type
,environment-type
, dan pemilik:gcloud apphub applications update tutorial-application \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=HOST_PROJECT_ID \ --location=global
Ganti kode berikut:
DISPLAY-NAME-DEVELOPER
,DISPLAY-NAME-OPERATOR
, danDISPLAY-NAME-BUSINESS
: masing-masing nama tampilan developer, operator, dan pemilik bisnis.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
, danEMAIL-NAME-BUSINESS
: alamat email developer, operator, dan pemilik bisnis. Nilai ini harus memiliki formatusername@yourdomain
, misalnya,222larabrown@gmail.com
.
Catatan:
criticality-type
: menunjukkan seberapa penting aplikasi, layanan, atau beban kerja bagi operasi bisnis Anda.environment-type
: menunjukkan tahap siklus proses software.
Dapatkan detail untuk aplikasi yang Anda buat:
gcloud apphub applications describe tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
Perintah ini menampilkan informasi dalam format YAML, mirip dengan berikut ini:
attributes: businessOwners: – displayName: [DISPLAY-NAME-BUSINESS] email: [EMAIL-BUSINESS] criticality: type: HIGH developerOwners: – displayName: [DISPLAY-NAME-DEVELOPER] email: [EMAIL-DEVELOPER] environment: type: PRODUCTION operatorOwners: – displayName: [DISPLAY-NAME-OPERATOR] email: [EMAIL-OPERATOR] createTime: '2023-10-31T18:33:48.199394108Z' displayName: Tutorial name: projects/HOST_PROJECT_ID/locations/global/applications/tutorial-application scope: type: REGIONAL state: ACTIVE uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73 updateTime: '2023-10-31T18:33:48.343303819Z'
Mendaftarkan layanan dan beban kerja
Mendaftarkan layanan dan beban kerja akan menambahkannya ke aplikasi yang memungkinkan Anda memantau resource yang ditambahkan.
Konsol
Di konsol Google Cloud , buka halaman Aplikasi App Hub.
Klik nama aplikasi Anda, Tutorial. Tab Layanan dan beban kerja ditampilkan dengan daftar layanan dan beban kerja terdaftar yang ada dalam project layanan App Hub Anda.
Daftarkan layanan:
- Di tab Layanan dan beban kerja, klik Daftarkan layanan/beban kerja.
- Di halaman Register service or workload, di panel Select resource, klik Browse untuk memilih layanan atau workload sebagai Resource.
- Di panel Select resource, pilih Name layanan, tutorial-backend-service-sp2, lalu klik Select.
- Di panel Select resource, masukkan Name resource,
tutorial-service-backend-sp2
. - Masukkan Nama tampilan,
Backend service (SP2)
, lalu klik Lanjutkan. - Di panel Tambahkan atribut, dalam daftar Kritisitas, untuk menunjukkan tingkat kepentingan aplikasi, pilih Tinggi.
- Di kolom Environment, untuk menunjukkan tahap siklus proses software, pilih Production.
- Klik Lanjutkan.
- Di panel Tambahkan pemilik, tambahkan detail berikut sesuai kebutuhan untuk
Pemilik Developer, Pemilik Operator, dan Pemilik Bisnis.
Perhatikan bahwa Anda harus memasukkan alamat email pemilik jika menambahkan
nama tampilan.
- Masukkan nama tampilan pemilik.
- Masukkan alamat email pemilik. Nilai ini harus memiliki
format
username@yourdomain
, misalnya,222larabrown@gmail.com
.
- Ulangi langkah-langkah ini untuk setiap developer, operator, dan pemilik bisnis.
- Klik Daftar.
Di tab Layanan dan beban kerja, di bagian Layanan dan beban kerja terdaftar, Anda dapat melihat layanan baru yang ditambahkan.
- Ulangi langkah-langkah sebelumnya untuk mendaftarkan layanan lainnya sebagai tutorial-service-backend-sp3, tutorial-service-forwarding-rule, dan tutorial-service-url-map.
- Daftarkan beban kerja dengan mengulangi langkah-langkah sebelumnya untuk mendaftarkan layanan
dengan pengecualian berikut:
- Di panel Register service or workload, di bagian Choose service or workload, pilih Name beban kerja, tutorial-sp2-mig-a, lalu klik Continue.
- Di panel Select resource, masukkan Name resource,
tutorial-workload-sp2-mig-a
. - Masukkan Nama tampilan,
Instance group - A (SP2)
, lalu klik Lanjutkan.
- Ulangi langkah-langkah sebelumnya untuk mendaftarkan beban kerja lainnya sebagai tutorial-workload-sp2-mig-a, tutorial-workload-sp2-mig-b, tutorial-workload-sp3-mig-a, dan tutorial-workload-sp3-mig-b, masing-masing.
gcloud
Menambahkan individu dengan izin Editor App Hub:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:APP_HUB_EDITOR' \ --role='roles/apphub.editor'
Ganti
APP_HUB_EDITOR
dengan pengguna yang memiliki peran App Hub Editor di project host App Hub. Nilai ini memiliki formatusername@yourdomain
, misalnya,222larabrown@gmail.com
.Mencantumkan semua layanan yang ditemukan di project host App Hub. Perintah ini menampilkan layanan yang tersedia untuk didaftarkan ke aplikasi.
gcloud apphub discovered-services list \ --project=HOST_PROJECT_ID \ --location=us-west1
Anda akan melihat output yang mirip dengan berikut ini:
ID SERVICE_REFERENCE SERVICE_PROPERTIES
BACKEND_SERVICE_SP2_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp2'} {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}BACKEND_SERVICE_SP3_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp3'} {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}FORWARDING_RULE_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule'} {'gcpProject': 'projects/SERVICE_PROJECT_1_ID', 'location': 'us-west1'}URL_MAP_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/urlMaps/tutorial-url-maps'} {'gcpProject': 'projects/SERVICE_PROJECT_1_ID', 'location': 'us-west1'}Salin
ID
layanan, misalnya,BACKEND_SERVICE_SP2_ID
dari output yang akan digunakan di langkah berikutnya.Daftarkan layanan dari langkah sebelumnya ke aplikasi Anda. Salin ID layanan dari kolom output di langkah sebelumnya.
gcloud apphub applications services create tutorial-service-backend-sp2 \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_SP2_ID' \ --display-name='Backend service (SP2)' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
gcloud apphub applications services create tutorial-service-backend-sp3 \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_SP3_ID' \ --display-name='Backend service (SP3)' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
gcloud apphub applications services create tutorial-service-forwarding-rule \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \ --display-name='Forwarding rule' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
gcloud apphub applications services create tutorial-service-url-map \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \ --display-name='URL map' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
Ganti kode berikut:
BACKEND_SERVICE_SP2_ID
:ID
layanan dari layanan backend dari Project Layanan 2 yang ingin Anda daftarkan.BACKEND_SERVICE_SP3_ID
:ID
layanan dari layanan backend dari Project Layanan 3 yang ingin Anda daftarkan.FORWARDING_RULE_SERVICE_ID
:ID
layanan dari aturan penerusan dari Project Layanan 1 yang ingin Anda daftarkan.URL_MAP_SERVICE_ID
:ID
layanan dari peta URL dari Project Layanan 1 yang ingin Anda daftarkan.
Buat daftar semua layanan terdaftar di aplikasi:
gcloud apphub applications services list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
Anda akan melihat output yang mirip dengan berikut ini:
Layanan yang terdaftar, tetapi terpisah ditunjukkan dengan nilai kosong di kolomID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME tutorial-service-backend-sp2 Backend service {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp2'} 2024-02-13T00:31:45 tutorial-service-backend-sp3 Backend service {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp3'} 2024-02-13T00:31:45 tutorial-service-forwarding-rule Forwarding rule {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule'} 2024-02-13T00:31:45 tutorial-service-url-map URL map {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/urlMaps/tutorial-url-maps'} 2024-02-13T00:31:45
SERVICE_REFERENCE
. Untuk mengetahui informasi selengkapnya tentang status pendaftaran, lihat properti dan atribut App Hub.Mencantumkan semua beban kerja yang ditemukan di project host App Hub. Perintah ini menampilkan workload yang tersedia untuk didaftarkan ke aplikasi.
gcloud apphub discovered-workloads list \ --project=HOST_PROJECT_ID \ --location=global
Anda akan melihat output yang mirip dengan berikut ini:
Salin ID beban kerja dari output untuk digunakan di langkah berikutnya.ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES
INSTANCE_GROUP_SP3_A_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-a'} {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}INSTANCE_GROUP_SP3_B_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-b'} {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}INSTANCE_GROUP_SP2_A_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-a'} {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}INSTANCE_GROUP_SP2_B_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-b'} {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}Daftarkan workload dari langkah sebelumnya ke aplikasi Anda. Salin ID beban kerja dari kolom output di langkah sebelumnya.
gcloud apphub applications workloads create tutorial-workload-sp3-mig-a \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP3_A_ID' \ --display-name='Workload instance group (SP3-A)' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
gcloud apphub applications workloads create tutorial-workload-sp3-mig-b \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP3_B_ID' \ --display-name='Workload instance group (SP3-B)' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
gcloud apphub applications workloads create tutorial-workload-sp2-mig-a \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP2_A_ID' \ --display-name='Workload instance group (SP2-A)' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
gcloud apphub applications workloads create tutorial-workload-sp2-mig-b \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP2_B_ID' \ --display-name='Workload instance group (SP2-B)' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
Ganti kode berikut:
INSTANCE_GROUP_SP3_A_ID
,INSTANCE_GROUP_SP3_B_ID
:ID
beban kerja grup instance terkelola dari Project Layanan 3 yang ingin Anda daftarkan.INSTANCE_GROUP_SP2_A_ID
,INSTANCE_GROUP_SP2_B_ID
:ID
beban kerja dari grup instance terkelola dari Project Layanan 2 yang ingin Anda daftarkan.
Mencantumkan semua workload terdaftar dalam aplikasi:
gcloud apphub applications workloads list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
Anda akan melihat output yang mirip dengan berikut ini:
Workload yang terdaftar, tetapi terpisah ditandai dengan nilai kosong di kolomID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME tutorial-workload-sp3-mig-a Workload instance group (SP3-A) {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-a'} 2024-02-13T00:31:45 tutorial-workload-sp3-mig-b Workload instance group (SP3-B) {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-b'} 2024-02-13T00:31:45 tutorial-workload-sp2-mig-a Workload instance group (SP2-A) {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-a'} 2024-02-13T00:31:45 tutorial-workload-sp2-mig-b Workload instance group (SP2-B) {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-b'} 2024-02-13T00:31:45
WORKLOAD_REFERENCE
. Untuk mengetahui informasi selengkapnya tentang status pendaftaran, lihat properti dan atribut App Hub.
Melihat semua layanan dan beban kerja
Anda dapat melihat detail layanan dan beban kerja dari project layanan yang disertakan ke project host App Hub.
Di konsol Google Cloud , buka halaman App Hub Services and Workloads.
Di daftar Region, pilih global. Workload Grup instance workload ditampilkan dengan detail seperti Jenis App Hub, Kritisitas, dan Terdaftar ke.
Untuk memfilter layanan atau beban kerja berdasarkan statusnya:
- Di kolom Filter, pilih filter seperti Status pendaftaran.
- Klik Terdaftar. Daftar layanan dan beban kerja yang terdaftar ke aplikasi akan muncul.
Melihat metrik aplikasi
Anda dapat melihat metrik sistem untuk aplikasi yang dibuat di project host App Hub. Metrik ini sesuai dengan sinyal emas - traffic, error, latensi, dan saturasi yang membantu memantau performa dan kondisi aplikasi.
Di konsol Google Cloud , buka halaman Aplikasi App Hub.
Klik nama aplikasi,
Tutorial
.Tab Layanan dan beban kerja ditampilkan dengan metadata layanan dan beban kerja yang terdaftar ke aplikasi Anda.
Untuk melihat metrik sistem layanan dan beban kerja terdaftar, klik Metrics.
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 resource App Hub
Konsol
Di konsol Google Cloud , buka halaman Aplikasi App Hub.
Klik nama aplikasi, Tutorial.
Pada tab Layanan dan beban kerja, dari bagian Layanan dan beban kerja terdaftar, klik nama layanan.
Di halaman Layanan dan Beban Kerja, klik Batalkan pendaftaran.
Notifikasi akan memberi tahu bahwa layanan tidak terdaftar.
Pada tab Services and workloads, dari bagian Registered services and workloads, klik nama workload.
Di tab Details, klik Unregister.
Notifikasi akan memberi tahu bahwa beban kerja tidak terdaftar.
Buka halaman Aplikasi App Hub.
Klik nama aplikasi.
Di halaman tutorial-application, klik Delete.
Di konsol Google Cloud , buka halaman Setelan App Hub.
Di halaman Setelan, centang kotak untuk project layanan yang ingin Anda hapus dari project host App Hub.
Klik Detach projects.
gcloud
Cantumkan layanan terdaftar di aplikasi:
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=global
Batalkan pendaftaran layanan dari aplikasi:
gcloud apphub applications services delete SERVICE_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=global
Ganti
SERVICE_NAME
dengan nama layanan Anda. Layanan kini menjadi layanan yang ditemukan yang dapat didaftarkan ke aplikasi.Cantumkan workload terdaftar di aplikasi:
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=global
Batalkan pendaftaran workload dari aplikasi:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=global
Ganti
WORKLOAD_NAME
dengan nama beban kerja Anda. Workload kini menjadi workload yang ditemukan dan dapat didaftarkan ke aplikasi.Hapus aplikasi:
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=global
Hapus project layanan dari project host App Hub:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Ganti
SERVICE_PROJECT_ID
dengan project ID untuk project layanan 1, 2, dan 3.
Menghapus deployment
Jika tidak lagi membutuhkan solusi, hapus semua resource yang telah Anda buat dalam solusi tersebut untuk menghindari penagihan berkelanjutan.
Untuk mengetahui informasi selengkapnya, lihat membersihkan penyiapan load balancer.Menghapus project
Konsol
- Di konsol Google Cloud , buka halaman Manage resources.
- Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
gcloud
Menghapus project Google Cloud :
gcloud projects delete PROJECT_ID
Ganti PROJECT_ID
dengan project ID host atau layanan.