Um listener verifica solicitações de conexão. Crie listeners em uma instância do Application Load Balancer (ALB) para encaminhar requisições de clientes conforme suas necessidades de negócio. Posteriormente, modifique, inicie, pare ou exclua esses listeners.
Selecionar um protocolo de listener
Antes de criar um listener, selecione o protocolo adequado às suas necessidades. O Application Load Balancer (ALB) oferece suporte a três protocolos de listener da Camada 7: HTTP, HTTPS e QUIC. A tabela a seguir descreve os casos de uso e os requisitos de configuração de cada protocolo.
|
Protocolo |
Casos de uso |
Certificado SSL obrigatório |
Protocolos de backend suportados |
Recursos |
|
HTTP |
Aplicações que exigem inspeção de conteúdo, como aplicações web e jogos casuais para dispositivos móveis. |
Não |
HTTP, HTTPS |
Suporta o protocolo WebSocket por padrão. |
|
HTTPS |
Aplicações que requerem transmissão de dados criptografados. Estabelece sessões criptografadas SSL/TLS entre a instância do ALB e os clientes. |
Sim (é necessário um certificado de servidor; um certificado CA é obrigatório para autenticação mútua). |
HTTP, HTTPS, gRPC Para utilizar o protocolo de backend gRPC, ative o HTTP/2 no listener. |
Oferece suporte a HTTP/2, autenticação mútua (com certificado CA), políticas de segurança TLS e upgrades QUIC. Suporta o protocolo WebSocket Secure (WSS) por padrão. |
|
QUIC |
Cenários com sinais de rede fracos ou troca frequente entre Wi-Fi e redes móveis. Mitiga eficazmente travamentos de rede e vídeo, melhora a eficiência de acesso a recursos de áudio e vídeo e garante a segurança na transmissão de dados. |
Sim (é necessário um certificado de servidor) |
HTTP |
Opera sobre UDP, estabelece conexões mais rapidamente e suporta migração de conexão (as conexões permanecem ativas durante trocas de rede). Pode ser usado isoladamente ou em conjunto com um listener HTTPS. |
A Extensible Edition do ALB difere das outras edições nos seguintes aspectos relacionados aos protocolos de listener: não há suporte para listeners QUIC, nem para o protocolo de backend gRPC, tampouco para autenticação mútua (com certificado CA) e upgrades QUIC.
Pré-requisitos
Você já criou uma instância do ALB e um grupo de servidores.
Para criar um listener HTTPS ou QUIC, compre ou carregue um certificado de servidor no Certificate Management Service. Para mais informações, consulte Gerenciar certificados.
Criar um listener
Existem duas formas de criar um listener:
Create Listener: Um assistente passo a passo que permite configurações avançadas personalizadas.
Quick Create Listener: Um método simplificado onde basta configurar o protocolo do listener, a porta do listener e o grupo de servidores. Para listeners HTTPS e QUIC, configure também um certificado de servidor. No caso de listeners HTTPS, selecione adicionalmente uma política de segurança TLS.
Console
Etapa 1: Configure Listener
Acesse a página Instances no console do ALB, clique em no id da instância desejada e, em seguida, clique em Create Listener na aba Listener.
-
No assistente Configure Listener, defina as configurações abaixo e clique em Next.
-
Listener Protocol: Selecione HTTP, HTTPS ou QUIC.
A Extensible Edition do ALB não suporta listeners QUIC.
-
Listener Port: Os valores válidos variam de 1 a 65535. Geralmente, o HTTP utiliza a porta 80 e o HTTPS a porta 443.
Em uma mesma instância do ALB, listeners com o mesmo protocolo não podem compartilhar a mesma porta. Além disso, listeners HTTP e HTTPS não podem usar a mesma porta.
Listener Name: Insira um nome personalizado para o listener.
Tags: Adicione tags ao listener usando pares chave-valor.
Advanced Settings: Clique em Modify para expandir as opções.
-
Enable HTTP/2: Disponível apenas para listeners HTTPS.
A Extensible Edition do ALB ativa o HTTP/2 por padrão e não permite desativá-lo.
Idle Connection Timeout Period: Valores válidos de 1 a 600 segundos. O valor padrão é 15 segundos. Após esse período, o ALB encerra a conexão. Para solicitar um tempo limite máximo maior, acesse o Quota Center.
Connection Request Timeout: Valores válidos de 1 a 600 segundos. O valor padrão é 60 segundos. Se o tempo limite for excedido, o ALB retornará um erro HTTP 504. Para solicitar um tempo limite máximo maior, acesse o Quota Center.
-
Compression: Quando ativado, este recurso compacta o conteúdo da resposta se o seu
Content-Lengthexceder 1024 bytes. Há suporte para Brotli (todos os tipos) e Gzip (Nível 4). Caso o cliente suporte ambos, o Brotli terá prioridade.Tipos Gzip suportados:
text/xml,text/plain,text/css,application/javascript,application/x-javascript,application/rss+xml,application/atom+xml,application/xmleapplication/json. -
Retrieve Client IP: Se ativado, o ALB extrai o ip real do cliente do cabeçalho X-Forwarded-For. Isso exige a configuração de uma lista de ips confiáveis:
0.0.0.0/0: Obtém o endereço mais à esquerda do cabeçalho X-Forwarded-For.proxy1 IP;proxy2 IP;..: Recupera o primeiro valor da direita para a esquerda que não esteja na lista.
Com este recurso ativado, as regras de encaminhamento que utilizam correspondência por SourceIp e a ação QPS (Per Client IP) usarão o ip real do cliente.
Listeners QUIC não oferecem suporte a esta opção.
Este recurso está disponível apenas para instâncias Standard Edition e WAF-enabled Edition. Não há suporte nas edições Basic Edition ou Extensible Edition.
Add HTTP Header: Selecione os cabeçalhos HTTP a serem adicionados para recuperar informações como endereço ip do cliente, protocolo do listener e porta do listener. Para detalhes sobre cada cabeçalho, consulte Cabeçalhos HTTP.
-
QUIC Upgrade: Esta opção aplica-se ao uso combinado de um listener HTTPS com um listener QUIC. Na lista suspensa Associated QUIC Listeners, selecione um listener QUIC pré-existente. Ao ativar esta opção, o ALB anuncia o protocolo HTTP/3 aos clientes. Aqueles que suportam HTTP/3 usam o listener QUIC, enquanto os demais revertem automaticamente para HTTPS.
Esta opção é suportada apenas para listeners HTTPS e não está disponível na Extensible Edition do ALB.
-
Etapa 2: Configure SSL Certificate (para listeners HTTPS e QUIC)
|
Certificado |
Descrição |
Obrigatório para autenticação unidirecional |
Obrigatório para autenticação mútua |
|
Certificado de servidor |
Comprova a identidade do servidor e é validado pelo cliente para garantir sua confiabilidade. Para mais informações, consulte O que é um certificado SSL? |
Sim |
Sim |
|
Certificado CA |
O servidor usa o certificado CA para verificar a assinatura do certificado do cliente. Se a verificação falhar, a conexão será rejeitada. |
Não |
Sim |
Geralmente, um novo certificado leva de um a três minutos para entrar em vigor após a aplicação.
Listeners QUIC exigem apenas um certificado de servidor e não suportam autenticação mútua.
Se precisar suportar vários domínios ou usar múltiplos certificados de servidor, adicione certificados adicionais ao listener.
-
No assistente Configure SSL Certificate, selecione um Server Certificate.
Caso não haja certificados de servidor disponíveis para seleção, clique em Create SSL Certificate para acessar o Certificate Management Service, onde você pode comprar ou carregar um certificado de servidor.
-
Apenas para listeners HTTPS: Selecione uma TLS Security Policy.
O sistema fornece diversas políticas predefinidas. Para personalizar as versões do protocolo tls e os conjuntos de cifras, clique em Create TLS Security Policy e depois em Create Custom Policy. Para mais informações, consulte Políticas de segurança TLS.
A Extensible Edition do ALB suporta apenas a política de segurança tls padrão
tls_cipher_policy_1_0_to_1_3e não permite políticas de segurança tls personalizadas. -
Apenas para listeners HTTPS (Opcional): Ative a opção Enable Mutual Authentication, escolha uma source de certificado CA e selecione o certificado.
Defina CA Certificate Source como Alibaba Cloud e escolha um certificado CA na lista suspensa CA Certificate. Se não houver certificados CA disponíveis, clique em Purchase CA Certificate para criar um novo certificado CA.
Defina CA Certificate Source como Third-party e escolha um certificado CA na lista suspensa CA Certificate. Se não houver certificados CA disponíveis, clique em Upload Self-signed CA Certificate para carregar um certificado CA autoassinado utilizando o repositório de certificados.
A autenticação mútua está disponível apenas para instâncias Standard Edition e WAF-enabled Edition. Não há suporte nas edições Basic Edition ou Extensible Edition.
Etapa 3: Selecionar grupo de servidores
No assistente Select Server Group, escolha um grupo de servidores, revise as informações dos servidores de backend e clique em Next.
Etapa 4: Revisão da configuração
Na página Configuration Review, confirme as definições e clique em Submit.
Quick Create Listener
Acesse a página Instances no console do ALB, clique em no id da instância desejada e, em seguida, clique em Quick Create Listener na aba Listener.
-
Na caixa de diálogo Quick Create Listener, configure os parâmetros a seguir e clique em OK.
-
Listener Protocol: Selecione HTTP, HTTPS ou QUIC.
A Extensible Edition do ALB não suporta listeners QUIC.
Listener Port: Os valores válidos variam de 1 a 65535. Geralmente, o HTTP utiliza a porta 80 e o HTTPS a porta 443.
Server Certificate (para listeners HTTPS e QUIC): Selecione um certificado de servidor. Caso não haja certificados disponíveis, clique em Create SSL Certificate para acessar o Certificate Management Service, onde você pode comprar ou carregar um certificado de servidor.
-
TLS Security Policy (apenas para listeners HTTPS): Escolha uma política de segurança tls. Para personalizar as versões do protocolo tls e os conjuntos de cifras, clique em Create TLS Security Policy e depois em Create Custom Policy. Para mais informações, consulte Políticas de segurança TLS.
A Extensible Edition do ALB suporta apenas a política de segurança tls padrão
tls_cipher_policy_1_0_to_1_3e não permite políticas de segurança tls personalizadas. Server Group: Selecione um tipo de grupo de servidores de backend e os respectivos servidores.
-
API
Utilize a operação CreateListener para criar um listener.
Modificar um listener
Não é possível alterar o protocolo ou a porta do listener após sua criação. Para modificá-los, exclua o listener atual e crie um novo.
Console
Acesse a página Instances no console do ALB e clique em no id da instância desejada.
-
Clique em na aba Listener, localize o listener alvo e utilize um dos métodos abaixo para modificar suas informações básicas:
Clique em no id do listener ou em View Details na coluna Actions. Na aba Listener Details, clique em Modify Listener na seção Basic Information.
Na coluna Actions, escolha
> Modify Listener.
Na caixa de diálogo Modify Listener, altere o nome do listener ou as configurações avançadas e clique em Save.
API
Utilize a operação UpdateListenerAttribute para atualizar a configuração do listener.
Iniciar ou parar um listener
Ao iniciar ou parar um listener, ele entra brevemente no estado Configuring. Durante esse período, não é possível excluí-lo, editá-lo ou alterar seu grupo de servidores.
Parar um listener interrompe o tráfego. Proceda com cautela.
Console
Acesse a página Instances no console do ALB e clique em no id da instância desejada.
-
Clique em na aba Listener, localize o listener alvo e utilize um dos métodos abaixo para iniciá-lo ou pará-lo:
Na coluna Actions, escolha
> Enable ou Disable. Na caixa de diálogo exibida, clique em OK.Clique em no id do listener e, em seguida, clique em Enable ou Disable no canto superior direito da aba Listener Details.
API
Utilize a operação StartListener para iniciar um listener.
Utilize a operação StopListener para parar um listener.
Alterar o grupo de servidores
Console
Acesse a página Instances no console do ALB e clique em no id da instância desejada.
-
Clique em na aba Listener, localize o listener alvo e utilize um dos métodos abaixo para alterar o grupo de servidores:
Na coluna Actions, escolha
> Change Server Group (Default Forwarding Rule).Clique em no id do listener. Na seção Server Group (Default Forwarding Rule) da aba Listener Details, clique em Change Server Group (Default Forwarding Rule).
Na caixa de diálogo exibida, selecione o grupo de servidores desejado ou clique em Create Server Group na lista suspensa para criar um novo grupo de servidores e selecioná-lo. Em seguida, clique em Save.
API
Utilize a operação UpdateListenerAttribute para atualizar a configuração do listener, o que inclui a alteração do grupo de servidores.
Solucionar incompatibilidade entre protocolo de backend e service de backend
Se um listener do ALB retornar um erro 502 Bad Gateway, o protocolo de backend do grupo de servidores pode estar incompatível com o protocolo executado pelo service de backend. Por exemplo, se o protocolo de backend do grupo estiver definido como HTTPS, mas o service de backend executar HTTP, o ALB encaminhará as solicitações via HTTPS, a handshake SSL falhará e um erro 502 será retornado.
Para solucionar e corrigir esse problema, execute as etapas a seguir:
Acesse a página Instances no console do ALB e clique em no id da instância desejada. Na aba Listeners, localize o listener que está retornando o erro 502 e clique em View/Edit Forwarding Rules.
Na lista de regras de encaminhamento, visualize o grupo de servidores associado à regra de encaminhamento padrão e verifique se o protocolo de backend do grupo corresponde ao protocolo realmente executado pelo service de backend.
Caso haja incompatibilidade de protocolos, clique em Edit na regra de encaminhamento padrão, selecione um grupo de servidores que utilize o protocolo de backend correto na lista suspensa Server Group e clique em Save. Se não houver um grupo de servidores adequado disponível, crie um grupo de servidores que use o protocolo de backend correto primeiro e depois altere o grupo de servidores.
Ao criar um grupo de servidores, certifique-se de que o parâmetro Backend Protocol corresponda ao protocolo realmente executado pelo service de backend (HTTP ou HTTPS). Caso contrário, a incompatibilidade de protocolos causará erros 502 quando as solicitações forem encaminhadas ao backend.
Gerenciar certificados
Console
Acesse a página Instances no console do ALB e clique em no id da instância desejada. Na aba Listener, localize o listener HTTPS ou QUIC alvo e clique em Manage Certificates na coluna Actions.
Na página Certificates, substitua o certificado de servidor, adicione ou remova certificados adicionais, entre outras ações. Para operações específicas, consulte Gerenciar certificados.
API
Utilize a operação UpdateListenerAttribute para atualizar a configuração de certificados do listener.
Utilize a operação AssociateAdditionalCertificatesWithListener para adicionar certificados adicionais a um listener.
Utilize a operação DissociateAdditionalCertificatesFromListener para remover certificados adicionais de um listener.
Modificar política de segurança TLS (apenas listeners HTTPS)
Console
Na aba Listener Details, localize a seção SSL Certificate e clique em no ícone
à direita de TLS Security Policy.-
Na caixa de diálogo Modify TLS Security Policy exibida, selecione uma política de segurança tls e clique em Save.
O sistema fornece diversas políticas predefinidas. Para personalizar as versões do protocolo tls e os conjuntos de cifras, clique em Create TLS Security Policy e depois em Create Custom Policy. Para mais informações, consulte Políticas de segurança TLS.
A Extensible Edition do ALB suporta apenas a política de segurança tls padrão
tls_cipher_policy_1_0_to_1_3e não permite políticas de segurança tls personalizadas.
API
Chame UpdateListenerAttribute para atualizar a configuração do listener e utilize o parâmetro SecurityPolicyId para especificar a política de segurança tls.
Gerenciar rastreamento distribuído
O rastreamento distribuído é suportado apenas em instâncias ALB Standard Edition e WAF-enabled Edition. Não há suporte nas edições Basic Edition ou Extensible Edition. Para uma descrição detalhada e instruções sobre como ativar o rastreamento distribuído, consulte Analisar solicitações de ponta a ponta usando o rastreamento distribuído do ALB.
Ao ativar o rastreamento distribuído, serão geradas taxas referentes ao Managed Service for OpenTelemetry e ao Log Service.
Excluir um listener
Console
Acesse a página Instances no console do ALB e clique em no id da instância desejada. Na aba Listener, localize o listener alvo e escolha
> Delete na coluna Actions.Na caixa de diálogo exibida, clique em OK.
API
Utilize a operação DeleteListener para excluir um listener.
Faturamento
Os listeners não são cobrados separadamente. No entanto, o tráfego e as configurações de regras de encaminhamento afetam as cobranças de LCU. Para consultar as regras de faturamento das instâncias do ALB, veja Faturamento do ALB.
Cotas
|
Nome da cota |
Descrição |
Padrão |
Máximo |
Ajustável |
|
alb_quota_loadbalancer_listeners_num_basic_edition |
Número máximo de listeners que podem ser adicionados a uma instância Basic Edition do ALB |
50 |
80 |
|
|
alb_quota_loadbalancer_listeners_num_standard_edition |
Número máximo de listeners que podem ser adicionados a uma instância Standard Edition do ALB |
50 |
100 |
|
|
alb_quota_loadbalancer_listeners_num_standardwithwaf_edition |
Número máximo de listeners que podem ser adicionados a uma instância WAF-enabled Edition do ALB |
50 |
100 |
|
|
alb_quota_max_idle_timeout |
Tempo limite de ociosidade máximo configurável para um listener |
600 segundos |
3.600 segundos |
|
|
alb_quota_max_request_timeout |
Tempo limite de requisição máximo configurável para um listener |
600 segundos |
3.600 segundos |
Apenas instâncias do ALB atualizadas permitem aumentar as cotasalb_quota_max_request_timeoutealb_quota_max_idle_timeoutpara um máximo de 3600 segundos. Instâncias que não foram atualizadas suportam no máximo 900 segundos.