Ascoltatori per i sistemi Network Load Balancer - Elastic Load Balancing

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à.

Ascoltatori per i sistemi Network Load Balancer

Un ascoltatore è un processo che controlla le richieste di connessione utilizzando il protocollo e la porta che hai configurato. Prima di iniziare a utilizzare il Network Load Balancer, è necessario aggiungere almeno un ascoltatore. Se il sistema di bilanciamento del carico non dispone di ascoltatori, non è in grado di ricevere traffico dai client. La regola che definisci per un listener determina il modo in cui il load balancer indirizza le richieste verso le destinazioni registrate, ad esempio le EC2 istanze.

Configurazione dei listener

I listener supportano i seguenti protocolli e porte:

  • Protocolli: TCP, TLS, UDP, TCP_UDP, QUIC, TCP_QUIC

  • Porte: 1-65535

È possibile utilizzare un listener TLS per deviare il lavoro di crittografia e decrittografia sul sistema di bilanciamento del carico, in modo che le applicazioni possano concentrarsi sulla logica di business. Se il protocollo del listener è TLS, è necessario distribuire almeno un certificato del server SSL sul listener. Per ulteriori informazioni, consulta Certificati server.

Per garantire che la decrittografia del traffico TLS venga eseguita dalle destinazioni, e non dal sistema di bilanciamento del carico, puoi creare un ascoltatore TCP sulla porta 443 anziché creare un ascoltatore TLS. Con un ascoltatore TCP, il sistema di bilanciamento del carico trasmette il traffico crittografato alle destinazioni senza decrittografarlo.

È possibile utilizzare un listener QUIC per accettare il traffico QUIC. Il Network Load Balancer funge da sistema di bilanciamento del carico pass-through in conformità con 000. RFC9 Utilizza un listener QUIC e backend abilitati per QUIC per consentire una migrazione delle connessioni senza interruzioni per i dispositivi mobili.

Per supportare sia TCP e UDP sulla stessa porta, creare un listener TCP_UDP. I gruppi di destinazione per un listener TCP_UDP devono utilizzare il protocollo TCP_UDP.

Per supportare sia TCP che QUIC sulla stessa porta, crea un listener TCP_QUIC. I gruppi target per un listener TCP_QUIC devono utilizzare il protocollo TCP_QUIC.

Un listener UDP per un sistema di bilanciamento del carico dualstack richiede gruppi target. IPv6

WebSockets è supportato solo sui listener TCP, TLS, TCP_UDP e TCP_QUIC.

Il traffico QUIC non supporta la negoziazione delle versioni. QUIC v1 è l'unica versione QUIC supportata.

Tutto il traffico di rete per un listener configurato è classificato come traffico volontario. Il traffico di rete che non corrisponde a un listener configurato è classificato come traffico involontario. Anche le richieste ICMP diverse da quelle di tipo 3 sono considerate traffico non intenzionale. I Network Load Balancer eliminano il traffico non intenzionale senza inoltrarlo alle destinazioni. I pacchetti di dati TCP inviati alla porta del listener per un listener configurato che non sono nuove connessioni o parte di una connessione TCP attiva vengono rifiutati con un ripristino TCP (RST).

Per ulteriori informazioni, consulta Instradamento della richiesta nella Guida per l'utente di Elastic Load Balancing.

Azioni predefinite

Quando si crea un listener, si specifica un'azione predefinita per il routing delle richieste. L'azione predefinita inoltra le richieste ai gruppi target specificati.

Distribuisci il traffico verso più gruppi target

Se specifichi più gruppi target per un'azione predefinita, le richieste vengono distribuite a questi gruppi target in base al loro peso relativo. È necessario specificare un peso compreso tra 0 e 999 per ogni gruppo target. Un gruppo target con un peso pari a 0 non riceve traffico. Dopo aver aggiunto un gruppo target o aggiornato i pesi del gruppo target, le nuove connessioni vengono instradate in base ai nuovi pesi del gruppo target. Le connessioni esistenti non vengono modificate e continuano fino a quando non vengono chiuse come al solito.

Ad esempio, se si specificano due gruppi target, ciascuno con un peso di 10, ogni gruppo target riceve la metà delle richieste. Se specificate due gruppi target, uno con un peso di 10 e l'altro con un peso di 20, il gruppo target con un peso di 20 riceve il doppio delle richieste rispetto al gruppo target con un peso di 10.

Un caso d'uso comune è la migrazione del traffico da un gruppo target a un altro. Ciò significa che si aumenta gradualmente il peso del nuovo gruppo target mentre si diminuisce il peso del gruppo target originale fino a raggiungere lo 0. Se aggiorni il peso di un gruppo target a 0, dopo un breve periodo di tempo non riceve nuove connessioni e le connessioni esistenti vengono chiuse.

Sessioni persistenti e gruppi target ponderati

Le azioni avanzate sugli ascoltatori possono specificare se abilitare la fedeltà del gruppo target. Se abilitata, la permanenza del gruppo target fa sì che le connessioni successive dallo stesso indirizzo IP di origine preferiscano il gruppo target scelto in precedenza.

Considerazioni
  • Per i listener TLS, non è possibile aggiungere sia i gruppi target TCP che i gruppi target TLS alla regola del listener. Tutti i gruppi target devono utilizzare lo stesso protocollo.

  • Per gli ascoltatori TLS, la fedeltà del gruppo target non è supportata.

  • Per i sistemi di bilanciamento del carico dualstack, non è possibile aggiungere sia i gruppi target che i gruppi IPv4 target alla stessa azione predefinita. IPv6 Tutti i gruppi target nell'azione predefinita devono utilizzare lo stesso tipo di indirizzo IP.

  • Per gli ascoltatori, se un'azione diretta contiene più gruppi target e ognuno di essi ha la viscosità attivata, allora anche l'azione diretta deve avere la viscosità del gruppo target abilitata.

Attributi del listener

Di seguito sono riportati gli attributi del listener per Network Load Balancer:

tcp.idle_timeout.seconds

Il valore di timeout tcp idle, in secondi. L'intervallo valido è 60-6000 secondi. L'impostazione predefinita è 350 secondi.

Per ulteriori informazioni, consulta Aggiorna il timeout di inattività.

Ascoltatori sicuri

Per utilizzare un listener TLS, occorre distribuire almeno un certificato server sul sistema di bilanciamento del carico. Il sistema di bilanciamento del carico utilizza il certificato del server per terminare la connessione front-end e quindi decrittografare le richieste provenienti dai client prima di inoltrarle ai target. Tieni presente che per trasmettere il traffico crittografato alle destinazioni senza decrittografia da parte del sistema di bilanciamento del carico, devi creare un ascoltatore TCP sulla porta 443 anziché un ascoltatore TLS. Il sistema di bilanciamento del carico trasmette la richiesta alla destinazione così com'è, senza decrittografarla.

Elastic Load Balancing utilizza una configurazione di negoziazione TLS, nota come policy di sicurezza, per negoziare le connessioni TLS tra un client e il sistema di bilanciamento del carico. Una policy di sicurezza è una combinazione di protocolli e codici. Il protocollo stabilisce una connessione sicura tra un client e un server e garantisce che tutti i dati trasmessi tra il client e il sistema di bilanciamento del carico siano privati. Un codice è un algoritmo di crittografia che utilizza chiavi di crittografia per creare un messaggio codificato. I protocolli utilizzano diversi codici per crittografare i dati su Internet. Durante il processo di negoziazione della connessione, il client e il sistema di bilanciamento del carico forniscono un elenco di crittografie e protocolli supportati, in ordine di preferenza. La prima crittografia nell'elenco del server che corrisponde a una qualsiasi delle crittografie del client viene selezionata per la connessione sicura.

I Network Load Balancer non supportano l'autenticazione TLS reciproca (MTL). Per il supporto dell'autenticazione TLS reciproca, crea un ascoltatore TCP anziché un ascoltatore TLS. Il sistema di bilanciamento del carico trasmette la richiesta così com'è, in modo da poter implementare l'autenticazione TLS reciproca sulla destinazione.

I Network Load Balancer supportano la ripresa del TLS tramite PSK per TLS 1.3 e i ticket di sessione per TLS 1.2 e versioni precedenti. Le riprese con ID di sessione o quando più certificati sono configurati nel listener utilizzando SNI, non sono supportate. La funzionalità dati 0-RTT e l'estensione early_data non sono implementate.

Per le demo correlate, consulta Supporto TLS su Network Load Balancer e Supporto SNI su Network Load Balancer.

Policy ALPN

Application-Layer Protocol Negotiation (ALPN) è un'estensione TLS che viene inviata nei messaggi Hello di handshake TLS iniziali. ALPN consente al livello dell'applicazione di negoziare quali protocolli devono essere utilizzati su una connessione sicura, ad esempio HTTP/1 e HTTP/2.

Quando il client avvia una connessione ALPN, il sistema di bilanciamento del carico confronta l'elenco delle preferenze ALPN client con la relativa policy ALPN. Se il client supporta un protocollo dalla policy ALPN, il sistema di bilanciamento del carico stabilisce la connessione in base all'elenco delle preferenze della policy ALPN. In caso contrario, il sistema di bilanciamento del carico non utilizza ALPN.

Policy ALPN supportate

Di seguito sono riportati le policy ALPN supportate:

HTTP1Only

Negoziare solo HTTP/1.*. L'elenco delle preferenze ALPN è http/1.1, http/1.0.

HTTP2Only

Negoziare solo HTTP/2. L'elenco delle preferenze ALPN è h2.

HTTP2Optional

Preferire HTTP/1.* rispetto a HTTP/2 (che può essere utile per i test HTTP/2). L'elenco delle preferenze ALPN è http/1.1, http/1.0, h2.

HTTP2Preferred

Preferire HTTP/2 rispetto a HTTP/1.*. L'elenco delle preferenze ALPN è h2, http/1.1, http/1.0.

None

Non negoziare ALPN. Questa è l’impostazione predefinita.

Abilitare connessioni ALPN

È possibile abilitare le connessioni ALPN quando si crea o si modifica un listener TLS. Per ulteriori informazioni, consultare Aggiunta di un listener e Aggiornamento della policy ALPN.