O Network Load Balancer (NLB) do Alibaba Cloud oferece suporte a TCP, UDP e SSL sobre TCP, fornecendo recursos de balanceamento de carga na Camada 4. Crie uma instância de NLB com um grupo de servidores, um listener e um registro DNS para distribuir as requisições de clientes entre os servidores backend IPv4.
Pré-requisitos
-
É necessário ter uma VPC (VPC1) criada na região China (Shanghai), contendo 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 que a instância de NLB escale adequadamente.
-
Duas instâncias do Elastic Compute Service (ECS) devem estar 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 deve estar registrado com um número ICP. Registrar um nome de domínio no Alibaba Cloud. Visão geral.
Exemplo de configurações da VPC1:
Exemplo de configurações do ECS:
Etapa 1: Criar uma instância de NLB
Acesse o console de NLB.
Na barra de navegação superior, selecione a região onde a instância de 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. Use os padrões para os demais parâmetros. Para mais informações, consulte Criar e gerenciar instâncias de NLB.
Parâmetro
Descrição
Region
Selecione a região para a instância de NLB.
Network Type
Selecione um tipo de rede. O sistema atribui endereços IP públicos ou privados com base no tipo selecionado. Internet-facing está selecionado neste exemplo.
VPC
Selecione a VPC para a instância de NLB.
Zone
Selecione pelo menos duas zonas. Neste exemplo, Shanghai Zone E e Shanghai Zone G estão selecionadas, com um vSwitch em cada zona.
IP Version
Selecione uma versão de IP. Neste exemplo, IPv4 está selecionado.
Instance Name
Insira um nome para a instância de NLB.
Resource Group
Selecione um grupo de recursos para a instância de NLB.
Service-linked Role
Ao criar uma instância de NLB pela primeira vez, clique em Create Service-linked Role para criar a AliyunServiceRoleForNlb. Essa função usa a política AliyunServiceRolePolicyForNlb para conceder acesso do NLB a outros cloud services. Para mais informações, consulte Políticas de sistema para o 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. Use 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 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
Selecione um protocolo de backend. Valores válidos: TCP, UDP, SSL sobre TCP. Neste exemplo, TCP está selecionado.
Scheduling Algorithm
Selecione um algoritmo de agendamento. Neste exemplo, Weighted Round-Robin está selecionado.
Health Check
Os health checks estão ativados por padrão. Neste exemplo, a configuração padrão é utilizada.
Clique 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, use 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, encontre a instância de NLB que você 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. Use 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 está 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 usados 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 backend 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 de NLB.
Etapa 4: Criar um registro DNS
Use registros CNAME para mapear seu nome de domínio personalizado para o nome de domínio da instância de NLB.
No painel de navegação à esquerda, escolha .
Na página Instances, copie o nome de domínio da instância de NLB que você deseja gerenciar.
-
Siga as etapas a seguir para criar um registro CNAME:
NotaSe o seu nome de domínio não estiver registrado pelo Alibaba Cloud Domains, adicione-o ao Alibaba Cloud DNS primeiro. Para mais informações, consulte Gerenciar nomes de domínio. Pule esta etapa para domínios registrados pelo Alibaba Cloud Domains.
Acesse o console do Alibaba Cloud DNS.
Na página Authoritative DNS Resolution, encontre 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 é o nome de domínio da instância de NLB.
TTL Period
Valor de TTL para cache de DNS. O padrão é usado neste exemplo.
Etapa 5: Verifique os resultados
-
Teste a disponibilidade da instância de NLB.
Este exemplo usa 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 de 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 de 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 de 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 de NLB está encaminhando requisições.
Esses testes confirmam que a falha de um único servidor não afeta a disponibilidade da instância de NLB.
Liberar recursos
-
Libere as instâncias de ECS e os grupos de segurança.
-
Exclua o ECS01 e seu grupo de segurança.
-
Acesse o console do ECS - página Instance. Na barra de navegação superior, selecione a região onde a instância ECS01 reside e clique no ícone
à direita do ECS01. Na caixa de diálogo exibida, selecione Release para liberar a instância imediatamente. -
Acesse o console do ECS - página Security Groups. Na barra de navegação superior, selecione a região onde o ECS01 reside, 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 de NLB. Na barra de navegação superior, selecione a região onde a instância de NLB reside. Encontre a instância de NLB, clique no ícone
na coluna Actions e clique em Release. Na mensagem exibida, clique em Confirm.Acesse o console de NLB. Na barra de navegação superior, selecione a região onde a instância de NLB reside. Na página Server Group, encontre o grupo de servidores, clique no ícone
na coluna Actions e clique em Delete. Na mensagem exibida, clique em OK.
-
Libere os recursos da VPC.
Acesse o console de VPC. Na barra de navegação superior, selecione a região onde a VPC reside.
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 aumentar cotas, consulte Limites de desempenho e uso.
Para mais informações sobre as regiões onde o NLB está disponível, consulte Regiões que suportam o NLB.
Para mais informações sobre o faturamento do NLB, consulte Faturamento do NLB.