Por padrão, aplicações implantadas no Serverless App Engine (SAE) não ficam acessíveis pela rede pública. Embora seja possível acessar a aplicação dentro de uma Virtual Private Cloud (VPC) pelo endereço IP privado de uma instância, esse endereço muda sempre que a aplicação é atualizada ou reiniciada. Para resolver esses problemas, vincule uma instância de Classic Load Balancer (CLB) pública ou privada à sua aplicação. Isso fornece um endereço IP fixo (público ou privado) para acesso e permite o balanceamento de carga entre as instâncias da aplicação.
Informações básicas
Procedimento
Na página SAE applications, selecione uma região e um namespace e clique em Application ID da aplicação desejada para abrir a página de detalhes.
-
Na página Basic Information, na aba Application Information, localize a seção Application Access Settings e configure um Public Endpoint ou um Private Endpoint conforme necessário:
Public Endpoint: vincule uma instância de CLB pública para permitir que clientes acessem a aplicação por um endereço IP público.
Private Endpoint: vincule uma instância de CLB privada para permitir que outras aplicações ou clientes dentro da VPC acessem a aplicação por um endereço IP privado.
NotaPara ative o acesso à aplicação tanto por endereços IP públicos quanto privados, use um dos métodos abaixo:
Opção 1: siga as instruções deste tópico para configurar tanto um Public Endpoint quanto um Private Endpoint.
Opção 2: siga as instruções deste tópico para configurar um Private Endpoint e, em seguida, vincule um Elastic IP Address (EIP) à instância de CLB privada.
Um banner no topo da página exibe o seguinte aviso: antes de usar o recurso de CLB do SAE, revise as restrições de configuração do CLB. A partir de 1º de abril de 2020, se você crie ou edite uma instância de CLB no SAE e depois modifique recursos restritos — como portas de listener, protocolos ou certificados SSL — no console do CLB, o SAE sobrescreverá forçosamente as configurações modificadas com aquelas salvas no próprio SAE. A página também inclui a opção small traffic ramp-up, disponível somente após a configuração do acesso via CLB.
Esta seção usa a configuração de um Public Endpoint como exemplo. Clique em Add Internet-facing CLB.
-
Vincular uma instância de CLB à aplicação: crie uma instância de CLB ou selecione uma instância de CLB existente.
Criar uma instância de CLB
Na caixa de diálogo Add Internet-facing CLB, selecione Create CLB Instance na lista suspensa CLB Instance.
Após concluir a configuração, o SAE adquire uma nova instância de CLB e a vincula à aplicação.
Na seção Protocol Configuration, selecione a aba do protocolo desejado (HTTP, HTTPS, TCP ou UDP) e defina a HTTP Port e a Container Port. Para adicionar mais mapeamentos de porta, clique em + Add Listener.
Selecionar um CLB existente
Na caixa de diálogo Add Internet-facing CLB, selecione uma instância de CLB existente na lista suspensa CLB Instance.
A instância de CLB não pode ser do tipo performance-shared, dedicada ao Container Service ou adquirida/dedicada a outros produtos. Essa restrição evita conflitos na configuração de listeners.
Para uma instância de CLB pública, certifique-se de que ela esteja na mesma região da aplicação SAE. Para uma instância de CLB privada, verifique se ela está na mesma VPC. Caso contrário, a instância de CLB não aparecerá na lista de seleção.
Após selecionar a instância de CLB, escolha um protocolo de rede na aba HTTP, HTTPS, TCP ou UDP e configure as portas correspondentes de listener e de contêiner. Clique em + Add Listener para adicionar várias regras de listener.
-
Configure pelo menos um listener conforme descrito na tabela abaixo. Para adicionar múltiplos listeners, clique em Add Listener. Para mais informações sobre os quatro tipos de listeners e seus casos de uso, consulte Listeners do CLB. Ao terminar, clique em OK.
Parâmetro
Descrição
Exemplo
HTTP
-
Http port: porta pública na instância de CLB usada para acessar a aplicação. Valores válidos: 1 a 65535.
-
Container port: porta na qual o processo da aplicação escuta.
-
Http port: 80
-
Container port: 8080 (porta padrão para serviços web)
HTTPS
-
Https port: porta pública na instância de CLB usada para acessar a aplicação. Valores válidos: 1 a 65535.
-
SSL certificate: certificado usado para criptografia SSL. Selecione um certificado enviado na lista suspensa.
-
Container port: porta na qual o processo da aplicação escuta.
NotaSe você usar um nome de domínio personalizado via HTTPS, ele deverá estar registrado no Alibaba Cloud. Para mais informações, consulte Processo de registro ICP.
-
Https port: 443
-
SSL certificate: selecione um certificado SSL. Se ainda não possuir um, consulte Criar um certificado antes de configurar um listener HTTPS.
-
Container port: 8080 (porta padrão para serviços web)
TCP
-
Clb port: porta pública na instância de CLB usada para acessar a aplicação. Valores válidos: 1 a 65535.
-
Container port: porta na qual o processo da aplicação escuta.
-
Clb port: 21
-
Container port: 8080 (porta padrão para serviços web)
UDP
-
Clb port: porta pública na instância de CLB usada para acessar a aplicação. Valores válidos: 1 a 65535.
-
Container port: porta na qual o processo da aplicação escuta.
-
Clb port: 49152
-
Container port: 8080 (porta padrão para serviços web)
Se a mensagem
No available instances for the application. Please scale out and retryfor exibida, significa que a aplicação foi reduzida para zero instâncias. Realize o dimensionamento manual antes de vincular uma instância de CLB.Os listeners criados no SAE são sincronizados automaticamente com o CLB. Visualize-os no console do Server Load Balancer . Gerencie essas configurações de listener exclusivamente no SAE, e não no console do CLB. Para mais informações, consulte Evitar conflitos de configuração entre SAE e CLB .
Evitar conflitos de configuração
-
-
Aguarde a vinculação da instância de CLB. Na seção Public Endpoint, visualize o endereço IP e a porta da aplicação.
Se a aplicação SAE tiver múltiplas instâncias para processar requisições de clientes, o CLB usa o algoritmo de agendamento padrão round-robin para distribuir o tráfego entre as instâncias. Para alterar o algoritmo de agendamento, consulte Scheduling algorithm em Adicionar um listener TCP .
Copie o endereço IP e a porta gerados, cole-os na barra de endereços do navegador e pressione Enter para verifique se a aplicação está acessível.
Ao acessar a aplicação, talvez seja necessário adicionar informações como um caminho de acesso à URL. Isso depende da lógica de negócio da aplicação. O formato completo da URL é
<protocol>://<IP address>:<port>/<path>, por exemplo,http://8.154.xx.xx:80/hello.Se nenhum endereço IP e porta forem exibidos, a vinculação do CLB falhou. Consulte os registros de alterações para diagnosticar e corrigir o problema. Para mais informações, veja Visualizar registros de alterações.
(Opcional) Para permitir o acesso de clientes por um nome de domínio personalizado, adicione um registro DNS no console de DNS para apontar seu domínio para o endereço IP público gerado pelo SAE.
Operações relacionadas
Excluir ou editar o acesso via CLB
Ao exclua o acesso via CLB público ou privado, ou ao exclua uma aplicação, o SAE libera automaticamente a instância de CLB adquirida.
Uma vez excluídos, a instância de CLB e seu endereço IP não podem ser recuperados. Prossiga com cautela.
Após a exclusão, verifique o console do Server Load Balancer para confirme que a instância de CLB foi liberada. Se ela ainda estiver gerando cobranças e não for mais necessária, libere manualmente a instância de CLB para evitar custos adicionais.
Na página Basic Information, na aba Application Information, localize o Public Endpoint ou Private Endpoint na seção Application Access Settings e clique em link Editar ou Excluir conforme necessário.
Na caixa de diálogo exibida, siga as instruções na tela e clique em OK.