Contoh ini menunjukkan penulisan ulang jalur yang ditentukan dalam permintaan untuk Load Balancer Aplikasi klasik.
Untuk mengonfigurasi pengelolaan traffic untuk Load Balancer Aplikasi eksternal global dan Load Balancer Aplikasi eksternal regional, lihat halaman berikut:
- Menyiapkan pengelolaan traffic untuk Load Balancer Aplikasi eksternal global
- Menyiapkan pengelolaan traffic untuk Load Balancer Aplikasi eksternal regional
Sebelum memulai
Baca tentang penulisan ulang URL.
Baca tentang peta URL secara umum dan pencocok jalur secara khusus.
Contoh penulisan ulang URL mengasumsikan bahwa Anda telah membuat Load Balancer Aplikasi eksternal dengan mengikuti langkah-langkah yang diuraikan dalam Menyiapkan load balancer dengan bucket Cloud Storage.
Contoh tersebut akan memandu Anda membuat dua resource:
http://IP_ADDRESS/never-fetch/three-cats.jpg
http://IP_ADDRESS/love-to-fetch/two-dogs.jpg
Dengan
/never-fetch/three-cats.jpg
disimpan di/cats
, yang merupakan layanan default, dan/love-to-fetch/two-dogs.jpg
disimpan di/dogs
.Pada tahap ini, peta URL akan terlihat seperti ini:
gcloud compute url-maps describe http-lb
creationTimestamp: '2020-10-13T11:18:10.561-07:00' defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats fingerprint: MKfYsObzqgw= hostRules: - hosts: - '*' pathMatcher: path-matcher-1 id: '1420501688756228493' kind: compute#urlMap name: test-bucket pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /love-to-fetch/* service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/http-lb
Mengubah peta URL
Dalam contoh ini, Anda menulis ulang URL /love-to-fetch/
sehingga pengguna dapat menjangkau
gambar two-dogs.jpg
dengan URL sederhana ini:
http://IP_ADDRESS/two-dogs.jpg
Untuk melakukannya, ubah peta URL load balancer sebagai berikut:
Konsol
Mengedit load balancer
- Buka halaman Load balancing di Konsol Google Cloud.
Buka halaman Load balancing - Klik
http-lb
. - Klik Edit .
- Biarkan jendela tetap terbuka untuk melanjutkan.
Mengubah aturan host dan jalur
- Di kolom kiri layar, klik Host and path rules.
- Pilih Aturan host dan jalur lanjutan (pengalihan URL, penulisan ulang URL).
- Klik baris yang berisi aturan jalur non-default, dalam hal ini, baris yang memiliki tanda bintang (
*
) untuk semua host. - Klik ikon pensil
/love-to-fetch/* Route traffic to a single backend: dogs
.
untuk
baris - Di bagian Paths, hapus
/love-to-fetch/*
dan tambahkan/*
. - Di bagian Action, pilih Route traffic to a single backend.
- Klik Tindakan add-on (penulisan ulang URL).
- Biarkan Penulisan ulang host kosong.
- Di bagian Penulisan ulang awalan jalur, masukkan
/love-to-fetch/
. - Di bagian Backend, pilih
dogs
. - Klik Simpan.
Klik Done. Aturan host dan jalur baru akan terlihat seperti berikut:
Jalur Tindakan Backend Semua yang tidak cocok (default) Rutekan traffic ke backend tunggal cats /* Rutekan traffic ke backend tunggal dogs Jika semuanya sudah benar, klik Update untuk mengupdate load balancer HTTP Anda.
gcloud
Buat file YAML
/tmp/http-lb.yaml
, pastikan untuk mengganti PROJECT_ID dengan project ID Anda.Saat pengguna meminta jalur
/*
, jalur akan ditulis ulang di backend ke lokasi konten yang sebenarnya, yaitu/love-to-fetch/*
.defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats hostRules: - hosts: - '*' pathMatcher: path-matcher-1 name: http-lb pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /* routeAction: urlRewrite: pathPrefixRewrite: /love-to-fetch/ service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs tests: - description: Test routing to backend bucket, dogs host: example.com path: /love-to-fetch/test service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs
Validasi peta URL.
gcloud compute url-maps validate --source /tmp/http-lb.yaml
Jika pengujian lulus dan perintah menampilkan pesan berhasil, simpan perubahan ke peta URL.
Perbarui peta URL.
gcloud compute url-maps import http-lb \ --source /tmp/http-lb.yaml \ --global
Pengujian
Perhatikan alamat IPv4 yang dicadangkan:
gcloud compute addresses describe example-ip \ --format="get(address)" \ --global
Setelah menunggu beberapa menit hingga perubahan diterapkan, Anda dapat menguji penyiapan ini.
Pada command line, jalankan perintah curl berikut:
curl http://IP_ADDRESS/two-dogs.jpg
Di browser, buka http://IP_ADDRESS/two-dogs.jpg
.