Anda dapat menggunakan Terraform untuk mengonfigurasi waiting room secara cepat guna melindungi origin Anda dari lonjakan traffic melalui mekanisme antrian.
Instal Terraform dan konfigurasikan izin
Instal dan konfigurasikan Terraform di komputer Anda
Untuk informasi lebih lanjut tentang cara menggunakan Terraform di komputer Anda, lihat Install and configure Terraform.
Buat pasangan AccessKey untuk Pengguna RAM. Akun Alibaba Cloud memiliki semua izin atas resource. Jika pasangan AccessKey Akun Alibaba Cloud Anda bocor, resource Anda akan terpapar risiko tinggi. Kami menyarankan agar Anda menggunakan pasangan AccessKey Pengguna RAM. Untuk informasi selengkapnya, lihat Create an AccessKey pair.
-
Buat variabel lingkungan untuk menyimpan kredensial identitas.
Anda dapat membuat dan melihat AccessKey Anda di halaman AccessKey Management.
Jika variabel lingkungan tidak dikonfigurasi, verifikasi identitas akan gagal saat Anda menjalankan template Terraform.
Gunakan layanan online (tidak perlu instalasi atau konfigurasi izin)
Jika Anda tidak ingin menginstal Terraform, Anda dapat menggunakan layanan online Cloud Shell.
Alibaba Cloud Cloud Shell adalah produk operasi dan pemeliharaan (O&M) gratis yang telah dipra-instal dengan komponen Terraform dan dikonfigurasi dengan kredensial identitas. Dengan demikian, Anda dapat langsung menjalankan perintah Terraform di Cloud Shell. Untuk informasi selengkapnya, lihat Create resources with Terraform.
Saat menggunakan Terraform di Cloud Shell, fitur destroy-nya dapat menyebabkan kehilangan data. Kami menyarankan agar Anda hanya menggunakan Cloud Shell untuk operasi sederhana dan cepat, seperti debugging. Untuk informasi lebih lanjut tentang batasan, lihat Limits.
Resources
Buat situs: alicloud_esa_site
Buat waiting room: alicloud_esa_waiting_room
Kueri instans ESA: alicloud_esa_sites
Procedure
Untuk mengonfigurasi waiting room, buat file bernama
main.tfdan tambahkan kode berikut:# 1. Kueri instans ESA Enterprise data "alicloud_esa_sites" "default" { plan_subscribe_type = "enterpriseplan" # Filter untuk Instans Enterprise } # 2. Buat situs resource "alicloud_esa_site" "resource_Site_example" { site_name = "{{DOMAIN}}" # Ganti dengan nama domain Anda, misalnya example.com instance_id = data.alicloud_esa_sites.default.sites.0.instance_id coverage = "overseas" # Akselerasi luar negeri access_type = "NS" # Mode akses NS } # 3. Buat waiting room resource "alicloud_esa_waiting_room" "default" { site_id = alicloud_esa_site.resource_Site_example.id waiting_room_name = "waitingroom_example" # Nama waiting room description = "example" status = "off" # Secara default dinonaktifkan. Harus diaktifkan secara manual. waiting_room_type = "default" # Konfigurasi kebijakan antrian queuing_method = "fifo" # Metode antrian FIFO session_duration = "5" # Durasi sesi (menit) total_active_users = "300" # Maksimum pengguna konkuren new_users_per_minute = "200" # Jumlah pengguna baru yang diterima per menit # Aturan pencocokan: Kondisi yang memicu antrian host_name_and_path { domain = "sub_domain.com" # Hostname yang dicocokkan path = "/example" # Path yang dicocokkan subdomain = "example_sub_domain.com." # Subdomain yang dicocokkan } # Konfigurasi tampilan halaman language = "zhcn" # Bahasa halaman antrian: Bahasa Tionghoa Sederhana custom_page_html = "" # Nilai kosong menggunakan halaman antrian default queuing_status_code = "200" # Kode status HTTP yang dikembalikan selama antrian cookie_name = "__aliwaitingroom_example" # Nama cookie # Opsi lanjutan queue_all_enable = "off" # Menentukan apakah semua pengguna harus masuk antrian disable_session_renewal_enable = "off" # Menentukan apakah perpanjangan sesi dinonaktifkan json_response_enable = "off" # Menentukan apakah respons JSON dikembalikan }CatatanGanti placeholder dalam kode dengan nilai aktual Anda. Ganti
DOMAINdengan nama domain Anda, dan perbarui domain serta path dalam blokhost_name_and_pathagar sesuai dengan kondisi antrian Anda. Untuk deskripsi parameter, lihat bagian Referensi.Buka direktori yang berisi file konfigurasi, lalu jalankan perintah berikut untuk menginisialisasi lingkungan Terraform.
terraform init
Jalankan perintah berikut untuk memvalidasi sintaksis dan konfigurasi file Terraform.
terraform validateJika output serupa dengan gambar berikut, validasi berhasil.

Jalankan perintah berikut untuk melihat pratinjau perubahan yang akan diterapkan.
terraform planJalankan perintah berikut untuk mengeksekusi skrip Terraform.
terraform applySaat diminta, masukkan
yesuntuk mengonfirmasi operasi.
Verifikasi hasil
Perintah terraform show
Setelah terraform apply selesai, jalankan perintah berikut di direktori kerja Anda untuk memeriksa status resource sebelum membersihkan resource tersebut:
terraform showVerifikasi melalui Konsol
Di Konsol ESA, pilih Site Management, lalu di kolom Website, klik situs target.
Di panel navigasi kiri, pilih .
Di halaman waiting room, lihat aturan waiting room baru dan detail konfigurasinya, seperti nama waiting room, status, metode antrian, durasi sesi, dan batas konkurensi.
Referensi
Tabel berikut menjelaskan parameter utama yang digunakan dalam contoh kode.
Parameter | Nilai contoh | Deskripsi |
|
| Memfilter instans ESA Enterprise untuk mendapatkan ID instans yang tersedia. |
|
| Nama domain untuk situs. Ganti placeholder dengan nama domain Anda, misalnya |
|
| Nama ruang tunggu yang ditampilkan di konsol. |
|
| Status waiting room. Nilai yang valid adalah |
|
| Metode antrian. |
|
| Durasi sesi pengguna dalam menit setelah diterima dari antrian. Selama waktu ini, pengguna dapat merefresh halaman tanpa perlu mengantri lagi. |
|
| Jumlah maksimum pengguna konkuren yang diizinkan, termasuk yang sedang mengantri dan yang sudah diterima. Saat batas ini tercapai, pengguna baru akan dimasukkan ke dalam antrian. |
|
| Jumlah maksimum pengguna baru yang diterima dari antrian ke origin per menit. Pengaturan ini berfungsi sebagai laju shaping traffic untuk mencegah origin Anda kelebihan beban. |
|
| Hostname yang dicocokkan. Permintaan ke hostname ini akan memicu waiting room. |
|
| Path yang dicocokkan. Permintaan ke path ini akan memicu waiting room. |
|
| Subdomain yang dicocokkan. Ini adalah parameter opsional untuk pencocokan yang lebih spesifik. |
|
| Bahasa halaman antrian. |
|
| HTML untuk halaman antrian kustom. Jika dibiarkan kosong, halaman default akan digunakan. |
|
| Kode status HTTP yang dikembalikan saat pengguna berada dalam antrian. Tetapkan ke |
|
| Nama cookie yang digunakan untuk mengidentifikasi posisi pengguna dalam antrian dan status sesinya. |
|
| Menentukan apakah semua pengguna harus mengantri. |
|
| Menentukan apakah perpanjangan sesi dinonaktifkan. |
|
| Menentukan apakah respons JSON diaktifkan. |
Untuk detail lebih lanjut tentang parameter, lihat alicloud_esa_waiting_room.
Ketersediaan
Fitur waiting room tersedia pada paket Premium dan Enterprise. Beberapa fitur memerlukan Waiting Room Pro, yang tersedia untuk paket Enterprise. Untuk mengaktifkannya, hubungi kami.
Fitur | Premium | Enterprise |
Fitur waiting room dasar | ||
Jumlah waiting room | 1 | 1 secara default. Hingga 10 dengan Waiting Room Pro. |
Beberapa hostname dan path | 1 secara default. Hingga 50 dengan Waiting Room Pro. | |
Template kustom | Tersedia dengan Waiting Room Pro. | |
Nonaktifkan perpanjangan sesi | Tersedia dengan Waiting Room Pro. | |
Respons ramah JSON | Tersedia dengan Waiting Room Pro. | |
Kode status antrian kustom | ||
Metode antrian | Hanya FIFO yang didukung. | FIFO didukung secara default. Semua metode antrian tersedia dengan Waiting Room Pro. |
Aturan waiting room | Hingga 5 aturan dengan Waiting Room Pro. | |
Event waiting room | Hingga 5 event dengan Waiting Room Pro. | |
Pelewatan crawler SEO |