Gunakan AScript untuk memperluas kemampuan Application Load Balancer (ALB) ketika opsi standar di Konsol tidak mencukupi kebutuhan Anda.
Apa itu AScript?
AScript memiliki sintaksis yang mudah dipelajari dan pustaka fungsi yang kaya untuk membangun konfigurasi ALB kustom dan modular.
Fitur ini menjawab skenario di mana konfigurasi standar tidak mencukupi atau kebutuhan bisnis menuntut fleksibilitas yang lebih tinggi.
Untuk informasi selengkapnya mengenai sintaksis AScript, lihat aturan sintaksis AScript.
Kasus penggunaan
Skenario | Deskripsi |
Hotlink protection | Terapkan algoritma autentikasi kustom, blacklist User-Agent, dan daftar putih Referer. Anda dapat mengonfigurasi autentikasi berdasarkan parameter permintaan, cookie, atau logika kompleks lainnya untuk melindungi sumber daya Anda. |
Blacklist/whitelist control | Kontrol akses dengan membuat blacklist/daftar putih alamat IP client. |
Request and response header control | Gunakan AScript untuk memodifikasi parameter permintaan, header permintaan, dan header respons. |
Rewrite and redirect | Rewrite URI, modifikasi ekstensi file, tambahkan awalan URI, atau lakukan pengalihan 302. Ini berguna untuk situs web multibahasa, memungkinkan Anda mengarahkan pengguna berdasarkan preferensi bahasa mereka. |
Penagihan
Untuk memahami bagaimana jumlah evaluasi aturan memengaruhi biaya Load Balancer Capacity Unit (LCU) Anda, lihat aturan penagihan ALB.
Cara kerja
Prinsip eksekusi
Aturan AScript yang Anda konfigurasikan bekerja bersama aturan pengalihan standar di Konsol ALB untuk memproses permintaan.
Saat permintaan mencapai Pendengar ALB, Pendengar tersebut memprosesnya sesuai dengan aturan pengalihan yang dikonfigurasi. AScript dapat dieksekusi sebelum atau setelah penerapan aturan standar tersebut.
Model aturan
Model aturan AScript didasarkan pada prinsip-prinsip berikut:
Logika bisnis dapat diisolasi ke dalam aturan terpisah, sehingga Anda dapat mengontrol alur eksekusinya.
Titik eksekusi setiap aturan dapat ditentukan secara individual.
Aturan dirancang dan dikelola berdasarkan per-Pendengar.
Titik eksekusi aturan
Aturan AScript dapat dieksekusi pada titik berbeda dalam siklus hidup permintaan dan respons.
Sebelum/Setelah aturan pengalihan permintaan: Kasus penggunaan umum mencakup penggantian nama file secara otomatis, konversi ekstensi file menjadi huruf kecil, penambahan awalan URI, dan rewrite ekstensi file.
Sebelum aturan pengalihan respons: Kasus penggunaan umum adalah penggantian nama file secara otomatis.
Status eksekusi aturan
Untuk melihat catatan eksekusi aturan, Anda dapat mengaktifkan header respons debug. Saat Anda mengonfigurasi aturan AScript, buka bagian Advanced Settings dan aktifkan opsi untuk menyertakan parameter _es_dbg dalam permintaan. Hal ini akan menambahkan header respons debug yang berisi catatan eksekusi.
Bidang-bidang berikut menjelaskan status eksekusi aturan:
Rule ID: Pengidentifikasi unik untuk setiap aturan, dalam format
as-****.Kode status eksekusi dan deskripsi:
Kode status
Deskripsi
Kosong
Aturan tidak dieksekusi.
0
Eksekusi berhasil dilakukan.
Ketika aturan berisi
if condition {}, danconditionbernilai true.1
Eksekusi gagal.
Ketika aturan berisi
if condition {}danconditionbernilai false, atau aturan tidak berisiif condition {}.2
Eksekusi error.
Waktu eksekusi:
Unit: mikrodetik (µs).
Nilai default: -1.
Rentang waktu eksekusi yang ditampilkan di Konsol:
Tier 1: 0–100 µs
Tier 2: 100–500 µs
Tier 3: 500–1.000 µs
Tier 4: 1.000–5.000 µs
Tier 5: 5.000–20.000 µs
Tier 6: 20.000–50.000 µs
Tier 7: >50.000 µs
Interrupsi eksekusi aturan AScript:
Nilai default: -1.