Todos os produtos
Search
Central de documentação

Edge Security Acceleration:Configure a waiting room with Terraform

Última atualização: Jun 29, 2026

Use o Terraform para configurar rapidamente uma sala de espera. Esse mecanismo de fila protege sua origem contra picos de tráfego.

Instalar o Terraform e configurar permissões

Instale e configure o Terraform no seu computador

Para obter mais informações sobre como usar o Terraform no seu computador, consulte Instalar e configurar o Terraform.

  • Crie um par de AccessKey para um usuário RAM. Uma conta Alibaba Cloud possui todas as permissões sobre os recursos. Se o par de AccessKey da sua conta Alibaba Cloud for comprometido, seus recursos ficarão expostos a grandes riscos. Recomendamos o uso do par de AccessKey de um usuário RAM. Para mais detalhes, consulte Criar um AccessKey.

  • Crie variáveis de ambiente para armazenar as credenciais de identidade.

    Crie e visualize seu AccessKey na página AccessKey Management.

    Se as variáveis de ambiente não estiverem configuradas, a verificação de identidade falhará ao executar o modelo do Terraform.

Usar um serviço online (sem necessidade de instalação ou configuração de permissões)

Caso prefira não instalar o Terraform, utilize o serviço online Cloud Shell.

O Alibaba Cloud Cloud Shell é um produto gratuito de operações e manutenção (O&M). Ele já vem com componentes do Terraform pré-instalados e credenciais de identidade configuradas. Assim, você pode executar comandos do Terraform diretamente no Cloud Shell. Para mais informações, consulte Criar recursos com o Terraform.

Importante

Ao usar o Terraform no Cloud Shell, o recurso de destruição pode causar perda de dados. Recomendamos utilizar o Cloud Shell apenas para operações simples e rápidas, como depuração. Para saber mais sobre as limitações, consulte Limites.

Recursos

Procedimento

  1. Para configurar a sala de espera, crie um arquivo chamado main.tf e adicione o seguinte código:

    # 1. Query for Enterprise ESA instances
    data "alicloud_esa_sites" "default" {
      plan_subscribe_type = "enterpriseplan"  # Filter for Enterprise instances
    }
    
    # 2. Create a site
    resource "alicloud_esa_site" "resource_Site_example" {
      site_name   = "{{DOMAIN}}"  # Replace with your domain name, such as example.com
      instance_id = data.alicloud_esa_sites.default.sites.0.instance_id
      coverage    = "overseas"  # Overseas acceleration
      access_type = "NS"         # NS access mode
    }
    
    # 3. Create a waiting room
    resource "alicloud_esa_waiting_room" "default" {
      site_id                        = alicloud_esa_site.resource_Site_example.id
      waiting_room_name              = "waitingroom_example"  # Waiting room name
      description                    = "example"
      status                         = "off"  # Disabled by default. Must be enabled manually.
      waiting_room_type              = "default"
    
      # Queuing policy configuration
      queuing_method                 = "fifo"  # FIFO queuing method
      session_duration               = "5"    # Session duration (minutes)
      total_active_users             = "300"  # Maximum concurrent users
      new_users_per_minute           = "200"  # Number of new users admitted per minute
    
      # Matching rule: Conditions that trigger queuing
      host_name_and_path {
        domain    = "sub_domain.com"         # Hostname to match
        path      = "/example"                # Path to match
        subdomain = "example_sub_domain.com."  # Subdomain to match
      }
    
      # Page display configuration
      language                       = "zhcn"  # Queuing page language: Simplified Chinese
      custom_page_html               = ""      # An empty value uses the default queuing page
      queuing_status_code            = "200"   # HTTP status code returned during queuing
      cookie_name                    = "__aliwaitingroom_example"  # Cookie name
    
      # Advanced options
      queue_all_enable               = "off"  # Specifies whether to queue all users
      disable_session_renewal_enable = "off"  # Specifies whether to disable session renewal
      json_response_enable           = "off"  # Specifies whether to return a JSON response
    }
    Nota

    Substitua os espaços reservados no código pelos seus valores reais. Troque DOMAIN pelo seu nome de domínio e atualize o domínio e o caminho no bloco host_name_and_path para corresponder às suas condições de fila. Consulte a seção Referências para ver a descrição dos parâmetros.

  2. Acesse o diretório que contém seus arquivos de configuração e execute o comando a seguir para inicializar o ambiente do Terraform.

    terraform init
  3. Execute o comando abaixo para validar a sintaxe e a configuração do Terraform.

    terraform validate
  4. Execute o seguinte comando para visualizar o plano de execução.

    terraform plan
  5. Aplique a configuração executando este comando:

    terraform apply
  6. Quando solicitado, insira yes para confirmar e aplicar as alterações.

Verifique os resultados

Comando show do Terraform

Após a conclusão do terraform apply, execute o comando a seguir no seu diretório de trabalho para verificar o status do recurso antes de limpar os recursos:

terraform show

Verificação no console

  1. No console do ESA, selecione Site Management e, na coluna Website, clique em o site desejado.

  2. No painel de navegação à esquerda, escolha Traffic > Waiting Room.

  3. Na página da sala de espera, visualize a nova regra de sala de espera e seus detalhes de configuração, como nome da sala de espera, status, método de fila, duração da sessão e limites de concorrência.

Referências

A tabela a seguir descreve os principais parâmetros usados no exemplo de código.

Parâmetro

Valor de exemplo

Descrição

plan_subscribe_type

"enterpriseplan"

Filtra instâncias Enterprise do ESA para obter um ID de instância disponível.

site_name

DOMAIN

Nome de domínio do site. Substitua o espaço reservado pelo seu nome de domínio, como example.com.

waiting_room_name

"waitingroom_example"

Nome da sala de espera exibido no console.

status

"off"

Status da sala de espera. Os valores válidos são off (desativado) e on (ativado). O padrão é desativado; ative manualmente para entrar em vigor.

queuing_method

"fifo"

Método de enfileiramento. fifo indica FIFO (First-In, First-Out), onde os usuários são admitidos na ordem de chegada.

session_duration

"5"

Duração da sessão do usuário em minutos após ser admitido pela fila. Nesse período, o usuário pode atualizar a página sem precisar entrar na fila novamente.

total_active_users

"300"

Número máximo de usuários simultâneos permitidos, incluindo os que estão na fila e os já admitidos. Ao atingir esse limite, novos usuários entram na fila.

new_users_per_minute

"200"

Quantidade máxima de novos usuários admitidos da fila para a origem por minuto. Essa configuração atua como taxa de modelagem de tráfego para evitar sobrecarga na origem.

host_name_and_path.domain

"sub_domain.com"

Nome de host correspondente. Requisições para este host acionam a sala de espera.

host_name_and_path.path

"/example"

Caminho correspondente. Requisições para este caminho acionam a sala de espera.

host_name_and_path.subdomain

"example_sub_domain.com."

Subdomínio correspondente. Parâmetro opcional para correspondência mais específica.

language

"zhcn"

Idioma da página de fila. zhcn especifica chinês simplificado e en especifica inglês.

custom_page_html

""

HTML para uma página de fila personalizada. Se deixado vazio, a página padrão será usada.

queuing_status_code

"200"

Código de status HTTP retornado quando um usuário está na fila. Defina como 200 para garantir uma experiência de fila front-end fluida.

cookie_name

"__aliwaitingroom_example"

Nome do cookie usado para identificar a posição do usuário na fila e o status da sessão.

queue_all_enable

"off"

Define se todos os usuários devem entrar na fila. off significa que a fila é acionada apenas quando o tráfego excede o limiar. on obriga todos os usuários a entrarem na fila.

disable_session_renewal_enable

"off"

Controla a renovação de sessão. off permite que os usuários renovem a sessão atualizando a página. on pode fazer com que o usuário volte para a fila ao atualizar a página.

json_response_enable

"off"

Habilita resposta em JSON. off retorna uma página HTML. on retorna informações de fila no formato JSON, adequado para cenários de API.

Para mais detalhes sobre os parâmetros, consulte alicloud_esa_waiting_room.