Gestione avanzata del traffico
Le seguenti funzioni avanzate di gestione del traffico sono disponibili in IBM Cloud® Application Load Balancer for VPC (ALB).
Numero massimo di connessioni
Utilizza la configurazione max connections per limitare il numero massimo di connessioni simultanee per una specifica porta virtuale di front-end. Se non si configura un valore, il sistema utilizza un valore predefinito di 2000 connessioni simultanee. Il massimo di connessioni contemporanee per una determinata porta virtuale front-end, o a livello di sistema per tutte le porte virtuali front-end, è 15000.
Persistenza sessione
Per impostazione predefinita, un ALB inoltra le richieste ricevute a un server di backend in base al metodo di bilanciamento del carico configurato. È possibile abilitare la persistenza della sessione per garantire che un client rimanga connesso allo stesso server back-end per tutta la durata della sessione. Per ulteriori informazioni, consulta Aggiornamento della persistenza della sessione per i bilanciatori di carico delle applicazioni.
IP di origine
Con questa opzione, un ALB crea l'affinità tra un client e un server di back - end basato sull'IP di origine della connessione. Ad esempio, se si abilita la permanenza della sessione di tipo IP sorgente per la porta 80 ( HTTP ), tutti i successivi tentativi di connessione a HTTP da parte dello stesso client IP sorgente sono persistenti sullo stesso server back-end. Questa funzione è disponibile per tutti i protocolli supportati ( HTTP, HTTPS e TCP ).
Keepalive HTTP
HTTP keep alive consente a un client HTTP e a un server di scambiare più coppie richiesta-risposta su una singola connessione TCP. Ciò riduce la latenza per le richieste successive, minimizza il sovraccarico di rete e migliora l'efficienza
complessiva.
Application Load Balancer for VPC supporta HTTP keep alive quando è abilitato sia sul server consumer che su quello back-end. Se il consumatore supporta HTTP keep alive, l'ALB mantiene aperta la connessione per più
richieste. L'ALB cerca di riutilizzare le connessioni server-side HTTP ai server back-end per ridurre al minimo il sovraccarico di connessione.
HTTP keep alive deve essere abilitato sia sul lato cliente che sul lato server back-end della connessione.
TCP mantenersi in vita
TCP keep alive è un meccanismo del livello di trasporto ( TCP ) che aiuta a mantenere le connessioni inattive di lunga durata inviando periodicamente piccoli pacchetti (chiamati keep alive probes) per verificare se l'altro capo
della connessione è ancora raggiungibile.
Application Load Balancer for VPC supporta TCP mantenere in vita. Con questa impostazione, il bilanciatore di carico invia TCP keep alive pacchetti sia ai server consumer che a quelli back-end ogni 5 secondi. Dopo che una connessione
rimane inattiva per un determinato periodo di tempo (chiamato tempo di keep alive, spesso predefinito a 2 ore), lo stack TCP invia una sonda di keep alive. Se il peer risponde, la connessione rimane attiva. Se dopo diversi tentativi non si
ottiene alcuna risposta, la connessione viene considerata interrotta e chiusa.
TCP keep alive è un pacchetto a livello di socket senza dati che viene inviato al peer per notificargli che l'host è vivo. Come tale, viene visualizzato solo a livello di rete e non a livello di applicazione. Questa impostazione aiuta anche a prevenire la disconnessione delle connessioni a TCP da parte di un proxy intermedio o di un firewall che potrebbe avere criteri che scartano le connessioni dopo un certo periodo di inattività.
Timeout di connessione
I seguenti valori di timeout vengono utilizzati da un ALB. Attualmente, solo i valori di timeout di inattività lato client e lato server nella seguente tabella sono personalizzabili.
| Nome | Descrizione | Timeout |
|---|---|---|
| Tentativo di connessione lato server | La finestra di tempo massimo che il programma di bilanciamento del carico può utilizzare per stabilire la connessione TCP con il server di back-end. Se il tentativo di connessione non riesce, il programma di bilanciamento del carico prova il successivo server disponibile, in base al metodo di bilanciamento del carico configurato. | 5 secondi |
| Connessione inattiva lato client | Il tempo massimo di inattività dopo il quale il bilanciatore di carico interrompe la connessione lato client, se il client non ha chiuso correttamente la connessione. | 50 secondi (valore predefinito) a 2 ore |
| Connessione inattiva lato server | Il tempo massimo di inattività (con la configurazione del protocollo back-end di TCP ) dopo il quale il bilanciatore di carico chiude la connessione lato server. Con la configurazione del protocollo di back-end di HTTP, se non riesce a ricevere una risposta alla sua richiesta HTTP nella finestra di timeout di inattività, il programma di bilanciamento del carico restituisce un messaggio di errore al client finale. | 50 secondi (valore predefinito) a 2 ore |
Conservazione dell'indirizzo IP del client finale (solo HTTP/HTTPS)
Application Load Balancer for VPC funziona come un reverse proxy, che termina il traffico in entrata dal client. Il bilanciatore di carico stabilisce una connessione separata all'istanza del server back-end utilizzando il proprio indirizzo IP.
Per le connessioni HTTP con i server back-end (a fronte di connessioni front-end HTTP o HTTPS ), il bilanciatore di carico conserva l'indirizzo IP originale del client includendolo nell'intestazione X-Forwarded-For HTTP. Per le
connessioni TCP, le informazioni IP del client originale non vengono conservate.
Conservazione del protocollo del client finale (solo HTTP/HTTPS)
Un ALB conserva il protocollo originale utilizzato dal client per le connessioni front-end HTTP e HTTPS includendolo all'interno dell'intestazione X-Forwarded-ProtoHTTP. Questo non si applica al protocollo TCP, poiché un ALB non
esamina il traffico Layer-7 quando viene utilizzato il protocollo TCP.
Abilitazione dell'applicazione del programma di bilanciamento del carico privato
L'applicazione del programma di bilanciamento del carico privato impedisce la creazione di programmi di bilanciamento del carico pubblici. Ciò garantisce che solo i client non Internet o i client dall'interno del tuo ambiente di rete possano accedere ai tuoi programmi di bilanciamento del carico. Quando abilitato, viene inserita una limitazione sul tuo account per evitare la creazione di IP mobili su tutti gli ALB.
Per implementare l'applicazione del programma di bilanciamento del carico privato, apri un caso di supportoIBM e fai riferimento alla necessità di modificare il tuo account per limitare la creazione di IP mobili. Dopo che IBM elabora la modifica, non sarai più in grado di creare i programmi di bilanciamento del carico pubblici.
L'applicazione del programma di bilanciamento del carico privato viene applicata a tutte le regioni quando abilitata.
HTTP/2 supporto per i client che si connettono agli ascoltatori HTTPS
Application Load Balancer for VPC utilizza l'Application-Layer Protocol Negotiation (ALPN) per negoziare con i client che si connettono agli ascoltatori HTTPS e supporta sia il protocollo HTTP che HTTPS.
Il protocollo HTTP/2 non è ancora supportato per i pool back-end. Tuttavia, sono supportati i protocolli HTTP e HTTPS.
Compressione (solo HTTP / HTTPS )
HTTP / La compressione HTTPS consente di comprimere i dati trasmessi agli utenti utilizzando gzip.
Per comprimere i dati trasmessi con un ALB, l'intestazione della richiesta deve contenere Accept-Encoding: gzip e il relativo tipo MIME deve essere text/html, text/plain o text/xml.
Abilitazione del protocollo proxy
È possibile abilitare il protocollo proxy per gli ascoltatori TCP, HTTP e HTTPS e per i pool back-end. I casi d'uso sono i seguenti.
Caso di utilizzo 1: il client si connette direttamente al programma di bilanciamento del carico
Se l'ALB riceve traffico da un client direttamente, l'abilitazione del protocollo proxy per il pool back-end di quell'ascoltatore configura il bilanciatore di carico per allegare l'intestazione del protocollo proxy ai pacchetti TCP inviati a quel pool back-end.
Tutti i membri di back-end di tale pool devono supportare il protocollo proxy per il funzionamento del percorso dati. È possibile scegliere la versione dell'intestazione del protocollo proxy (versione 1 o versione 2) quando si abilita questa impostazione. Questa impostazione è disabilitata per impostazione predefinita, se non specificata. Con questa impostazione, i server di back - end possono richiamare le informazioni di porta e IP client impostate dal programma di bilanciamento del carico nell'intestazione del protocollo proxy.
Caso di utilizzo 2: il client si connette a un proxy o a una catena proxy, che si connette quindi al programma di bilanciamento del carico utilizzando il protocollo proxy
Se Application Load Balancer for VPC sta ricevendo traffico da un proxy (o da una catena di proxy) che utilizza il protocollo proxy, il listener deve disporre di un protocollo proxy abilitato in modo che possa analizzare le informazioni del client di origine contenute nelle intestazioni del protocollo proxy. Questa impostazione è disabilitata per impostazione predefinita, se non specificata. Poiché il programma di bilanciamento del carico può rilevare la versione dell'intestazione del protocollo proxy e analizzarla correttamente, non devi specificare quale versione del protocollo proxy viene utilizzata per inviare il traffico all'ALB.
Quando il protocollo proxy è abilitato per un listener di front - end, tutto il traffico che arriva a tale porta di front - end è previsto come traffico del protocollo proxy. Se una delle connessioni non contiene le intestazioni del protocollo proxy appropriate, non verranno stabilite. Per inoltrare queste informazioni client al pool di server di back - end, è necessario abilitare il protocollo proxy per il pool. In modo simile al caso di utilizzo 1, è necessario selezionare la versione 1 o la versione 2 in base alla versione del protocollo proxy che i server di back - end sono configurati per utilizzare. Puoi anche scegliere di non inoltrare queste informazioni client ai server di backend se non sono in grado di elaborare queste informazioni e queste informazioni vengono eliminate dal programma di bilanciamento del carico.