Pianifica la migrazione al bilanciatore del carico delle applicazioni esterno globale

Se sei un utente esistente dell'Application Load Balancer classico, consulta questa pagina se prevedi di eseguire la migrazione all'Application Load Balancer esterno globale o se stai pianificando un nuovo deployment con l'Application Load Balancer esterno globale.

Differenze di funzionalità

Le seguenti funzionalità non sono supportate dal bilanciatore del carico delle applicazioni esterno globale. Sono disponibili solo con l'Application Load Balancer classico:

Differenze nel piano dati

La seguente tabella evidenzia le differenze nel piano dati tra l'Application Load Balancer classico e l'Application Load Balancer esterno globale. Queste differenze influiscono sul modo in cui i bilanciatori del carico rispondono ad alcuni eventi comuni.

Evento Risposta classica del bilanciatore del carico delle applicazioni Risposta dell'Application Load Balancer esterno globale
Codici di stato/errore
Tutti i backend sono in stato non integro Restituisce HTTP 502 Restituisce HTTP 503
La richiesta utilizza una crittografia SSL vietata Restituisce HTTP 502 Restituisce HTTP 503
Connessione upstream anticipata reimpostata dal backend Restituisce HTTP 502 Restituisce HTTP 503
Upgrade della connessione non riuscito (ad esempio durante l'upgrade a WebSocket) Restituisce HTTP 400 Restituisce HTTP 403
L'intestazione è troppo grande Restituisce HTTP 413 Restituisce HTTP 431
Quote e limiti
Configurazione mappa URL Esistono differenze significative nei limiti di configurazione della mappa URL tra i due bilanciatori del carico. Per maggiori dettagli, consulta la documentazione su Quote: mappe URL.
Gestione delle intestazioni
La richiesta utilizza un metodo HTTP personalizzato senza corpo Aggiunge l'intestazione Transfer Encoding: Chunked alla richiesta inviata al backend Aggiunge l'intestazione Content-Length: 0 alla richiesta inviata al backend
Formato dell'intestazione X-Forwarded-For aggiunta alle richieste inviate al backend Utilizza il delimitatore ", " tra gli IP Utilizza il delimitatore "," tra gli IP (senza spazio dopo la virgola)
Conservazione delle maiuscole Le maiuscole/minuscole vengono mantenute Tutte le chiavi di intestazione vengono trasformate in minuscole
Intestazioni ripetute con lo stesso nome Consentita Le intestazioni ripetute possono essere combinate in un'unica intestazione, con i valori aggiunti in ordine e separati da virgole, come consentito da RFC 7230.
(Solo HTTP/1.1) Nome di intestazione non valido (ad esempio, caratteri non supportati nell'intestazione) Consentita (per HTTP/1.1) Restituisce HTTP 502 (per HTTP/1.1)
(Solo HTTP/1.1) Intestazione Content-Length ripetuta (ma uguale) nella richiesta Consentita (per HTTP/1.1) Restituisce HTTP 502 (per HTTP/1.1)
(Solo HTTP/1.1) Host multipli nell'intestazione Quando vengono aggiunti due o più host, e il primo è valido, l'intestazione viene accettata Quando vengono aggiunti due o più host, senza errori, il bilanciatore del carico restituisce HTTP 502
(Solo HTTP/1.1) Intestazione Connection: Keep-Alive Aggiunge Keep-Alive header nelle richieste inviate al backend per impostazione predefinita Non aggiunge questa intestazione per impostazione predefinita
Gestione delle richieste
Barre a ritroso nella richiesta URL non modificato Converte in una barra
Unisci le barre duplicate nella richiesta Lascia barre non unite Unisce le barre
"#" nel percorso di richiesta Consentita Restituisce HTTP 400
(Solo HTTP/1.1) Caratteri non validi nel percorso della richiesta (ad esempio "\\x7f\\x7f") Consentita (per HTTP/1.1) Restituisce HTTP 502 (per HTTP/1.1)
Distribuzione del traffico (configurazione mappa URL)
La richiesta del client include un numero di porta Il numero di porta viene ignorato anche se hai configurato host con porte nella mappa URL. Viene preso in considerazione solo il nome host.
Ad esempio, le richieste di example.com:5000 vengono associate al servizio di backend per example.com.
Vengono presi in considerazione sia il nome host che il numero di porta.
Ad esempio, le richieste di example.com:5000 vengono associate al servizio di backend per example.com:5000. In assenza di una corrispondenza, viene utilizzato il servizio di backend predefinito.