Contoh ini menunjukkan penulisan ulang jalur yang ditentukan dalam permintaan untuk Load Balancer Aplikasi klasik.
Guna 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 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 menuntun Anda dalam membuat dua referensi:
http://IP_ADDRESS/never-fetch/three-cats.jpg
http://IP_ADDRESS/love-to-fetch/two-dogs.jpg
Tempat
/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
Memodifikasi peta URL
Dalam contoh ini, Anda menulis ulang URL /love-to-fetch/
sehingga pengguna dapat menjangkau gambar two-dogs.jpg
dengan URL yang disederhanakan ini:
http://IP_ADDRESS/two-dogs.jpg
Untuk melakukannya, ubah peta URL load balancer seperti 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 sebelah kiri layar, klik Aturan host dan jalur.
- 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 Host reload kosong.
- Di bagian Penulis ulang awalan jalur, masukkan
/love-to-fetch/
. - Pada Backend, pilih
dogs
. - Klik Simpan.
Klik Done. Aturan host dan jalur baru 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.
gcloud
Buat file YAML
/tmp/http-lb.yaml
, pastikan untuk mengganti PROJECT_ID dengan project ID Anda.Saat pengguna meminta jalur
/*
, jalur tersebut 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 menghasilkan 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
.