Use o Gateway Load Balancer (GWLB) para configurar, dimensionar e gerenciar appliances virtuais de rede (NVAs) de terceiros, como firewalls e sistemas de detecção de intrusão. Este tópico descreve como configurar rapidamente uma instância GWLB e um endpoint GWLB correspondente para inspecionar o tráfego IPv4.
Cenário de exemplo
Para aumentar a segurança e a confiabilidade, uma empresa encaminha o tráfego IPv4 de entrada da internet para appliances virtuais de rede (NVAs) para inspeção de segurança antes que ele chegue aos servidores de aplicação. A empresa pode usar o GWLB para gerenciar as NVAs e garantir que todo o tráfego passe por uma inspeção rigorosa antes da distribuição aos servidores de aplicação. Este tópico utiliza um exemplo no qual uma empresa usa uma conta Alibaba Cloud para criar uma VPC de negócios e uma VPC de segurança na região China (Ulanqab).
-
A VPC de negócios hospeda o sistema de aplicação e contém um gateway IPv4 para rotear o tráfego destinado à internet para as NVAs.
Na VPC de negócios, crie um vSwitch de servidor de aplicação e um vSwitch de endpoint GWLB. No vSwitch de servidor de aplicação, crie uma instância ECS para atuar como servidor de aplicação e implante os serviços de aplicação nessa instância. Crie um endpoint GWLB no vSwitch de endpoint GWLB.
-
A VPC de segurança hospeda as NVAs.
Na VPC de segurança, crie uma instância GWLB e adicione as NVAs ao grupo de servidores de backend. Crie também um serviço de endpoint na VPC de segurança e adicione a instância GWLB como recurso de serviço.
Após a conexão entre o endpoint GWLB e o serviço de endpoint, o tráfego da internet pode ser roteado para as NVAs para inspeção.
|
Fluxo de tráfego de entrada (setas pretas) |
Fluxo de tráfego de saída (setas azuis) |
|
|
Limitações
Pelo menos uma NVA deve estar em execução.
O grupo de segurança dos servidores de backend deve permitir tráfego UDP na porta 6081.
Ao criar um serviço de endpoint, selecione uma região e uma zona de disponibilidade que suportem tanto PrivateLink quanto instâncias GWLB. Para mais informações sobre as regiões compatíveis com PrivateLink e instâncias GWLB, consulte Regiões e zonas de disponibilidade que suportam PrivateLink e Regiões e zonas de disponibilidade que suportam GWLB.
As zonas de disponibilidade do endpoint GWLB devem ser um subconjunto das zonas de disponibilidade do serviço de endpoint.
Pré-requisitos
Você criou uma VPC de negócios e uma VPC de segurança. Na zona de disponibilidade B da VPC de negócios, você criou um vSwitch de servidor de aplicação e um vSwitch de endpoint GWLB. Na zona de disponibilidade B da VPC de segurança, você criou um vSwitch GWLB. Para mais informações, consulte Criar uma VPC e um vSwitch.
Você criou, ativou e associou um gateway IPv4 à VPC de negócios. Para mais informações, consulte Criar e gerenciar um gateway IPv4.
Você criou tabelas de rotas para o gateway IPv4, o vSwitch de servidor de aplicação e o vSwitch de endpoint GWLB. Para mais informações, consulte Criar e gerenciar uma tabela de rotas.
-
Você criou uma instância ECS para o servidor de aplicação na VPC de negócios e implantou os serviços de aplicação na instância. Se a instância ECS precisar se comunicar com a internet, atribua um endereço IP público a ela. Na zona de disponibilidade B da VPC de segurança, você criou as instâncias ECS ECS01 e ECS02 e implantou imagens NVA em cada instância. Certifique-se de que suas instâncias ECS01 e ECS02 suportem jumbo frames. O encapsulamento Geneve adiciona 68 bytes ao pacote original, o que pode fazer com que o tamanho do pacote exceda 1.500 bytes. Para mais informações, consulte Unidade máxima de transmissão (MTU).
Para obter informações sobre tipos de instância que suportam jumbo frames, consulte Famílias de instâncias que suportam jumbo frames.
Para mais informações sobre como criar uma instância ECS, consulte Criar uma instância usando o assistente.
Para mais informações sobre como implantar uma imagem NVA, consulte Criar uma imagem personalizada a partir de uma instância.
Você criou grupos de segurança para a instância ECS do servidor de aplicação, ECS01 e ECS02. Configure as regras do grupo de segurança conforme seus requisitos de negócios e segurança. Para mais informações, consulte Criar um grupo de segurança.
Procedimento
Etapa 1: Criar uma instância GWLB
Uma instância é uma entidade de serviço de balanceamento de carga. Primeiro, crie uma instância GWLB.
Faça login no console do Gateway Load Balancer.
Na barra de navegação superior, selecione a região onde deseja criar a instância GWLB.
Na página Instances, clique em Create GWLB.
-
Na página de compra do Gateway Load Balancer, configure os seguintes parâmetros.
Esta seção descreve apenas os parâmetros relevantes. Use os valores padrão para os demais parâmetros. Para mais informações sobre os parâmetros, consulte Criar e gerenciar instâncias GWLB.
Parâmetro
Descrição
Instance name
Insira um nome para a instância.
VPC
Selecione a VPC de segurança à qual a instância pertence.
Region and zone
Selecione a região à qual a instância pertence. Neste exemplo, China (Ulanqab) está selecionada.
Zone
Selecione pelo menos uma zona de disponibilidade. Neste exemplo, Ulanqab Zone B e o vSwitch do GWLB nesta zona de disponibilidade estão selecionados.
IP version
Selecione a versão IP da instância. Neste exemplo, IPv4 está selecionado.
Service-Linked Role
Ao criar uma instância GWLB pela primeira vez, clique em Create Service-Linked Role para criar uma Service-Linked Role chamada AliyunServiceRoleForGwlb.
NotaEste parâmetro aparece apenas quando você cria uma instância GWLB pela primeira vez.
Clique em Buy Now e siga as instruções na tela para concluir o pagamento.
Retorne à página Instances e selecione a região para visualizar a nova instância.
Etapa 2: Criar um grupo de servidores de backend
Crie um grupo de servidores e adicione servidores de backend para aceitar solicitações de clientes encaminhadas pelo GWLB.
No painel de navegação à esquerda, escolha .
Na página Server Group, clique em Create Server Group.
-
Na caixa de diálogo Create Server Group, configure os parâmetros do grupo de servidores e clique em Create.
Esta seção descreve apenas os parâmetros relevantes. Para mais informações, consulte 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
Na lista suspensa VPC, selecione a VPC de segurança onde as instâncias ECS estão implantadas.
NotaCertifique-se de que a VPC selecionada seja a mesma VPC escolhida ao criar a instância GWLB.
Scheduling Algorithm
Selecione um algoritmo de agendamento. Neste exemplo, 5-tuple Hashing está selecionado.
Health Check Method
Selecione um método de verificação de integridade ou desative as verificações. Neste exemplo, TCP está selecionado.
Health Check Port
Insira a porta de verificação de integridade. Neste exemplo, a porta 80 é usada.
Na caixa de diálogo The server group is created., clique em Add Backend Server.
Na aba Backend Servers, clique em Add Backend Server.
-
No painel Add Backend Server, selecione Server.
Neste exemplo, o tipo de servidor está definido como ECS/ENI.
-
Selecione as instâncias ECS01 e ECS02 criadas e clique em OK.
NotaNeste exemplo, o tipo de servidor está definido como ECS/ENI.
Certifique-se de ter implantado imagens NVA nos servidores de backend e de que eles possam processar tráfego Geneve.
Etapa 3: Configurar um listener
Configure um listener para a instância e associe-o ao grupo de servidores de backend para encaminhar o tráfego de todas as portas para os servidores de backend via protocolo Geneve.
No painel de navegação à esquerda, escolha e clique no ID da instância.
Clique na aba Listeners e depois em Create IP Listener.
Na página de configuração Create IP Listener, selecione um Server Group Type e escolha o grupo de servidores criado.
A lista de servidores adicionados aparece na página. Clique em OK.
Etapa 4: Configurar um serviço de endpoint
Um provedor de serviços precisa usar um serviço de endpoint para permitir que o GWLB forneça serviços externamente.
Faça login no console do PrivateLink.
Na página Endpoint Service, clique em Create Endpoint Service.
-
Na página Create Endpoint Service, configure o serviço de endpoint com as seguintes informações e clique em OK.
Apenas as configurações relevantes para este tópico estão listadas aqui.
Parâmetro
Descrição
Region
Neste exemplo, China (Ulanqab) está selecionada.
Service Resource Type
Tipo de recurso de serviço para o serviço de endpoint. Neste exemplo, GWLB está selecionado.
Select Service Resource
Selecione a zona de disponibilidade do recurso de serviço e o recurso de serviço dentro dessa zona.
Neste exemplo, a zona de disponibilidade está definida como Ulanqab Zone B. O recurso de serviço para a Zona B é a instância GWLB criada na Etapa 1.
IP Version
Neste exemplo, IPv4 está selecionado.
Automatically Accept Endpoint Connections
Indique se deseja aceitar automaticamente solicitações de conexão de endpoints. Neste exemplo, Yes está selecionado.
NotaSe você ativar esse recurso, o serviço de endpoint aceitará automaticamente as solicitações de conexão após a criação de um endpoint.
Service Payer
Neste exemplo, Service Consumer está selecionado.
Etapa 5: Configurar um endpoint GWLB
Como consumidor do serviço, crie um endpoint GWLB para se conectar ao serviço de endpoint.
Faça login no console do PrivateLink.
Na página Endpoints, clique na aba Interface Endpoint e depois em Create Endpoint.
-
Na página Create Endpoint, configure o endpoint com as seguintes informações e clique em OK.
Apenas as configurações altamente relevantes para este tópico estão listadas aqui.
Parâmetro
Descrição
Region
Neste exemplo, China (Ulanqab) está selecionada.
Endpoint Name
Insira um nome personalizado para o endpoint.
Endpoint Type
Selecione o tipo do endpoint. Neste exemplo, <!--@uicontrol {"id":"59e6220817sh1","data-isbold":"true","data-format-type":"icu","data-params-value="gwlb"}-->GWLB Endpoint está selecionado.
GWLB Endpoint
Neste exemplo, primeiro clique em Endpoint Service e selecione o serviço de endpoint criado na Etapa 4.
Select Service
Selecione a VPC à qual o endpoint pertence. Neste exemplo, o ID da VPC de negócios está selecionado.
VPC
Selecione a zona de disponibilidade correspondente ao serviço de endpoint e escolha um vSwitch dentro dessa zona. O sistema cria automaticamente uma interface de rede elástica (ENI) de endpoint no vSwitch.
Neste exemplo, a zona de disponibilidade está definida como Ulanqab Zone B e o ID do vSwitch de endpoint GWLB na Zona B está selecionado.
Zones and vSwitches
Neste exemplo, <!--@uicontrol {"id":"46a4a960329uc","data-isbold":"true","data-format-type":"icu","data-params-value="IPv4"}-->IPv4 está selecionado.
NotaVerifique se o status de conexão do endpoint seja Connected.
Etapa 6: Configurar rotas
Como consumidor do serviço, configure rotas para direcionar o tráfego para o endpoint GWLB.
Faça login no console da VPC.
No painel de navegação à esquerda, clique em IP Version.
Na barra de navegação superior, selecione a região onde as tabelas de rotas estão localizadas.
-
Na página IPv4, clique no ID da tabela de rotas de destino.
NotaAs tabelas de rotas de destino incluem a tabela de rotas do gateway IPv4, a tabela de rotas do vSwitch de servidor de aplicação e a tabela de rotas do vSwitch de endpoint GWLB. Configure-as uma por uma.
-
Na página de detalhes da tabela de rotas, clique na aba Route Entry List, clique em <!--@uicontrol {"id":"dcd14e2cf83j8","data-isbold":"true","data-format-type":"icu","data-params-value="System"}-->System Route e visualize as entradas de rota do sistema.
O sistema adiciona automaticamente a seguinte rota do sistema a uma tabela de rotas personalizada:
Uma entrada de rota com um bloco CIDR de destino correspondente ao bloco CIDR de um vSwitch na VPC à qual a tabela de rotas pertence. Esta rota serve para comunicação entre recursos em nuvem dentro do vSwitch.
-
Para modificar uma entrada de rota do sistema na tabela de rotas do gateway IPv4, localize a entrada de rota do sistema de destino na aba . Na coluna Route Tables, clique em System Route. Na caixa de diálogo Route Entry List, configure os seguintes parâmetros e clique em System Route. A entrada de rota aparecerá então como uma entrada de rota personalizada.
Parâmetro
Descrição
Actions
Bloco CIDR de destino para encaminhamento de tráfego. Não é possível modificar o Modify. Neste exemplo, o bloco CIDR de destino é 192.168.2.0/24.
Modify Route Entry
Modifique o nome da entrada de rota.
OK
Selecione um tipo de próximo salto. Neste exemplo, Gateway Load Balancer endpoint está selecionado.
Destination CIDR Block
Selecione o Destination CIDR Block criado na Etapa 5.
-
Para adicionar uma entrada de rota personalizada ao configurar as tabelas de rotas para o vSwitch de servidor de aplicação e o vSwitch de endpoint GWLB, clique em <!--@uicontrol {"id":"7a734e4e248qs","data-isbold":"true","data-format-type":"icu","data-params-value="Custom"}-->Custom Route, insira o bloco CIDR de destino e o tipo de próximo salto e clique em Name.
Ao configurar a tabela de rotas para o vSwitch de servidor de aplicação, crie uma entrada de rota personalizada com o bloco CIDR de destino definido como 0.0.0.0/0 e o tipo de próximo salto definido como Gateway Load Balancer endpoint.
Ao configurar a tabela de rotas para o vSwitch de endpoint GWLB, crie uma entrada de rota personalizada com o bloco CIDR de destino definido como 0.0.0.0/0 e o tipo de próximo salto definido como IPv4 Gateway.
-
Configuração da tabela de rotas para o gateway IPv4
A tabela de rotas do gateway IPv4 deve ter uma entrada de rota que direcione o tráfego destinado ao servidor de aplicação para o endpoint GWLB. A tabela a seguir mostra um exemplo de configuração de tabela de rotas para o gateway IPv4.
Bloco CIDR de destino
Tipo de próximo salto
Tipo de entrada de rota
192.168.5.0/24
Local
System
192.168.2.0/24
Gateway Load Balancer endpoint
Custom
-
Configuração da tabela de rotas para o vSwitch de servidor de aplicação
A tabela de rotas do vSwitch de servidor de aplicação deve ter uma entrada de rota que direcione todo o tráfego do servidor de aplicação para o endpoint GWLB. A tabela a seguir mostra um exemplo de configuração de tabela de rotas para o vSwitch de servidor de aplicação.
Bloco CIDR de destino
Tipo de próximo salto
Tipo de entrada de rota
192.168.2.0/24
Local
System
192.168.5.0/24
Local
System
0.0.0.0/0
Gateway Load Balancer endpoint
Custom
-
Configuração da tabela de rotas para o vSwitch de endpoint GWLB
A tabela de rotas do vSwitch de endpoint GWLB deve rotear o tráfego retornado da inspeção para seu destino final. Para tráfego proveniente da internet, as rotas locais garantem que o tráfego chegue ao servidor de aplicação. Para tráfego proveniente do servidor de aplicação, adicione uma entrada de rota que direcione todo o tráfego para o gateway IPv4. A tabela a seguir mostra um exemplo de configuração de tabela de rotas para o vSwitch de endpoint GWLB.
Bloco CIDR de destino
Tipo de próximo salto
Tipo de entrada de rota
192.168.2.0/24
Local
System
192.168.5.0/24
Local
System
0.0.0.0/0
IPv4 gateway
Custom
Etapa 7: Verificar a configuração
Testar conectividade
Faça login na instância ECS do servidor de aplicação e execute o seguinte comando para testar a conectividade com a internet:
ping www.aliyun.com
Um fluxo contínuo de respostas indica que o teste de conectividade foi bem-sucedido.
O código a seguir fornece um exemplo de saída:
[xxx@xxx ~]# ping www.aliyun.com
PING www.aliyun.com.w.cdngslb.com (180.213.xxx.xxx) 56(84) bytes of data.
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=1 ttl=53 time=15.4 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=2 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=3 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=4 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=5 ttl=53 time=13.7 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=6 ttl=53 time=13.5 ms
Testar inspeção de segurança
Faça login na ECS01 ou ECS02 e execute o seguinte comando para capturar todos os pacotes na porta 6081:
tcpdump -i any port 6081
Se a saída do comando mostrar dados de solicitação e resposta da instância ECS do servidor de aplicação, isso confirma que o GWLB roteou com sucesso o tráfego para a NVA para inspeção de segurança.
O código a seguir fornece um exemplo de saída:
[root@xxx ~]# tcpdump -i any port 6081
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
15:15:49.578469 IP 10.0.10.16.57480 > xxx.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123.ssh > wan.adventz.com.43200: Flags [S.], seq 980244545, ack 540151794, win 29200, options [mss 1460], length 0
15:15:49.578482 IP xxx.57480 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123.ssh > wan.adventz.com.43200: Flags [S.], seq 980244545, ack 540151794, win 29200, options [mss 1460], length 0
15:15:49.610110 IP 10.0.10.16.55139 > xxx.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123 > 180.213.xxx.xxx: ICMP echo request, id 16612, seq 17, length 64
15:15:49.610116 IP xxx.55139 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123 > 180.213.xxx.xxx: ICMP echo request, id 16612, seq 17, length 64
15:15:49.625531 IP 10.0.10.16.55139 > iz0jl8dnd7ratzjksyin3z.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 180.213.xxx.xxx > 192.168.2.123: ICMP echo reply, id 16612, seq 17, length 64
15:15:49.625535 IP xxx.55139 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 180.213.xxx > 192.168.2.123: ICMP echo reply, id 16612, seq 17, length 64
15:15:49.797614 IP 10.0.10.16.60600 > iz0jl8dnd7ratzjksyin3z.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP ptr.default.58593 > 192.168.2.123.tproxy: Flags [S], seq 1189139317, win 65535, length 0
15:15:49.797625 IP xxx.60600 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP ptr.default.58593 > 192.168.2.123.tproxy: Flags [S], seq 1189139317, win 65535, length 0
Referências
-
Visão geral:
-
Operações no console: