Lidar com tráfego SSL de pico com serviços flexíveis de Balanceamento de Carga e Balanceador de Carga de Rede
O serviço Oracle Cloud Infrastructure Load Balancing fornece uma distribuição de tráfego automatizada baseada em proxy de um ponto de entrada para vários servidores acessíveis pela sua rede virtual na nuvem (VCN) para tráfego TCP e HTTP. O serviço oferece um balanceador de carga com sua escolha de endereço IP público ou privado e largura de banda provisionada.
O serviço Oracle Cloud Infrastructure Flexible Network Load Balancing (Balanceador de Carga de Rede) automatiza a distribuição de tráfego de um ponto de entrada para vários servidores em um conjunto de backend. Suporta distribuição de tráfego TCP, UDP e ICMP.
Combinar os dois padrões permitirá uma escala maciça de conexões SSL, permitindo o descarregamento de custos indiretos SSL para o Balanceamento de Carga, eliminando a necessidade de distribuição de certificado de backend e diminuindo a carga geral em seus recursos de backend.
O resultado líquido está sendo capaz de ampliar para vários Balanceadores de Carga flexíveis, aumentando a capacidade disponível exponencialmente, mantendo um único ponto de entrada para sua carga de trabalho.
Arquitetura
Esta arquitetura mostra como você pode dimensionar horizontalmente conexões SSL com um único ponto final usando o serviço de Balanceamento de Carga flexível e o Balanceador de Carga de Rede.
O Balanceador de Carga de Rede em uma sub-rede pública oferece um endereço IP público para garantir que os aplicativos estejam sempre disponíveis durante o pico de demanda. O Balanceador de Carga de Rede balanceia as conexões SSL de entrada com os servidores de backend com base nos dados do protocolo IP. Os balanceadores de carga flexíveis em uma sub-rede privada são conectados a um único pool de instâncias com dimensionamento automático para permitir que os servidores de backend flexionem e atendam à demanda. Com essa arquitetura, com base nos padrões de tráfego de entrada, a largura de banda disponível aumenta do mínimo à medida que o tráfego aumenta ou diminui do máximo à medida que o tráfego diminui.
O diagrama a seguir ilustra essa arquitetura de referência.
Descrição da ilustração horizontal-scaling-using-lbaas.png
A arquitetura tem os seguintes componentes:
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões e vastas distâncias podem separá-las (entre países ou mesmo continentes).
- Rede virtual na nuvem (VCN) e sub-redes
Um VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle total sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar depois de criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em uma faixa contígua de endereços que não se sobrepõem às outras sub-redes da VCN. É possível alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Balanceador de carga
O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição de tráfego automatizada de um único ponto de entrada para vários servidores no backend.
- Pool de instâncias
Um pool de instâncias é um grupo de instâncias dentro de uma região que são criadas a partir da mesma configuração de instância e gerenciadas como um grupo.
- Dimensionamento Automático
O dimensionamento automático permite ajustar automaticamente o número de instâncias de cálculo em um pool de instâncias com base em métricas de desempenho, como a utilização da CPU.
Quando o pool de instâncias aumenta ou aumenta, o conjunto de backend do balanceador de carga associado é atualizado automaticamente.
- Balanceador de carga da rede
O serviço Oracle Cloud Infrastructure Flexible Network Load Balancing é um balanceador de carga que também automatiza a distribuição de tráfego a partir de um ponto de entrada, mas é uma passagem sem interrupção que suporta a distribuição de tráfego TCP, UDP e ICMP.
Recomendações
- VCN
Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.
Selecione blocos CIDR que não se sobreponham a nenhuma outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretenda configurar conexões privadas.
Após criar um VCN, você pode alterar, adicionar e remover seus blocos CIDR.
Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos em uma camada ou atribuição específica à mesma sub-rede, que pode servir como limite de segurança.
- Balanceador de Carga da Rede
Implante um único Balanceador de Carga de Rede em sua sub-rede pública enquanto utiliza várias instâncias do balanceador de carga no backend.
- Serviço Oracle Cloud Infrastructure Load Balancing
Implante suas instâncias do Oracle Cloud Infrastructure Load Balancing em uma sub-rede privada. É recomendável executar o encerramento de SSL em suas instâncias do Load Balancing para reduzir os custos indiretos em seus servidores de backend.
- Pool de Instâncias
Todas as instâncias do Balanceamento de Carga são anexadas a um único pool de instâncias configurado com configurações específicas da aplicação. Isso garantirá que todas as instâncias do Load Balancing tenham as mesmas combinações de IP e Porta de backend para permitir a Persistência da Sessão em todos os balanceadores.
- Configuração de dimensionamento automático
Certifique-se de configurar o dimensionamento automático para implantar várias instâncias para atender aos seus requisitos de largura de banda e conexão em sua sub-rede privada.
- Preservação da fonte
Configure a preservação de origem no Balanceador de Carga da Rede para permitir que o Erro de Balanceamento de Carga e o Log de Acesso reflitam um endereço IP do cliente de origem preciso.
- Logs
Esta arquitetura captura logs do serviço Load Balancing e logs de fluxo do VCN. Cada instância de computação, Balanceamento de Carga e Balanceador de Carga de Rede anexado a um VCN tem uma ou mais placas de interface de rede virtual (VNICs). Use logs de fluxo VCN para solucionar problemas de regras de segurança e para auditar o tráfego de e para as VNICs. Você também pode usar Erro de Balanceamento de Carga e Logs de Acesso para monitorar.
- Controle de Acesso
Use uma combinação de Listas de Segurança, NSGs e listas de controle de acesso do balanceador de carga para seguir o princípio de privilégio mínimo necessário para fornecer o nível mais granular de acesso necessário para operar corretamente seu aplicativo.
Considerações
Ao implementar essa arquitetura, considere os seguintes fatores.
- Desempenho
Implante uma quantidade e um dimensionamento suficientes de instâncias do Load Balancing para atender aos seus requisitos de largura de banda e conexão. Além disso, configure os limites apropriados de escalonamento, escalonamento e escalonamento em sua configuração de escalonamento automático com base nos requisitos específicos do aplicativo.
- Disponibilidade
Crie limites de ampliação, ampliação e ampliação com base nos requisitos específicos do aplicativo para garantir a disponibilidade dos recursos de backend.
- Logs
Certifique-se de ativar a preservação de origem no Balanceador de Carga da Rede para garantir que o erro de balanceamento de carga e os logs de acesso tenham o IP de origem correto.
- Persistência de sessão
Ao Definir a Política de Roteamento no Balanceador de Carga de Rede, você pode selecionar hash de tupla 2-5 para configurar o nível de persistência desejado.
Ao ativar a Persistência da Sessão do serviço Load Balancing, certifique-se de usar um nome comum para o Nome do Cookie do balanceador de carga e um pool de instâncias comum em todas as instâncias do Load Balancing. Isso permitirá a persistência de backend em todo o ambiente.