Após hospedar uma aplicação no Serverless App Engine (SAE), você pode criar uma rota para distribuir requisições a outros serviços ou aplicações. Este tópico descreve como criar e gerenciar uma rota para uma aplicação com base em uma instância do Application Load Balancer (ALB).
Antes de começar
-
SLB
-
SAE
SAEVPCCreate an SAE namespace, e certifique-se de que a instância do ALB e o namespace estejam na mesma região e associados à mesma Virtual Private Cloud (VPC).
e certifique-se de que a aplicação para a qual você deseja criar uma rota e a aplicação que recebe as requisições no backend pertençam ao mesmo namespace.
Informações gerais
O Server Load Balancer (SLB) é um service que encaminha tráfego de rede entre grupos de servidores backend para aumentar o throughput das suas aplicações. Ele ajuda a evitar interrupções de service causadas por pontos únicos de falha (SPOFs), melhorando a disponibilidade das aplicações. O ALB faz parte da família SLB e é destinado a protocolos como HTTP, HTTPS e Quick UDP Internet Connections (QUIC) na camada de aplicação. O ALB é altamente elástico e consegue processar grandes volumes de tráfego na camada de aplicação. O ALB oferece suporte a roteamento complexo e está integrado a outros serviços cloud-nativos. O ALB foi projetado como uma solução de Ingress gateway cloud-nativa recomendada pela Alibaba Cloud. Para mais informações, consulte SLB product family
Casos de uso
Encaminhamento de tráfego por meio de caminhos diferentes para um nome de domínio utilizado por uma ou mais aplicações.
Encaminhamento de tráfego para nomes de domínio distintos que são resolvidos para o mesmo endereço IP e utilizados por uma ou mais aplicações.
Após configurar uma rota, você pode acessar serviços ou aplicações backend específicos utilizando uma URL no formato <Domain name>:<Port number/Path>.
Criar uma rota
Na página SAE Gateway Routing, selecione uma região e um namespace na barra de navegação superior e clique em Create Gateway Route.
-
Na página Create Route exibida, configure os parâmetros conforme descrito na tabela a seguir e clique em Save.
Parâmetro
Descrição
Route Name
O nome da rota que você deseja criar.
Network Type
O tipo de rede do gateway que será utilizado para encaminhar as requisições.
Internet: Você será cobrado pelo volume de tráfego encaminhado por um gateway de Internet.
Private Network: Não há cobrança pelo tráfego encaminhado por um gateway privado, pois o tráfego trafega apenas dentro da VPC do gateway.
Gateway Type
Selecione ALB.
ALB Instance
Selecione uma instância do ALB na lista suspensa ALB Instance. Você também pode clicar em Create ALB Instance para criar uma. Para mais informações, consulte Create and manage ALB instances. Além disso, o SAE permite adquirir instâncias do ALB em seu nome. As seguintes opções de compra estão disponíveis:
Create a standard edition ALB instance (pay-as-you-go)
Create a WAF-enhanced ALB instance (pay-as-you-go)
Ao optar por criar uma instância, o sistema cria automaticamente uma instância com pagamento conforme o uso do tipo de rede especificado. Para detalhes de faturamento, consulte ALB billing overview.
NotaSe você não encontrar uma instância do ALB na região, isso pode ocorrer porque o ALB está em uma VPC diferente daquela vinculada ao namespace atual. Nesse caso, acesse o console do ALB e crie uma instância na mesma região e VPC do namespace.
Frontend Protocol Type
O protocolo utilizado para encaminhar as requisições.
HTTP: adequado para aplicações que precisam identificar dados de diferentes origens, como aplicações móveis e jogos.
HTTPS: indicado para aplicações que exigem transmissão de dados criptografada.
Access Port
O número da porta personalizada. Valores válidos: 0 a 65535.
Advanced Settings
Expanda esta seção para definir os seguintes parâmetros:
Connection Request Timeout: defina o período de tempo limite para requisições aos servidores backend. Valores válidos: 1 a 180. Unidade: segundos. Se um servidor backend não responder dentro do período especificado, o código de erro HTTP 504 será retornado.
Idle Connection Timeout Period: defina a duração de uma conexão quando nenhuma requisição é realizada. Valores válidos: 1 a 60. Unidade: segundos. Se nenhuma nova requisição for recebida dentro do período de tempo limite especificado, o ALB fecha temporariamente a conexão atual. Uma nova conexão será estabelecida quando a próxima requisição chegar.
Add HTTP Header Fields: selecione um dos seguintes campos de cabeçalho HTTP para obter informações específicas.
Add X-Forwarded-For to retrieve client IP address: no formato
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, ….O
X-Forwarded-Foré ativado por padrão nos listeners do ALB.Para mais informações sobre como ativar a preservação de endereços IP do cliente no ALB, consulte Obtain client originating IP addresses on backend servers through an ALB.
Add CLB-ID to retrieve CLB instance IDs: no formato
SLB-ID.Add X-Forwarded-Proto to retrieve the listener protocol of the CLB instance: no formato
X-Forwarded-Proto: <originatingProtocol>.Add X-Forwarded-Port to retrieve the listener port of the CLB instance: no formato
X-Forwarded-Port: <port>.Add X-Forwarded-Client-srcport to retrieve the port used by a client to connect to the CLB instance: no formato
X-Forwarded-Client-srcport: <port>.
Data compression: quando ativado, o ALB comprime respostas elegíveis com Gzip ou Brotli para reduzir o uso de largura de banda.
Condições de compressão: uma resposta é comprimida se o cabeçalho
Content-Lengthexceder 1024 bytes e o cabeçalhoAccept-Encodingda requisição do cliente incluir um algoritmo de compressão suportado.Prioridade de algoritmo: se o cliente suportar os algoritmos de compressão Brotli e Gzip, o ALB prioriza o algoritmo Brotli, que é mais eficiente.
Tipos de
Content-Typesuportados:O Brotli suporta a compressão de todos os tipos de conteúdo.
O Gzip suporta os seguintes tipos:
text/xml,text/plain,text/css,application/javascript,application/x-javascript,application/rss+xml,application/atom+xml,application/xmleapplication/json.
Custom Forwarding Policy
Configure uma regra de encaminhamento conforme necessário para direcionar requisições do frontend a um service backend. Os seguintes parâmetros são obrigatórios:
Domain Name: o nome de domínio para o qual você deseja encaminhar as requisições. Se este parâmetro ficar vazio, a regra se aplica a todos os nomes de domínio. A resolução do nome de domínio deve ser configurada previamente para acessar a aplicação pelo domínio. Para mais informações, consulte Configure a CNAME record for an ALB instance.
Access Port: a porta de acesso definida anteriormente é utilizada por padrão e não pode ser alterada aqui.
Path: o caminho de acesso. Este parâmetro não pode ficar vazio.
Backend Application: a aplicação que recebe as requisições. Ela deve estar no mesmo namespace da aplicação que encaminha as requisições.
Container Port: a porta do contêiner utilizada para acessar a aplicação backend.
Rewrite Policy: ao encaminhar uma requisição do frontend para uma aplicação backend, você pode reescrever o caminho da requisição original. Por exemplo, para reescrever os caminhos de requisição do frontend /AAA/a e /AAA/b como /a e /b na aplicação backend, defina Path como /AAA/(.*) e defina path como /${1} na seção Rewrite Policy.
NotaAs portas dos listeners de uma mesma instância do ALB devem ser exclusivas.
Também é possível clicar em + Add Rule para adicionar regras de encaminhamento personalizadas sob o mesmo nome de domínio.
Você também pode clicar em + Add Domain Name para adicionar regras de encaminhamento personalizadas para outros nomes de domínio.
Default Forwarding Rule
ALB Instance: a instância do ALB selecionada anteriormente é utilizada por padrão e não pode ser alterada aqui.
Access Port: a porta de acesso definida anteriormente é utilizada por padrão e não pode ser alterada aqui.
Backend Application: a aplicação que recebe as requisições. Ela deve estar no mesmo namespace da aplicação que encaminha as requisições.
Container Port: a porta do contêiner utilizada para acessar a aplicação backend.
NotaRecomendamos configurar a default forwarding policy para todas as requisições que não correspondam à política de encaminhamento personalizada. Se a política de encaminhamento padrão não for configurada, um erro de acesso será reportado.
-
Verifique os resultados
Método 1: faça login no console do SLB. Na página ALB Instances, verifique se o listener foi configurado.
Método 2: utilize uma URL no formato
<Domain name>:<Port number/Path>para acessar o service ou a aplicação correspondente e verifique se as requisições são encaminhadas de acordo com a política de encaminhamento configurada.
Gerencie uma rota
Após a criação de uma rota, você pode visualize as forwarding policies e os events da rota, modify a rota ou delete a rota na página Gateway Routing.