Listener per il Classic Load Balancer - Sistema di bilanciamento del carico elastico

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Listener per il Classic Load Balancer

Prima di iniziare a utilizzare Elastic Load Balancing, è necessario configurare uno o più listener per il Classic Load Balancer. Si definisce listener il processo che verifica la presenza di richieste di connessione. È configurato con un protocollo e una porta sia per connessioni front-end (dal client al load balancer) sia per connessioni back-end (dal load balancer all'istanza di back-end).

Elastic Load Balancing supporta i seguenti protocolli:

  • HTTP

  • HTTPS (HTTP protetto)

  • TCP

  • SSL (TCP protetto)

Il protocollo HTTPS utilizza il protocollo SSL per stabilire connessioni protette tramite il layer HTTP. È anche possibile utilizzare il protocollo HTTPS per stabilire connessioni protette tramite il layer TCP.

Se la connessione front-end utilizza TCP o SSL, le connessioni back-end possono utilizzare TCP o SSL. Se la connessione front-end utilizza HTTP o HTTPS, le connessioni back-end possono utilizzare HTTP or HTTPS.

Le istanze di back-end possono essere in ascolto sulle porte 1-65535.

I sistema di bilanciamento del carico possono essere in ascolto sulle seguenti porte: 1-65535

Protocolli

La comunicazione per una tipica applicazione Web avviene attraverso livelli di hardware e software. Ogni livello fornisce una funzione di comunicazione specifica. Il controllo sulla funzione di comunicazione viene trasferito da un livello a quello successivo, in sequenza. In questi livelli il modello OSI (Open System Interconnection) definisce un framework modello per l'implementazione di un formato standard per le comunicazioni, chiamato protocollo. Per ulteriori informazioni, consulta Modello OSI in Wikipedia.

Quando si utilizza Elastic Load Balancing, serve una comprensione di base del livello 4 e del livello 7. Il livello 4 è il livello di trasporto che descrive la connessione TCP (Transmission Control Protocol) tra il client e l'istanza di back-end, tramite il load balancer. Il livello 4 è il livello minimo configurabile per il load balancer. Il livello 7 è il livello applicativo che descrive l'uso delle connessioni HTTP (Hypertext Transfer Protocol) e HTTPS (HTTP protetto) dai client al load balancer e dal load balancer all'istanza di back-end.

Il protocollo Secure Sockets Layer (SSL) viene utilizzato principalmente per crittografare i dati riservati tramite reti non sicure, ad esempio Internet. Il protocollo SSL stabilisce una connessione sicura tra un client e un server di back-end e garantisce che tutti i dati trasferiti tra il client e il server siano privati e integri.

Protocollo TCP/SSL

Quando utilizzai TCP (livello 4) sia per le connessioni front-end che back-end, il load balancer inoltra la richiesta per le istanze di back-end senza modificare le intestazioni. Dopo che il load balancer riceve la richiesta, tenta di aprire una connessione TCP all'istanza di back-end sulla porta specificata nella configurazione del listener.

Poiché i bilanciatori del carico intercettano il traffico tra i client e le tue istanze di back-end, i log di accesso per la tua istanza di back-end contengono l'indirizzo IP del load balancer invece del client di origine. È possibile abilitare il protocollo proxy, che aggiunge un'intestazione con le informazioni di connessione del client, ad esempio l'indirizzo IP di origine, l'indirizzo IP di destinazione e i numeri di porta. L'intestazione viene quindi inviata all'istanza di back-end come parte della richiesta. Puoi analizzare la prima riga nella richiesta per recuperare le informazioni di connessione. Per ulteriori informazioni, consulta Configura il supporto del protocollo proxy per il Classic Load Balancer.

Utilizzando questa configurazione, non ricevi cookie per la persistenza della sessione o le intestazioni X-Forwarded.

Protocollo HTTP/HTTPS

Quando si utilizza HTTP (livello 7) per connessioni front-end e back-end, il sistema di bilanciamento del carico analizza le intestazioni della richiesta prima di inviarla alle istanze di back-end.

Per ogni istanza registrata e integra dietro un load balancer HTTP/HTTPS, Elastic Load Balancing apre e mantiene una o più connessioni TCP. Queste connessioni assicurano che venga sempre stabilita una connessione pronta per ricevere le richieste HTTP/HTTPS.

Le richieste e le risposte HTTP utilizzano i campi intestazione per inviare informazioni sui messaggi HTTP. Elastic Load Balancing supporta le intestazioni X-Forwarded-For. Poiché i bilanciatori del carico intercettano il traffico tra client e server, i log di accesso al server contengono solo l'indirizzo IP del load balancer. Per visualizzare l'indirizzo IP del client, utilizza l'intestazione della richiesta X-Forwarded-For. Per ulteriori informazioni, consulta X-Forwarded-For.

Quando utilizzi HTTP/HTTPS, puoi abilitare le sticky session sul tuo load balancer. Una sticky session associa una sessione utente ad una determinata istanza di back-end. Questo garantisce che tutte le richieste provenienti dall'utente durante la sessione vengano inviate alla stessa istanza di back-end. Per ulteriori informazioni, consulta Configura le sticky session per il Classic Load Balancer.

Non tutte le estensioni HTTP sono supportate nel load balancer. Potrebbe essere necessario utilizzare un listener TCP se il load balancer non è in grado di terminare la richiesta a causa di metodi imprevisti, codici di risposta o altre implementazioni HTTP 1.0/1.1 non standard.

Listener HTTPS/SSL

È possibile creare un load balancer con le seguenti caratteristiche di sicurezza.

Certificati del server SSL

Se utilizzi HTTPS o SSL per le connessioni front-end, devi distribuire un certificato X.509 (certificato server SSL) sul load balancer. Il load balancer decrittografa le richieste provenienti dai client prima di inviarle alle istanze di back-end (questo processo è noto come terminazione SSL). Per ulteriori informazioni, consulta Certificati SSL/TLS per Classic Load Balancer.

Se non desideri che il load balancer gestisca la terminazione SSL (anche chiamata offload SSL), puoi utilizzare TCP sia per le connessioni front-end che back-end e distribuire i certificati sulle istanze registrate che gestiscono le richieste.

Negoziazione SSL

Elastic Load Balancing fornisce configurazioni di negoziazione SSL predefinite, che vengono utilizzate per la negoziazione SSL quando viene stabilita una connessione tra un client e il load balancer. Le configurazioni di negoziazione SSL offrono la compatibilità con un'ampia gamma di client e utilizzano algoritmi di crittografia altamente sicuri, denominati cifrari. Tuttavia, alcuni casi d'uso potrebbero richiedere la crittografia di tutti i dati sulla rete e consentire solo cifrari specifici. Alcuni standard di conformità per la sicurezza (ad esempio PCI e SOX) potrebbero richiedere un set specifico di protocolli e cifrari dei client per assicurare che gli standard di sicurezza vengano soddisfatti. In questi casi, puoi creare una configurazione di negoziazione SSL personalizzata basata su esigenze specifiche. I tuoi cifrari e protocolli devono essere applicati entro 30 secondi. Per ulteriori informazioni, consulta Configurazioni della negoziazione SSL per Classic Load Balancer.

Autenticazione server back-end

Se utilizzi HTTPS o SSL per le connessioni back-end, puoi abilitare l'autenticazione delle istanze registrate. Puoi quindi utilizzare il processo di autenticazione per assicurarti che le istanze accettino solo le comunicazioni crittografate e che ogni istanza registrata disponga della chiave pubblica corretta.

Per ulteriori informazioni, consulta Configurazione dell'autenticazione del server back-end.