Modifica gli attributi per il tuo Network 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à.

Modifica gli attributi per il tuo Network Load Balancer

Dopo aver creato un Network Load Balancer, puoi modificarne gli attributi.

Timeout di inattività della connessione

Il timeout di inattività della connessione è il periodo di tempo in cui una connessione client o di destinazione esistente può rimanere inattiva, senza inviare o ricevere dati, prima che il load balancer chiuda la connessione.

Per garantire che operazioni lunghe come il caricamento di file abbiano il tempo di completare, invia almeno 1 byte di dati prima della scadenza di ogni periodo di timeout di inattività e aumenta la durata del periodo di inattività in base alle esigenze. Ti consigliamo inoltre di configurare il timeout di inattività dell'applicazione in modo che sia superiore al timeout di inattività configurato per il sistema di bilanciamento del carico. Altrimenti, se l'applicazione chiude la TCP connessione al sistema di bilanciamento del carico in modo non corretto, il sistema di bilanciamento del carico potrebbe inviare una richiesta all'applicazione prima che questa riceva il pacchetto indicando che la connessione è chiusa. In tal caso, il load balancer invia un HTTP errore 502 Bad Gateway al client.

Per impostazione predefinita, Elastic Load Balancing imposta il valore di timeout di inattività per il sistema di bilanciamento del carico su 60 secondi o 1 minuto. Utilizza la procedura seguente per impostare un valore di timeout per inattività diverso.

Per aggiornare il valore di timeout di inattività della connessione utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Selezionare il load balancer.

  4. Nella scheda Attributi, scegli Modifica.

  5. In Configurazione del traffico, inserisci un valore per il timeout di inattività della connessione. L'intervallo valido è compreso tra 1 e 4000 secondi.

  6. Scegli Save changes (Salva modifiche).

Per aggiornare il valore del timeout di inattività utilizzando il AWS CLI

Utilizzate il modify-load-balancer-attributescomando con l'idle_timeout.timeout_secondsattributo.

HTTPdurata del client keepalive

La durata del HTTP client keepalive è il periodo di tempo massimo durante il quale un Application Load Balancer mantiene una connessione HTTP persistente a un client. Trascorsa la durata di keepalive HTTP del client configurato, l'Application Load Balancer accetta un'altra richiesta e quindi restituisce una risposta che chiude correttamente la connessione.

Il tipo di risposta inviata dal load balancer dipende dalla versione utilizzata dalla connessione client. HTTP

  • Per i client connessi tramite HTTP 1.x, il load balancer invia un'HTTPintestazione contenente il campo. Connection: close

  • Per i client connessi tramite HTTP /2, il load balancer invia un frame. GOAWAY

Per impostazione predefinita, Application Load Balancer imposta il valore di durata del HTTP client keepalive per i sistemi di bilanciamento del carico su 3600 secondi o 1 ora. La durata del HTTP client keepalive non può essere disattivata o impostata al di sotto del minimo di 60 secondi, ma è possibile aumentare la durata del HTTP client keepalive, fino a un massimo di 604800 secondi o 7 giorni. Un Application Load Balancer inizia il periodo di durata di keepalive del HTTP client quando viene inizialmente HTTP stabilita una connessione a un client. Il periodo di durata continua quando non c'è traffico e non viene ripristinato fino a quando non viene stabilita una nuova connessione.

Quando il traffico del sistema di bilanciamento del carico viene spostato da una zona di disponibilità ridotta utilizzando lo spostamento zonale o lo spostamento automatico di zona, i client con connessioni aperte esistenti potrebbero continuare a effettuare richieste verso la posizione compromessa fino alla riconnessione dei client. Per supportare un ripristino più rapido, prendi in considerazione l'impostazione di un valore di durata keepalive inferiore, per limitare il tempo in cui i client rimangono connessi a un sistema di bilanciamento del carico. Per ulteriori informazioni, consulta Limita il tempo in cui i client rimangono connessi ai tuoi endpoint nella Amazon Application Recovery Controller (ARC) Developer Guide.

Nota

Quando il load balancer cambia il tipo di indirizzo IP dell'Application dualstack-without-public-ipv4 Load Balancer su, il load balancer attende il completamento di tutte le connessioni attive. Per ridurre il tempo necessario per cambiare il tipo di indirizzo IP per il tuo Application Load Balancer, valuta la possibilità di ridurre HTTP la durata del keepalive del client.

L'Application Load Balancer assegna al HTTP client il valore di durata keepalive durante la connessione iniziale. Quando si aggiorna la durata di keepalive del HTTP client, ciò può comportare connessioni simultanee con valori di durata keepalive del client diversiHTTP. Le connessioni esistenti mantengono il valore di durata HTTP del client keepalive applicato durante la connessione iniziale. Le nuove connessioni ricevono il valore di durata aggiornato HTTP del client keepalive.

Per aggiornare il valore della durata di keepalive del client utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Selezionare il load balancer.

  4. Nella scheda Attributi, scegli Modifica.

  5. In Configurazione del traffico, inserisci un valore per la durata di keepalive HTTP del client. L'intervallo valido è compreso tra 60 e 604800 secondi.

  6. Scegli Save changes (Salva modifiche).

Per aggiornare il valore della durata di keepalive del client utilizzando il AWS CLI

Usa il modify-load-balancer-attributescomando con l'client_keep_alive.secondsattributo.

Deletion protection (Protezione da eliminazione)

Per evitare che il sistema di bilanciamento del carico venga eliminato accidentalmente, è possibile abilitare la protezione da eliminazione. Per impostazione predefinita, la protezione da eliminazioni è disabilitata nel sistema di bilanciamento del carico.

Se abiliti la protezione da eliminazione per il sistema di bilanciamento del carico, devi disabilitarla prima di poter eliminare il sistema.

Per abilitare la protezione da eliminazione tramite la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Selezionare il load balancer.

  4. Nella scheda Attributi, scegli Modifica.

  5. In Configurazione, attivare Protezione da eliminazione.

  6. Scegli Save changes (Salva modifiche).

Per disabilitare la protezione da eliminazione tramite la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Selezionare il load balancer.

  4. Nella scheda Attributi, scegli Modifica.

  5. Nella pagina Configurazione, disattivare Protezione da eliminazione.

  6. Scegli Save changes (Salva modifiche).

Per abilitare o disabilitare la protezione da eliminazione utilizzando il AWS CLI

Utilizzate il modify-load-balancer-attributescomando con l'deletion_protection.enabledattributo.

Modalità di mitigazione della desincronizzazione

La modalità di mitigazione Desync protegge l'applicazione dai problemi dovuti alla HTTP desincronizzazione. Il load balancer classifica ogni richiesta in base al relativo livello di minaccia, consente le richieste sicure e quindi riduce i rischi come specificato dalla modalità di attenuazione specificata. Le modalità di attenuazione della desincronizzazione sono monitorate, difensive e più rigorose. L'impostazione predefinita è la modalità difensiva, che offre una mitigazione duratura contro la HTTP desincronizzazione mantenendo al contempo la disponibilità dell'applicazione. È possibile passare alla modalità più rigorosa per garantire che l'applicazione riceva solo le richieste conformi alla norma 7230. RFC

La libreria http_desync_guardian analizza le richieste per prevenire attacchi di desync. HTTP HTTP Per ulteriori informazioni, consulta Desync Guardian su. HTTP GitHub

Classificazioni

Le classificazioni sono le seguenti:

  • Conforme: Request è conforme allo standard RFC 7230 e non presenta minacce note alla sicurezza.

  • Accettabile: la richiesta non è conforme allo standard RFC 7230 ma non presenta minacce note alla sicurezza.

  • Ambiguo: la richiesta non è conforme allo standard RFC 7230 ma rappresenta un rischio, in quanto diversi server Web e proxy potrebbero gestirla in modo diverso.

  • Grave: la richiesta comporta un elevato rischio per la sicurezza. Il load balancer blocca la richiesta, fornisce una risposta 400 al client e chiude la connessione client.

Se una richiesta non è conforme al RFC 7230, il load balancer incrementa la metrica. DesyncMitigationMode_NonCompliant_Request_Count Per ulteriori informazioni, consulta Parametri di Application Load Balancer.

La classificazione di ogni richiesta è inclusa nei log di accesso del sistema di bilanciamento del carico. Se la richiesta non è conforme, i log di accesso includono un codice del motivo della classificazione. Per ulteriori informazioni, consulta Motivi della classificazione.

Modalità

La tabella seguente descrive come gli Application Load Balancer trattano le richieste in base alla modalità e alla classificazione.

Classificazione Modalità monitorata Modalità difensiva Modalità più rigorosa
Conforme Consentito Consentito Consentito
Accettabile Consentito Consentito Bloccato
Ambiguo Consentito Consentito¹ Bloccato
Grave Consentito Bloccato Bloccato

¹ Esegue il routing delle richieste ma chiude le connessioni client e target. È possibile incorrere in costi aggiuntivi se il sistema di bilanciamento del carico riceve un gran numero di richieste ambigue in modalità difensiva. Questo perché l'aumento del numero di nuove connessioni al secondo contribuisce alle Load Balancer Capacity Units (LCU) utilizzate all'ora. È possibile utilizzare il parametro NewConnectionCount per confrontare come il sistema di bilanciamento del carico stabilisce nuove connessioni in modalità monitoraggio e in modalità difensiva.

Per aggiornare la modalità di attenuazione della desincronizzazione tramite la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Selezionare il load balancer.

  4. Nella scheda Attributi, scegli Modifica.

  5. In Gestione pacchetti, per Modalità di attenuazione della desincronizzazione, scegli Difensiva, Più rigorosa o Monitoraggio.

  6. Scegli Save changes (Salva modifiche).

Per aggiornare la modalità di mitigazione della desincronizzazione utilizzando il AWS CLI

Utilizzare il modify-load-balancer-attributescomando con l'routing.http.desync_mitigation_modeattributo impostato su monitordefensive, o. strictest

Conservazione dell'intestazione host

Quando abiliti l'attributo Preserve host header, Application Load Balancer conserva Host l'intestazione nella richiesta e invia HTTP l'intestazione alle destinazioni senza alcuna modifica. Se l'Application Load Balancer riceve più intestazioni Host, le conserva tutte. Le regole dell'ascoltatore vengono applicate solo alla prima intestazione Host ricevuta.

Per impostazione predefinita, quando l'attributo Conservazione dell'intestazione host non è abilitato, l'Application Load Balancer modifica l'intestazione Host nel modo seguente:

Quando la conservazione dell'intestazione host non è abilitata e la porta dell'ascoltatore è una porta non predefinita: quando non si utilizzano le porte predefinite (80 o 443), il numero della porta viene aggiunto all'intestazione host se non è già aggiunto dal client. Ad esempio, l'Hostintestazione nella HTTP richiesta con Host: www.example.com verrebbe modificata inHost: www.example.com:8080, se la porta del listener è una porta non predefinita come. 8080

Quando la conservazione dell'intestazione host non è abilitata e la porta dell'ascoltatore è una porta predefinita (80 o 443): per le porte dell'ascoltatore predefinite (80 o 443), il numero della porta non viene aggiunto all'intestazione host in uscita. Qualsiasi numero di porta già presente nell'intestazione host viene rimosso.

La tabella seguente mostra altri esempi di come gli Application Load Balancer trattano le intestazioni degli host nella richiesta in base alla porta del HTTP listener.

Porta dell'ascoltatore Richiesta di esempio Intestazione host nella richiesta Conservazione dell'intestazione host disabilitata (comportamento predefinito) Conservazione dell'intestazione host abilitata
La richiesta viene inviata in base all'impostazione predefinita /listener. HTTP HTTPS GET /index.html HTTP/1.1 Host: example.com example.com example.com example.com
La richiesta viene inviata sul HTTP listener predefinito e l'intestazione dell'host ha una porta (ad esempio, 80 o 443). GET /index.html HTTP/1.1 Host: example.com:80 example.com:80 example.com example.com:80
La richiesta ha un percorso assoluto. GET https://dns_name/index.html HTTP/1.1 Host: example.com example.com dns_name example.com
La richiesta viene inviata su una porta listener non predefinita (ad esempio 8080) GET /index.html HTTP/1.1 Host: example.com example.com example.com:8080 example.com
La richiesta viene inviata su una porta dell'ascoltatore non predefinita e l'intestazione host ha una porta (ad esempio, 8080). GET /index.html HTTP/1.1 Host: example.com:8080 example.com:8080 example.com:8080 example.com:8080
Per abilitare la conservazione dell'intestazione dell'host utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Selezionare Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Selezionare il load balancer.

  4. Nella scheda Attributi, scegli Modifica.

  5. In Gestione pacchetti, attivare Conserva intestazione host.

  6. Scegli Save changes (Salva modifiche).

Per abilitare la conservazione dell'intestazione dell'host utilizzando il AWS CLI

Utilizzate il modify-load-balancer-attributescomando con l'routing.http.preserve_host_header.enabledattributo true impostato su.