Após implantar uma aplicação no Serverless App Engine (SAE), vincule uma instância do Network Load Balancer (NLB) à aplicação para fornecer um endpoint de acesso fixo. Este tópico descreve como vincular uma instância NLB a uma aplicação SAE.
Contexto
Por padrão, as aplicações SAE não são acessíveis pela rede pública. Embora seja possível acessar uma aplicação dentro de uma Virtual Private Cloud (VPC) pelo endereço IP privado da instância, esse método não é confiável, pois o endereço IP pode mudar durante atualizações ou reinicializações da aplicação. Para resolver esses problemas, vincule uma instância NLB pública ou privada à sua aplicação. Ao vincular uma instância NLB, você utiliza um nome de domínio fixo para acessar a aplicação e distribui o tráfego com eficiência entre diferentes zonas e instâncias SAE.
Antes de vincular uma instância NLB a uma aplicação, entenda como funciona o Network Load Balancer (NLB) e seus limites de desempenho e uso.
-
O uso do serviço NLB no SAE gera custos adicionais para a instância NLB.
ImportanteSe você excluir uma instância NLB no console SAE sem também excluí-la no console do Server Load Balancer (SLB), ela continuará gerando custos. Para obter instruções sobre como excluir a instância NLB no console SLB, consulte Excluir uma instância NLB.
Visão geral
As aplicações SAE aceitam vinculação a instâncias NLB públicas ou privadas. Associe instâncias NLB de diferentes tipos de rede à sua aplicação SAE conforme suas necessidades de negócios.
Vincular uma instância NLB privada: O objetivo principal é fornecer um endereço de acesso fixo (nome DNS) para a aplicação SAE e distribuir o tráfego para as instâncias da aplicação por meio de um algoritmo de balanceamento de carga, como round-robin. Os casos de uso comuns incluem comunicação interna de microsserviços, acesso a banco de dados e acesso à intranet corporativa.
-
Vincular uma instância NLB pública: Por padrão, o SAE não permite acesso direto pela rede pública. Ao vincular uma instância NLB pública à sua aplicação, você fornece um endpoint público fixo para gerenciar o tráfego proveniente da rede pública. O fluxo de trabalho de acesso público é mostrado na figura a seguir.
Etapa 1: Adicionar uma instância NLB
Na página Applications, selecione uma região e um namespace na barra de navegação superior e clique em Application ID da aplicação desejada para abrir a página de detalhes da aplicação.
Na página Basic Information, localize a seção application access settings. Na aba NLB-based Access, clique em Add NLB Access.
-
No painel Add NLB Access, configure os parâmetros conforme descrito abaixo e clique em OK.
NotaO SAE permite criar uma instância NLB ou vincular uma existente. Escolha a opção adequada às suas necessidades.
Criar uma nova instância NLB: O SAE adquire automaticamente uma instância NLB para você. Visualize os detalhes da instância NLB no console do Server Load Balancer (SLB).
Vincular uma instância NLB existente: É necessário criar uma instância NLB antecipadamente na página Instances do console SLB. Caso deseje criar uma instância NLB privada, recomenda-se usar a mesma Virtual Private Cloud (VPC) tanto para a instância NLB quanto para a aplicação SAE. Se estiverem em VPCs diferentes, configure a rede para permitir a comunicação entre elas. Por exemplo, utilize a Cloud Enterprise Network (CEN) da Alibaba Cloud ou outros produtos de conexão de rede para habilitar a comunicação entre VPCs.
Criar uma nova instância NLB
Em instance source, selecione Create Instance.
-
Em Network Type, selecione Public ou Private conforme sua necessidade.
Ao selecionar Public, o sistema cria uma instância NLB pública e aloca um Elastic IP Address e um VIP para cada zona.
Ao selecionar Private, o sistema cria uma instância NLB privada e aloca um VIP para cada zona.
-
Selecione as zonas onde seus vSwitches estão localizados com base nos requisitos do seu negócio. Para garantir alta disponibilidade, selecione pelo menos duas zonas.
Não é possível selecionar uma Virtual Private Cloud (VPC). A VPC da aplicação de destino é usada por padrão.
-
Os tipos de protocolo suportados são TCP, UDP e TCPSSL.
Tipo de protocolo
Parâmetro
Exemplo
TCP
-
Listener port: Porta que recebe solicitações e as encaminha para os servidores backend.
-
Container port: Porta na qual o processo da aplicação escuta.
-
Listener port: 80
-
Container port: 8080 (porta padrão para serviços web)
UDP
TCPSSL
-
Listener port: Porta que recebe solicitações e as encaminha para os servidores backend.
-
Container port: Porta na qual o processo da aplicação escuta.
-
Select SSL certificate: Certificado de protocolo SSL. Selecione um certificado SSL enviado na lista suspensa.
NotaPara acessar um nome de domínio personalizado via HTTPS, o domínio deve ter um registro ICP na Alibaba Cloud. Para mais informações, consulte Processo de registro ICP.
-
Listener port: 80
-
Container port: 8080 (porta padrão para serviços web)
-
Select SSL certificate: Selecione um certificado SSL adquirido na lista suspensa. Se ainda não tiver adquirido um certificado SSL, consulte Adquirir um certificado.
-
Vincular uma instância NLB existente
Em instance source, selecione Use Existing.
-
Na lista suspensa NLB Instance, selecione a instância NLB criada.
Caso não tenha criado uma instância NLB, clique em Create NLB Instance . Em seguida, crie uma instância NLB na página Instances do console SLB.
-
Os tipos de protocolo suportados são TCP, UDP e TCPSSL.
Tipo de protocolo
Parâmetro
Exemplo
TCP
-
Listener port: Porta que recebe solicitações e as encaminha para os servidores backend.
-
Container port: Porta na qual o processo da aplicação escuta.
-
Listener port: 80
-
Container port: 8080 (porta padrão para serviços web)
UDP
TCPSSL
-
Listener port: Porta que recebe solicitações e as encaminha para os servidores backend.
-
Container port: Porta na qual o processo da aplicação escuta.
-
Select SSL certificate: Certificado de protocolo SSL. Selecione um certificado SSL enviado na lista suspensa.
NotaPara acessar um nome de domínio personalizado via HTTPS, o domínio deve ter um registro ICP na Alibaba Cloud. Para mais informações, consulte Processo de registro ICP.
-
Listener port: 80
-
Container port: 8080 (porta padrão para serviços web)
-
Select SSL certificate: Selecione um certificado SSL adquirido na lista suspensa. Se ainda não tiver adquirido um certificado SSL, consulte Adquirir um certificado.
-
-
Após a criação da instância NLB, visualize seu status na aba NLB-based Access, na seção application access settings.
Para adicionar várias instâncias NLB, clique em Add NLB Access e siga as etapas acima para adicionar mais instâncias.
ImportanteConfigurar regras de listener para a mesma instância NLB tanto no console SAE quanto no console do Server Load Balancer (SLB) pode causar conflitos, pois as configurações em um console podem sobrescrever as do outro. Para evitar conflitos de configuração, recomenda-se configurar as regras de listener para instâncias NLB apenas no console SAE.
Execute as seguintes operações na instância NLB:
Adicionar listener: Clique em Add Listener. Na caixa de diálogo Add Listener, selecione um protocol type e configure os parâmetros.
Modificar porta do contêiner: Na coluna Actions da instância NLB, clique em Edit. No painel Edit NLB Access, modifique a container port.
-
Excluir um listener ou instância NLB: Na coluna Actions da instância NLB, clique em Delete. Na caixa de diálogo Confirm Deletion, clique em OK para excluir a regra de listener correspondente ou a instância NLB.
Se houver várias regras de listener adicionadas para a mesma instância NLB, a operação de exclusão remove apenas a regra de listener correspondente. Ao excluir a última regra de listener, a instância NLB é excluída automaticamente por não possuir mais regras associadas.
-
Visualizar a instância NLB: Clique no nome da instância NLB para acessar a página Instance Details da instância NLB no console SLB. Consulte os detalhes da instância NLB, como o Elastic IP Address e o VIP alocados para cada zona, além do DNS name gerado automaticamente para a instância NLB.
Utilize o DNS name fornecido pela instância NLB ou o Elastic IP Address disponibilizado para a zona a fim de testar o acesso.
Etapa 2: Configurar a resolução de domínio
O nome DNS fornecido pela instância NLB serve para testes de acesso. No entanto, em ambientes de produção, recomenda-se usar um nome de domínio personalizado e adicionar um registro CNAME para mapeá-lo ao nome DNS da instância NLB.
Na seção application access settings, clique no nome da instância NLB criada para abrir sua página de detalhes no console SLB.
-
Na página Instance Details da instância NLB no console SLB, copie o DNS name.
O nome DNS fornecido pela instância NLB é usado como valor do registro ao configurar a resolução de nome de domínio.
-
Faça login no console DNS da Alibaba Cloud e adicione um registro CNAME.
NotaSe o seu nome de domínio não estiver registrado na Alibaba Cloud, adicione-o ao console DNS da Alibaba Cloud antes de configurar a resolução de nome de domínio. Caso o domínio já esteja registrado na Alibaba Cloud, prossiga com as etapas a seguir.
Na página Authoritative Domains, localize o domínio desejado e clique em Configure na coluna Actions.
Na página Configure, clique em Add Record.
-
No painel Add Record, configure os parâmetros abaixo para concluir a configuração do CNAME e clique em OK.
Parâmetro
Exemplo
Descrição
Type
CNAME
Selecione CNAME na lista suspensa.
Um registro CNAME mapeia seu nome de domínio personalizado para o nome DNS fornecido pela instância NLB.
Host
www
Insira o prefixo do subdomínio que está criando.
Consulte a descrição no console para obter uma explicação detalhada sobre o registro de host.
Resolution Request Source
Default
Selecione Default.
O DNS da Alibaba Cloud identifica a região e a operadora do endereço IP de origem de uma solicitação DNS (geralmente o endereço IP do Local DNS de uma operadora). Ao adicionar um registro, é possível retornar valores diferentes para solicitações provenientes de regiões ou redes de operadoras distintas.
Value
nlb-****.com
Insira o nome DNS fornecido pela instância NLB.
O valor do registro é o nome de domínio para o qual o registro CNAME aponta.
TTL
10 minutes
Utilize o valor padrão fornecido pelo console.
TTL (Time to Live) é a duração durante a qual um registro DNS fica armazenado em cache em um servidor DNS.
Etapa 3: Testar o acesso
Insira seu nome de domínio personalizado em um navegador para testar o acesso. Por exemplo, http://your_domain_name.
Hello, World!
Limpar recursos (opcional)
Excluir a instância NLB
Na página Basic Information da aplicação desejada no console SAE, clique no nome da instância NLB na seção application access settings para abrir a página de detalhes da instância no console SLB.
Na página de detalhes da instância NLB, escolha no canto superior direito. Na caixa de diálogo Release Instance, clique em Confirm.
Retorne à página Basic Information da aplicação desejada no console SAE. Na seção application access settings, clique em Delete na coluna Actions da instância NLB. Na caixa de diálogo Confirm Deletion, clique em OK para excluir a instância NLB.
Caso tenha adicionado várias regras de listener para a mesma instância NLB, exclua todas as regras de listener antes de excluir a instância NLB no console SAE.
A exclusão da instância NLB apenas no console SAE faz com que ela continue gerando custos.
Excluir o registro de resolução de domínio
No console Alibaba Cloud DNS, exclua o registro de resolução de nome de domínio adicionado.