O Network Load Balancer (NLB) da Alibaba Cloud oferece suporte a TCP, UDP e SSL sobre TCP, fornecendo recursos de balanceamento de carga na camada 4. Crie uma instância NLB com um grupo de servidores, um listener e um registro DNS para distribuir as requisições dos clientes entre os servidores back-end IPv4.
Pré-requisitos
-
Uma VPC (VPC1) criada na região China (Shanghai) com um vSwitch na Zona E (VSW1) e outro na Zona G (VSW2). Criar uma VPC e um vSwitch.
Reserve pelo menos oito endereços IP em cada vSwitch para garantir o dimensionamento adequado da instância NLB.
-
Duas instâncias do Elastic Compute Service (ECS) implantadas: ECS01 no VSW1 e ECS02 no VSW2.
-
Os comandos a seguir mostram como implantar aplicações no ECS01 e no ECS02:
Um nome de domínio registrado com número ICP. Registrar um nome de domínio na Alibaba Cloud. Visão geral.
Exemplo de configurações da VPC1:
Exemplo de configurações do ECS:
Etapa 1: Criar uma instância NLB
Faça login no console do NLB.
Na barra de navegação superior, selecione a região onde a instância NLB está implantada.
Na página Instances, clique em Create NLB.
-
Na página Network Load Balancer (Pay-As-You-Go), configure os parâmetros. Clique em Buy Now.
Apenas os parâmetros principais estão listados. Utilize os padrões para os demais parâmetros. Para mais informações, consulte Criar e gerenciar instâncias NLB.
Parâmetro
Descrição
Region
Selecione a região para a instância NLB.
Network Type
Escolha um tipo de rede. O sistema atribui endereços IP públicos ou privados com base no tipo selecionado. Neste exemplo, Internet-facing está selecionado.
VPC
Selecione a VPC para a instância NLB.
Zone
Selecione pelo menos duas zonas. Neste exemplo, Shanghai Zone E e Shanghai Zone G foram selecionadas, juntamente com um vSwitch em cada zona.
IP Version
Escolha uma versão de IP. Neste exemplo, IPv4 foi selecionado.
Instance Name
Insira um nome para a instância NLB.
Resource Group
Selecione um grupo de recursos para a instância NLB.
Service-linked Role
Ao criar sua primeira instância NLB, clique em Create Service-linked Role para criar a função AliyunServiceRoleForNlb. Essa função utiliza a política AliyunServiceRolePolicyForNlb para conceder ao NLB acesso a outros serviços de nuvem. Para mais informações, consulte Políticas de sistema para NLB.
Etapa 2: Criar um grupo de servidores
No painel de navegação à esquerda, escolha NLB > Server Groups.
Na página Server Groups, clique em Create Server Group.
-
Na caixa de diálogo Create Server Group, configure os parâmetros e clique em Create. A tabela a seguir descreve os parâmetros.
Apenas os parâmetros principais estão listados. Utilize os padrões para os demais parâmetros. Criar e gerenciar um grupo de servidores.
Parâmetro
Descrição
Server Group Type
Selecione um tipo de grupo de servidores. Neste exemplo, Server Type está selecionado.
Server Group Name
Insira um nome para o grupo de servidores.
VPC
Selecione uma VPC. Apenas servidores nesta VPC podem ser adicionados ao grupo de servidores.
Backend Server Protocol
Escolha um protocolo de back-end. Valores válidos: TCP, UDP, SSL sobre TCP. Neste exemplo, TCP foi selecionado.
Scheduling Algorithm
Selecione um algoritmo de agendamento. Neste exemplo, Weighted Round-robin está selecionado.
Health Check
As verificações de integridade estão ativadas por padrão. Neste exemplo, a configuração padrão é utilizada.
Clique em no ID do grupo de servidores para acessar a aba Backend Servers.
Clique em Add Backend Server . No painel Add Backend Server, selecione ECS01 e ECS02 e clique em Next.
Na etapa Ports/Weights, especifique a porta 80, utilize o peso padrão 100 e clique em OK.
Etapa 3: Configurar um listener
No painel de navegação à esquerda, escolha .
Na página Instances, localize a instância NLB que deseja gerenciar e clique em Create Listener.
-
Na página NLB Configuration Wizard, configure os parâmetros e clique em Next.
Apenas os parâmetros principais estão listados. Utilize os padrões para os demais parâmetros. Para mais informações, consulte Adicionar um listener TCP.
Parâmetro
Descrição
Select Listener Protocol
Selecione um protocolo de listener. Neste exemplo, TCP foi selecionado.
Listener Port
Especifique a porta do listener para receber e encaminhar requisições. A porta 80 é usada neste exemplo.
Listener Name
Insira um nome para o listener.
Advanced Settings
Os padrões são utilizados neste exemplo. Clique em Modify para personalizar.
Na etapa Server Group, selecione um Server Type e escolha um grupo de servidores na lista suspensa ao lado de Server Type, visualize os servidores back-end e clique em Next.
Na etapa Confirm, confirme as configurações e clique em Submit.
Clique em OK para retornar à aba Listener. Após o status do listener na coluna Health Check Status mudar para Healthy, o ECS01 e o ECS02 poderão encaminhar requisições da instância NLB.
Etapa 4: Criar um registro DNS
Utilize registros CNAME para mapear seu nome de domínio personalizado para o nome de domínio da instância NLB.
No painel de navegação à esquerda, escolha .
Na página Instances, copie o nome de domínio da instância NLB que deseja gerenciar.
-
Execute as etapas a seguir para criar um registro CNAME:
NotaSe o seu nome de domínio não foi registrado através do Alibaba Cloud Domains, adicione-o primeiro ao Alibaba Cloud DNS. Para mais informações, consulte Gerenciar nomes de domínio. Pule esta etapa para domínios registrados através do Alibaba Cloud Domains.
Faça login no console do Alibaba Cloud DNS.
Na página Authoritative DNS Resolution, localize seu nome de domínio e clique em DNS Settings na coluna Actions.
Na aba DNS Settings da página de detalhes do nome de domínio, clique em Add DNS Record.
-
No painel Add Record, configure os parâmetros e clique em OK. A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Record Type
Selecione CNAME na lista suspensa.
Hostname
Prefixo do nome de domínio. @ é usado neste exemplo.
NotaSe o nome de domínio for um domínio raiz, insira @.
DNS Query Source
Selecione Default.
Record Value
Insira o CNAME, que corresponde ao nome de domínio da instância NLB.
TTL Period
Valor TTL para cache DNS. O valor padrão é utilizado neste exemplo.
Etapa 5: Verificar os resultados
-
Teste a disponibilidade da instância NLB.
Este exemplo utiliza um cliente Linux com acesso à Internet. No CentOS, instale o telnet se necessário:
yum install -y telnet.-
Execute
telnet Domain name Port. Uma resposta contendo Connected to nlb-... confirma que a instância NLB está encaminhando requisições.Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.Abra
http://domain nameem um navegador. Uma resposta conforme mostrado abaixo confirma que a instância NLB está encaminhando requisições.
-
(Opcional) Simule falhas.
Interrompa a aplicação no ECS01 executando
systemctl stop nginx.service.-
Execute
telnet Domain name Portnovamente. Uma resposta contendo Connected to nlb-... confirma a conectividade.Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.Abra
http://domain nameem um navegador. Uma resposta conforme mostrado abaixo confirma que a instância NLB está encaminhando requisições.
Reinicie a aplicação no ECS01 e interrompa-a no ECS02. Execute
systemctl start nginx.serviceno ECS01 esystemctl stop nginx.serviceno ECS02.-
Execute
telnet Domain name Portnovamente. Uma resposta contendo Connected to nlb-... confirma a conectividade.Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.Abra
http://domain nameem um navegador. Uma resposta conforme mostrado abaixo confirma que a instância NLB está encaminhando requisições.
Esses testes confirmam que a falha de um único servidor não afeta a disponibilidade da instância NLB.
Liberar recursos
-
Libere as instâncias ECS e os grupos de segurança.
-
Exclua o ECS01 e seu grupo de segurança.
-
Acesse o console do ECS - Página de Instâncias. Na barra de navegação superior, selecione a região onde reside a instância ECS01 e clique em no ícone
no lado direito do ECS01. Na caixa de diálogo exibida, selecione Release para liberar a instância imediatamente. -
Acesse o console do ECS - Página de Grupos de Segurança. Na barra de navegação superior, selecione a região onde reside o ECS01, selecione o grupo de segurança do ECS01 e clique em Delete para excluir o grupo de segurança.
-
-
Repita as etapas anteriores para excluir o ECS02 e seu grupo de segurança.
-
-
Exclua o registro DNS.
Para mais informações, consulte Excluir um registro.
-
Libere os recursos do NLB.
Acesse o console do NLB. Na barra de navegação superior, selecione a região onde reside a instância NLB. Localize a instância NLB, clique em no ícone
na coluna Actions e clique em Release. Na mensagem exibida, clique em Confirm.Acesse o console do NLB. Na barra de navegação superior, selecione a região onde reside a instância NLB. Na página Server Group, localize o grupo de servidores, clique em no ícone
na coluna Actions e clique em Delete. Na mensagem exibida, clique em OK.
-
Libere os recursos da VPC.
Acesse o console da VPC. Na barra de navegação superior, selecione a região onde reside a VPC.
Clique em Delete na coluna Actions e selecione Forcefully Delete para excluir a VPC e os vSwitches.
Referências
Para mais informações sobre os cenários de uso e componentes do NLB, consulte O que é o NLB?
Para mais informações sobre os recursos do NLB, consulte Funções e recursos.
Para mais informações sobre as cotas do NLB e como aumentá-las, consulte Limites de desempenho e uso.
Para mais informações sobre as regiões onde o NLB está disponível, consulte Regiões com suporte ao NLB.
Para mais informações sobre o faturamento do NLB, consulte Faturamento do NLB.