Os listeners de roteamento personalizado são ideais para cenários em que você deseja encaminhar tráfego de clientes para servidores de backend específicos. Este tópico descreve o funcionamento desses listeners, seus limites e as diferenças entre eles e os listeners de roteamento inteligente. Também fornece exemplos de uso.
Funcionamento dos listeners de roteamento personalizado
Após a configuração de um listener de roteamento personalizado, o Global Accelerator (GA) gera uma tabela de mapeamento de portas com base no intervalo de portas do listener, no protocolo e intervalo de portas do grupo de endpoints e nos endereços IP do endpoint (vSwitch). Em seguida, o GA roteia o tráfego dos clientes para servidores de backend com endereços IP e portas específicos, conforme definido na tabela de mapeamento de portas.
O fluxo de trabalho a seguir descreve o funcionamento de um listener de roteamento personalizado:
|
Nº |
Descrição |
|
1 |
O GA gera uma tabela de mapeamento de portas com base no intervalo de portas do listener de roteamento personalizado, no intervalo de portas de destino do grupo de endpoints e nos endereços IP do vSwitch do endpoint. |
|
2 |
O cliente envia uma solicitação ao GA para consultar informações sobre portas disponíveis (portas de aceleração). |
|
3 |
O GA consulta a tabela de mapeamento de portas e seleciona um servidor de backend que permite tráfego, seguindo a lógica de negócios. |
|
4 |
O GA retorna informações sobre a porta de aceleração que mapeia a porta do servidor de backend selecionado. A porta acelerada é escolhida dentro do intervalo de portas do listener. |
|
5 |
O cliente utiliza a porta de aceleração atribuída e o endereço IP acelerado para acessar seu serviço. |
|
6 |
O listener de roteamento personalizado encaminha o tráfego do cliente para o servidor de backend correspondente, conforme a tabela de mapeamento de portas. |
Limites
Ao utilizar listeners de roteamento personalizado, observe os seguintes limites:
Limites nas áreas de aceleração
Endereços IP acelerados suportam apenas IPv4.
Limites no intervalo de portas do listener
Listeners de roteamento personalizado utilizam as portas de 1 a 65499. As portas 25, 250, 4789 e 4790 são reservadas pelo sistema e excluídas das tabelas de mapeamento de portas. Instâncias GA com pagamento conforme o uso também excluem a porta 6081.
-
O intervalo de portas do listener deve comportar as portas do grupo de endpoints e os endereços IP dos vSwitches. A seguinte fórmula deve ser satisfeita:
Número de portas de escuta (menos o número de portas reservadas pelo sistema) ≥ Número total de portas no grupo de endpoints × Número de endereços IP de todos os vSwitches no endpoint. Especifique um intervalo de portas amplo para o listener.Por exemplo, se você definir o intervalo de portas de destino dos grupos de endpoints como 81-85 e todos os vSwitches usados como endpoints fornecerem 16 endereços IP, o intervalo de portas do listener deverá conter pelo menos 80 portas. Você pode definir o intervalo de portas do listener como 101-180. Se definir o intervalo como 101-179, não será possível criar o listener.
-
Após a configuração, não é possível remover portas existentes na tabela de mapeamento de portas ao modificar o intervalo de portas.
Por exemplo, se o intervalo original de portas de escuta for 100-10000 e houver um mapeamento estabelecido entre a porta 199 e a porta de destino 80 do endpoint na tabela de mapeamento, você poderá expandir o intervalo de escuta para 20-10000. No entanto, não poderá reduzi-lo para 200-10000.
As portas de listener na mesma instância GA não devem se sobrepor.
Limites no protocolo do listener
Somente TCP e UDP são suportados. É possível especificar o protocolo ao configurar o grupo de endpoints. Defina TCP, UDP ou ambos os protocolos.
Limites nos serviços de backend
Especifique apenas vSwitches como endpoints de listeners de roteamento personalizado. Somente endereços IP privados e portas de instâncias Elastic Compute Service (ECS) podem ser definidos como destinos de tráfego.
A máscara de sub-rede do vSwitch que atua como endpoint deve variar de
/17a/28. O vSwitch deve fornecer pelo menos 16 endereços IP.Ao especificar um vSwitch como endpoint, todo o tráfego destinado a ele é rejeitado por padrão. Para permitir que uma instância ECS nesse vSwitch receba tráfego, modifique a configuração do listener para liberar todo o tráfego para o vSwitch ou especifique o endereço IP e a porta da instância ECS para autorizar o acesso específico.
A lista de controle de acesso (ACL) de rede associada ao vSwitch que serve como endpoint e as regras de grupo de segurança da instância ECS de destino devem permitir o tráfego. Para obter informações sobre como configurar ACLs de rede e regras de grupo de segurança, consulte Criar e gerenciar uma ACL de rede e Adicionar uma regra de grupo de segurança.
Não há suporte para verificações de integridade em grupos de endpoints e endpoints. Um listener de roteamento personalizado encaminha o tráfego com base na tabela de mapeamento de portas, independentemente do status de integridade dos endpoints.
Exemplos
Listeners de roteamento personalizado são ideais para cenários onde é necessário encaminhar tráfego de clientes para servidores de backend específicos. Por exemplo, ao usar esse tipo de listener em um jogo online multiplayer, o sistema pode atribuir jogadores com características semelhantes (como localização geográfica e nível do jogador) à mesma sessão em um servidor de backend, utilizando a tabela de mapeamento de portas e a lógica de negócios.
Neste exemplo, três instâncias ECS implantadas no mesmo vSwitch criam uma aplicação de jogo. O bloco CIDR do vSwitch é 10.1.1.0/28. Os endereços IP das instâncias ECS são 10.1.1.1, 10.1.1.2 e 10.1.1.3. As portas utilizadas para fornecer os serviços são as portas TCP 80, 81 e 82. Apenas duas instâncias ECS prestam o serviço, com os endereços IP 10.1.1.1 e 10.1.1.2.
Configure o listener de roteamento personalizado e o endpoint com base nas informações a seguir para melhorar a experiência do usuário:
Intervalo de portas do listener: 1001 a 1050.
Intervalo de portas do grupo de endpoints: 80 a 82. Protocolo: TCP.
Selecione o vSwitch como endpoint. Permita tráfego para as instâncias ECS com endereços IP 10.1.1.1 e 10.1.1.2. Defina o intervalo de portas como 80-82.
Após concluir a configuração, o GA gera a seguinte tabela de mapeamento de portas:
Neste exemplo, as portas são mapeadas sequencialmente para facilitar o entendimento. A tabela real de mapeamento de portas pode ser diferente. Chame as operações ListCustomRoutingPortMappings e ListCustomRoutingPortMappingsByDestination para consultar a tabela de mapeamento de portas real.
|
Porta de aceleração |
Endereço IP de destino |
Porta de destino |
Política de tráfego |
|
1001 |
10.1.1.1 |
80 |
Allow |
|
1002 |
10.1.1.1 |
81 |
Allow |
|
1003 |
10.1.1.1 |
82 |
Allow |
|
1004 |
10.1.1.2 |
80 |
Allow |
|
1005 |
10.1.1.2 |
81 |
Allow |
|
1006 |
10.1.1.2 |
82 |
Allow |
|
1007 |
10.1.1.3 |
80 |
Deny |
|
1008 |
10.1.1.3 |
81 |
Deny |
|
1009 |
10.1.1.3 |
82 |
Deny |
Conforme ilustrado na figura a seguir, diferentes jogadores podem acessar a aplicação de jogo por meio dos endereços IP acelerados e portas atribuídos pelo GA. O Jogador 1 acessa o jogo pela porta 1001 e o endereço IP acelerado correspondente. O Jogador 2 acessa o jogo pela porta 1003 e o respectivo endereço IP acelerado. O tráfego do Jogador 1 e do Jogador 2 é roteado para a instância ECS com endereço IP 10.1.1.1. O Jogador 3 acessa o jogo pela porta 1005 e o endereço IP acelerado associado; o tráfego é roteado para a instância ECS com endereço IP 10.1.1.2. O Jogador 4 não consegue acessar a instância ECS com endereço IP 10.1.1.3, pois essa instância não recebe tráfego.
Diferenças entre listeners de roteamento inteligente e listeners de roteamento personalizado
A tabela a seguir descreve os recursos dos listeners de roteamento inteligente e dos listeners de roteamento personalizado.
Recurso | Listener de roteamento inteligente | Listener de roteamento personalizado |
Suporta TCP, UDP, HTTP e HTTPS. | Suporta TCP e UDP. É possível especificar o protocolo ao configurar o grupo de endpoints. Defina TCP, UDP ou ambos os protocolos. | |
O número de portas configuráveis para um listener varia conforme o protocolo utilizado. | O intervalo de portas do listener especificado determina o produto entre o número de portas no grupo de endpoints associado ao listener e o número de endereços IP no endpoint. O seguinte requisito deve ser atendido: Após configurar as portas do listener, não é possível remover portas existentes na tabela de mapeamento de portas ao modificar o intervalo. | |
Suportado. | Não suportado. | |
Suporta IPv4, IPv6 e pilha dupla. | Suporta apenas IPv4. | |
Os tipos de serviço de backend suportados variam conforme o local de implantação do serviço:
| vSwitches na Alibaba Cloud Permite especificar endereços IP privados e portas de destino de uma ou mais instâncias ECS em um vSwitch como destinos de tráfego. | |
Suportado. | Não suportado. | |
Suportado. | Não suportado. | |
Suportado. | Suportado. | |
O suporte a este recurso depende do protocolo do listener:
| Não suportado por padrão. Para utilizar este recurso, entre em contato com seu gerente de conta. | |
Suportado. | Não suportado. |