Gestire il traffico SSL di picco con servizi flessibili di bilanciamento del carico e bilanciamento del carico di rete
Il servizio Oracle Cloud Infrastructure Load Balancing fornisce una distribuzione automatica del traffico basata su proxy da un punto di accesso a più server raggiungibili dalla rete cloud virtuale (VCN) per il traffico TCP e HTTP. Il servizio offre un load balancer con la scelta di un indirizzo IP pubblico o privato e la larghezza di banda di cui è stato eseguito il provisioning.
Il servizio Oracle Cloud Infrastructure Flexible Network Load Balancing (Network Load Balancer) automatizza la distribuzione del traffico da un punto di accesso a più server in un set di backend. Supporta la distribuzione del traffico TCP, UDP e ICMP.
La combinazione dei due pattern consentirà una scala massiccia di connessioni SSL, consentendo allo stesso tempo di scaricare i costi comuni SSL sul bilanciamento del carico, eliminando la necessità di distribuzione dei certificati backend e riducendo il carico complessivo sulle risorse backend.
Il risultato netto consente di scalare più load balancer flessibili aumentando esponenzialmente la capacità disponibile mantenendo un singolo punto di accesso al carico di lavoro.
Architettura
Questa architettura mostra come è possibile scalare orizzontalmente le connessioni SSL con un singolo endpoint utilizzando il servizio di bilanciamento del carico flessibile e il load balancer di rete.
Il load balancer di rete in una subnet pubblica offre un indirizzo IP pubblico per garantire che le applicazioni siano sempre disponibili durante il picco della domanda. Il load balancer di rete bilancia le connessioni SSL in entrata ai server backend in base ai dati del protocollo IP. I load balancer flessibili in una subnet privata sono connessi a un pool a istanza singola con ridimensionamento automatico per consentire ai server backend di flettersi e soddisfare la domanda. Con questa architettura, basata sui pattern di traffico in entrata, la larghezza di banda disponibile viene scalata dal minimo quando il traffico aumenta o diminuisce dal massimo man mano che il traffico diminuisce.
Il seguente diagramma illustra questa architettura di riferimento.
Descrizione dell'immagine horizontal-scaling-using-lbaas.png
L'architettura contiene i componenti riportati di seguito.
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni, e vaste distanze possono separarle (tra paesi o addirittura continenti).
- Rete cloud virtuale (VCN) e subnet
Un VCN è una rete customizzabile e definita dal software impostata in un'area Oracle Cloud Infrastructure. Come le reti di data center tradizionali, i VCN consentono di controllare completamente l'ambiente di rete. Un VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo la creazione di VCN. È possibile segmentare un VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet in VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Bilanciatore di carico
Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un singolo punto di accesso a più server nel backend.
- Pool di istanze
Un pool di istanze è un gruppo di istanze all'interno di un'area create dalla stessa configurazione di istanza e gestite da un gruppo.
- Scalatura automatica
Il ridimensionamento automatico consente di regolare automaticamente il numero di istanze di calcolo in un pool di istanze in base alle metriche delle prestazioni, ad esempio l'utilizzo della CPU.
Quando il pool di istanze viene ridimensionato o inserito, il set di backend del load balancer associato viene aggiornato automaticamente.
- Bilanciatore di carico di rete
Il servizio Oracle Cloud Infrastructure Flexible Network Load Balancing è un load balancer che automatizza anche la distribuzione del traffico da un punto di accesso, ma è un passaggio non ossidato che supporta la distribuzione del traffico TCP, UDP e ICMP.
Suggerimenti
- VCN
Quando si crea un VCN, determinare il numero di blocchi CIDR richiesti e la dimensione di ogni blocco in base al numero di risorse che si prevede di associare alle subnet in VCN. Utilizzare blocchi CIDR che si trovano all'interno dello spazio degli indirizzi IP privati standard.
Selezionare blocchi CIDR che non si sovrappongono a nessun'altra rete (in Oracle Cloud Infrastructure, nel data center in locale o in un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato un VCN, è possibile modificare, aggiungere e rimuovere i relativi blocchi CIDR.
Quando si progettano le subnet, prendere in considerazione il flusso di traffico e i requisiti di sicurezza. Allegare tutte le risorse all'interno di uno specifico livello o ruolo alla stessa subnet, che può fungere da limite di sicurezza.
- Load balancer di rete
Distribuire un singolo load balancer di rete nella subnet pubblica durante l'utilizzo di più istanze del load balancer nel backend.
- Servizio Oracle Cloud Infrastructure Load Balancing
Distribuire le istanze di Oracle Cloud Infrastructure Load Balancing in una subnet privata. Si consiglia di eseguire la cessazione SSL sulle istanze di bilanciamento del carico per ridurre i costi comuni sui server backend.
- Pool di istanze
Tutte le istanze di bilanciamento del carico sono associate a un pool di singole istanze configurato con configurazioni specifiche dell'applicazione. In questo modo, tutte le istanze di bilanciamento del carico avranno le stesse combinazioni IP e porta backend per consentire la persistenza della sessione in tutti i saldi.
- Configurazione scala automatica
Assicurarsi di configurare il ridimensionamento automatico per distribuire un certo numero di istanze in modo da soddisfare i requisiti di larghezza di banda e connessione nella subnet privata.
- Conservazione delle fonti
Configurare la conservazione dell'origine nel load balancer di rete per consentire al log degli errori e degli accessi di bilanciamento del carico di riflettere un indirizzo IP client di origine accurato.
- Log
Questa architettura acquisisce i log dal servizio di bilanciamento del carico e dai log di flusso VCN. Ogni istanza di calcolo, bilanciamento del carico e bilanciamento del carico di rete collegata a un VCN dispone di una o più schede VNIC (Virtual Network Interface Card). Utilizzare i log di flusso di VCN per risolvere i problemi relativi alle regole di sicurezza e per controllare il traffico da e verso le VNIC. È inoltre possibile utilizzare gli errori di bilanciamento del carico e i log di accesso per il monitoraggio.
- Controllo dell'accesso
Utilizzare una combinazione di liste di sicurezza, NSG e liste di controllo dell'accesso del load balancer per seguire il principio del privilegio minimo necessario per fornire il livello di accesso più granulare necessario per utilizzare correttamente l'applicazione.
Considerazioni
Quando si implementa questa architettura, prendere in considerazione i seguenti fattori.
- Prestazioni
Distribuire una quantità e un dimensionamento sufficienti delle istanze di bilanciamento del carico per soddisfare i requisiti di larghezza di banda e connessione. Configurazione anche dei limiti di scalabilità, scalabilità e scalabilità appropriati nella configurazione di ridimensionamento automatico in base ai requisiti specifici dell'applicazione.
- Disponibilità
Creare limiti di scalabilità, scalabilità e scalabilità in base ai requisiti specifici dell'applicazione per garantire la disponibilità delle risorse backend.
- Log
Assicurarsi di abilitare la conservazione dell'origine nel load balancer di rete per assicurarsi che gli errori di bilanciamento del carico e i log degli accessi dispongano dell'IP di origine corretto.
- Persistenza sessione
Quando si imposta il criterio di instradamento nel load balancer di rete, è possibile selezionare l'hashing della tupla 2- 5 per configurare il livello di persistenza desiderato.
Quando si abilita la persistenza della sessione del servizio di bilanciamento del carico, assicurarsi di utilizzare un nome comune per il nome cookie del load balancer e un pool di istanze comune in tutte le istanze di bilanciamento del carico. Ciò consentirà la persistenza del backend in tutto l'ambiente.