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.
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
Criar um site: alicloud_esa_site
Criar uma sala de espera: alicloud_esa_waiting_room
Consultar instâncias do ESA: alicloud_esa_sites
Procedimento
-
Para configurar a sala de espera, crie um arquivo chamado
main.tfe 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 }NotaSubstitua 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_pathpara corresponder às suas condições de fila. Consulte a seção Referências para ver a descrição dos parâmetros. -
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 -
Execute o comando abaixo para validar a sintaxe e a configuração do Terraform.
terraform validate -
Execute o seguinte comando para visualizar o plano de execução.
terraform plan -
Aplique a configuração executando este comando:
terraform apply Quando solicitado, insira
yespara 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
No console do ESA, selecione Site Management e, na coluna Website, clique em o site desejado.
No painel de navegação à esquerda, escolha .
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 |
|
|
|
Filtra instâncias Enterprise do ESA para obter um ID de instância disponível. |
|
|
DOMAIN |
Nome de domínio do site. Substitua o espaço reservado pelo seu nome de domínio, como |
|
|
|
Nome da sala de espera exibido no console. |
|
|
|
Status da sala de espera. Os valores válidos são |
|
|
|
Método de enfileiramento. |
|
|
|
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. |
|
|
|
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. |
|
|
|
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. |
|
|
|
Nome de host correspondente. Requisições para este host acionam a sala de espera. |
|
|
|
Caminho correspondente. Requisições para este caminho acionam a sala de espera. |
|
|
|
Subdomínio correspondente. Parâmetro opcional para correspondência mais específica. |
|
|
|
Idioma da página de fila. |
|
|
|
HTML para uma página de fila personalizada. Se deixado vazio, a página padrão será usada. |
|
|
|
Código de status HTTP retornado quando um usuário está na fila. Defina como |
|
|
|
Nome do cookie usado para identificar a posição do usuário na fila e o status da sessão. |
|
|
|
Define se todos os usuários devem entrar na fila. |
|
|
|
Controla a renovação de sessão. |
|
|
|
Habilita resposta em JSON. |
Para mais detalhes sobre os parâmetros, consulte alicloud_esa_waiting_room.