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à.
Application Load Balancer
Un sistema di bilanciamento del carico funge da singolo punto di contatto per i client. I client inviano le richieste al sistema di bilanciamento del carico e il sistema di bilanciamento del carico le invia a destinazioni, come EC2 le istanze. Per configurare un sistema di bilanciamento del carico, devi creare gruppi target e poi registrare i target nei gruppi. Puoi anche creare dei listener per verificare le richieste di connessione dai client e le regole dei listener per instradare le richieste dai client verso i target in uno o più gruppi target.
Per ulteriori informazioni consultare la guida Come funziona Elastic Load Balancing all'interno della Guida per l'utente di Elastic Load Balancing.
Indice
- Sottoreti per il sistema di bilanciamento del carico
- Gruppi di sicurezza del sistema di bilanciamento del carico
- Stato del sistema di bilanciamento del carico
- Attributi del sistema di bilanciamento del carico
- Tipo di indirizzo IP
- Connessioni di bilanciamento del carico
- Bilanciamento del carico su più zone
- AWS WAF
- Creazione di un sistema di bilanciamento del carico
- Aggiorna le zone di disponibilità
- Aggiornare i gruppi di sicurezza
- Aggiornare il tipo di indirizzo IP
- Modifica gli attributi del load balancer
- Etichetta un sistema di bilanciamento del carico
- Eliminazione di un sistema di bilanciamento del carico
- Visualizza la mappa delle risorse
- Avviare uno spostamento zonale
Sottoreti per il sistema di bilanciamento del carico
Quando si crea un Application Load Balancer, è necessario abilitare le zone che contengono le destinazioni. Per abilitare una zona, specificare una sottorete che si trova al suo interno. Elastic Load Balancing crea un nodo del sistema di bilanciamento del carico in ogni zona specificata.
Considerazioni
-
Il sistema di bilanciamento del carico è più efficace se ogni zona abilitata dispone di almeno una destinazione registrata.
-
Se si registrano destinazioni in una zona, ma non si abilita tale zona, queste destinazioni registrate non sono in grado di ricevere traffico dal sistema di bilanciamento del carico.
-
Se si abilitano più zone per il sistema di bilanciamento del carico, tali zone devono essere dello stesso tipo. Ad esempio, non è possibile abilitare sia una zona di disponibilità che una zona locale.
-
È possibile specificare una sottorete condivisa con te.
Gli Application Load Balancer supportano i seguenti tipi di sottorete.
Sottoreti della zone di disponibilità
È necessario selezionare almeno due sottoreti delle zone di disponibilità. Le restrizioni si applicano come segue:
-
Ogni sottorete deve essere in una zona di disponibilità diversa.
-
Per garantire che il sistema di bilanciamento del carico sia in grado di scalare correttamente, verifica che ogni sottorete della zona di disponibilità per il sistema di bilanciamento del carico abbia un CIDR blocco con almeno una
/27
maschera di bit (ad esempio10.0.0.0/27
) e almeno otto indirizzi IP liberi per sottorete. Gli otto indirizzi IP sono necessari per consentire al sistema di bilanciamento del carico di dimensionare se necessario. Il sistema di bilanciamento del carico utilizza questi indirizzi IP per stabilire le connessioni con le destinazioni. Senza di essi, potrebbero verificarsi problemi coni tentativi di sostituzione del nodo dell'Application Load Balancer, comportando l'ingresso in uno stato non riuscito.Nota: se una sottorete di un Application Load Balancer esaurisce gli indirizzi IP utilizzabili mentre cerca di dimensionarsi, l'Application Load Balancer sarà eseguito con capacità insufficiente. Durante questo periodo di tempo, i vecchi nodi continueranno a servire il traffico, ma il tentativo di dimensionamento bloccato potrebbe provocare errori 5xx o timeout dei tentativi di stabilire una connessione.
Sottoreti della zona locale
Si possono specificare una o più sottoreti della zona locale. Le restrizioni si applicano come segue:
-
Non è possibile AWS WAF utilizzarlo con il sistema di bilanciamento del carico.
-
Non è possibile utilizzare una funzione Lambda come destinazione.
-
Non è possibile utilizzare sessioni permanenti o la persistenza delle applicazioni.
Sottoreti Outpost
È possibile specificare una sola sottorete Outpost. Le restrizioni si applicano come segue:
-
Devi aver installato e configurato un Outpost nel data center locale. É necessaria una connessione di rete affidabile tra l'Outpost e la relativa Regione AWS . Per ulteriori informazioni, consulta la Guida per l'utente AWS Outposts.
-
Il sistema di bilanciamento del carico richiede due istanze
large
nell'Outpost per i nodi del sistema. I tipi di istanza supportati sono illustrati nella tabella seguente. Il sistema di bilanciamento del carico si dimensiona secondo necessità, ridimensionando i nodi una dimensione alla volta (dalarge
axlarge
, poi daxlarge
a2xlarge
e infine da2xlarge
a4xlarge
). Dopo aver dimensionato i nodi alla dimensione di istanza più grande, il sistema di bilanciamento del carico aggiunge istanze4xlarge
come nodi del sistema in caso di bisogno di capacità aggiuntiva. Se non si dispone di capacità di istanza o di indirizzi IP disponibili sufficienti per dimensionare il sistema di bilanciamento del carico, il sistema stesso segnala un evento a AWS Health Dashboarde lo stato del sistema di bilanciamento del carico è active_impaired
. -
È possibile registrare le destinazioni in base a ID istanza o indirizzo IP. Se registri obiettivi nella AWS Regione per l'Avamposto, questi non vengono utilizzati.
-
Le seguenti funzionalità non sono disponibili: funzioni Lambda come destinazioni, integrazione AWS WAF , sessioni permanenti, supporto per l'autenticazione e integrazione con AWS Global Accelerator.
Un Application Load Balancer può essere distribuito su istanze c5/c5d, m5/m5d o r5/r5d su Outpost. La tabella seguente mostra le dimensioni e il EBS volume per tipo di istanza che il load balancer può utilizzare su un Outpost:
Tipo e dimensione dell'istanza | EBSvolume (GB) |
---|---|
c5/c5d | |
large | 50 |
xlarge | 50 |
2xlarge | 50 |
4xlarge | 100 |
m5/m5d | |
large | 50 |
xlarge | 50 |
2xlarge | 100 |
4xlarge | 100 |
r5/r5d | |
large | 50 |
xlarge | 100 |
2xlarge | 100 |
4xlarge | 100 |
Gruppi di sicurezza del sistema di bilanciamento del carico
Un gruppo di sicurezza agisce come un firewall che controlla il traffico consentito da e verso il sistema di bilanciamento del carico. Puoi scegliere le porte e i protocolli in modo da permettere il traffico sia in entrata sia in uscita.
Le regole dei gruppi di sicurezza associati al sistema di bilanciamento del carico devono permettere il traffico bidirezionale sia attraverso la porta dell'ascoltatore sia attraverso la porta di controllo dell'integrità. Quando aggiungi un listener a un sistema di bilanciamento del carico o aggiorni la porta di controllo dello stato per un gruppo target, devi rivedere le regole del gruppo di sicurezza in modo da permettere il traffico bidirezionale attraverso la nuova porta. Per ulteriori informazioni, consulta Regole consigliate.
Stato del sistema di bilanciamento del carico
Un sistema di bilanciamento del carico può avere uno dei seguenti stati:
provisioning
-
Il sistema di bilanciamento del carico è in fase di configurazione.
active
-
Il sistema di bilanciamento del carico è completamente configurato e pronto a instradare il traffico.
active_impaired
-
Il sistema di bilanciamento del carico indirizza il traffico ma non dispone delle risorse necessarie per dimensionarsi.
failed
-
Il sistema di bilanciamento del carico non può essere configurato.
Attributi del sistema di bilanciamento del carico
Di seguito sono elencati gli attributi di sistema di bilanciamento del carico:
access_logs.s3.enabled
-
Indica se i log di accesso archiviati in Amazon S3 sono abilitati. Il valore predefinito è
false
. access_logs.s3.bucket
-
Il nome del bucket Amazon S3 per i log di accesso. Questo attributo è obbligatorio se i log di accesso sono abilitati. Per ulteriori informazioni, consulta Abilitare log di accesso.
access_logs.s3.prefix
-
Il prefisso della posizione nel bucket Amazon S3.
client_keep_alive.seconds
-
Il valore del client keepalive, in secondi. L'impostazione predefinita è 3600 secondi.
deletion_protection.enabled
-
Indica se è abilitata la protezione da eliminazione. Il valore predefinito è
false
. idle_timeout.timeout_seconds
-
Il valore del tempo di inattività (in secondi). Il valore predefinito è 60 secondi.
ipv6.deny_all_igw_traffic
-
Blocca l'accesso tramite Internet gateway (IGW) al sistema di bilanciamento del carico, impedendo l'accesso involontario al sistema di bilanciamento del carico interno tramite un gateway Internet. È impostato su
false
per i sistemi di bilanciamento del carico connessi a Internet e sutrue
per i sistemi di bilanciamento del carico interni. Questo attributo non impedisce l'accesso non a IGW Internet (ad esempio tramite peering, Transit Gateway o AWS VPN). AWS Direct Connect routing.http.desync_mitigation_mode
-
Determina il modo in cui il sistema di bilanciamento del carico gestisce le richieste che potrebbero rappresentare un rischio per la sicurezza dell'applicazione. I valori possibili sono
monitor
,defensive
estrictest
. Il valore predefinito èdefensive
. routing.http.drop_invalid_header_fields.enabled
-
Indica se le HTTP intestazioni con campi di intestazione non validi vengono rimosse dal load balancer (
true
) o indirizzate a targets ().false
Il valore predefinito èfalse
. Elastic Load Balancing richiede che i nomi di HTTP intestazione validi siano conformi all'espressione regolare[-A-Za-z0-9]+
, come descritto nel Field Name Registry. HTTP Ogni nome è costituito da caratteri alfanumerici o trattini. Selezionatrue
se desideri che le HTTP intestazioni non conformi a questo modello vengano rimosse dalle richieste. routing.http.preserve_host_header.enabled
-
Indica se l'Application Load Balancer deve conservare l'
Host
intestazione nella HTTP richiesta e inviarla alle destinazioni senza alcuna modifica. I valori possibili sonotrue
efalse
. Il valore di default èfalse
. routing.http.x_amzn_tls_version_and_cipher_suite.enabled
-
Indica se le due intestazioni (
x-amzn-tls-version
andx-amzn-tls-cipher-suite
), che contengono informazioni sulla TLS versione negoziata e sulla suite di crittografia, vengono aggiunte alla richiesta del client prima di inviarla alla destinazione. L'x-amzn-tls-version
intestazione contiene informazioni sulla versione del TLS protocollo negoziata con il client e l'x-amzn-tls-cipher-suite
intestazione contiene informazioni sulla suite di crittografia negoziata con il client. Entrambe le intestazioni sono in formato aperto. SSL I valori possibili per l'attributo sonotrue
efalse
. Il valore predefinito èfalse
. routing.http.xff_client_port.enabled
-
Indica se l'intestazione
X-Forwarded-For
deve mantenere la porta di origine utilizzata dal client per connettersi al sistema di bilanciamento del carico. I valori possibili sonotrue
efalse
. Il valore di default èfalse
. routing.http.xff_header_processing.mode
-
Consente di modificare, conservare o rimuovere l'
X-Forward-For
intestazione nella HTTP richiesta prima che Application Load Balancer invii la richiesta alla destinazione. I valori possibili sonoappend
,preserve
eremove
. Il valore predefinito èappend
.-
Se il valore è
append
, Application Load Balancer aggiunge l'indirizzo IP del client (dell'ultimo hop) all'X-Forward-For
intestazione della HTTP richiesta prima di inviarla alle destinazioni. -
Se il valore è
preserve
, Application Load Balancer conserva l'X-Forward-For
intestazione nella HTTP richiesta e la invia alle destinazioni senza alcuna modifica. -
Se il valore è
remove
, Application Load Balancer rimuove l'X-Forward-For
intestazione nella HTTP richiesta prima di inviarla alle destinazioni.
-
routing.http2.enabled
-
Indica se HTTP /2 è abilitato. Il valore predefinito è
true
. waf.fail_open.enabled
-
Indica se consentire a un sistema di bilanciamento del carico AWS WAF abilitato a indirizzare le richieste verso le destinazioni se non è in grado di inoltrare la richiesta a. AWS WAF I valori possibili sono
true
efalse
. Il valore di default èfalse
.
Nota
L'routing.http.drop_invalid_header_fields.enabled
attributo è stato introdotto per offrire protezione da HTTP desincronizzazione. L'routing.http.desync_mitigation_mode
attributo è stato aggiunto per fornire una protezione più completa dalla HTTP desincronizzazione delle applicazioni. Non è necessario utilizzare entrambi gli attributi ed è possibile scegliere uno dei due, a seconda dei requisiti dell'applicazione.
Tipo di indirizzo IP
È possibile impostare i tipi di indirizzi IP che i client possono utilizzare per accedere ai sistemi di bilanciamento del carico connessi a Internet e interni.
Gli Application Load Balancer supportano i seguenti tipi di indirizzi IP:
ipv4
-
I client devono connettersi al sistema di bilanciamento del carico utilizzando IPv4 gli indirizzi (ad esempio, 192.0.2.1)
dualstack
-
I client possono connettersi al sistema di bilanciamento del carico utilizzando sia IPv4 gli indirizzi (ad esempio, 192.0.2.1) che gli indirizzi (ad esempio, 2001:0 db 8:85 a IPv6 3:0:0:8 a2e: 0370:7334).
Considerazioni
-
Il sistema di bilanciamento del carico comunica con le destinazioni in base al tipo di indirizzo IP del gruppo di destinazioni.
-
Quando abiliti la modalità dualstack per il load balancer, Elastic Load Balancing fornisce un AAAA DNS record per il load balancer. I client che comunicano con il sistema di bilanciamento del carico utilizzando gli indirizzi risolvono il record A. IPv4 DNS I client che comunicano con il sistema di bilanciamento del carico utilizzando IPv6 gli indirizzi risolvono il AAAA DNS record.
-
L'accesso ai sistemi di bilanciamento del carico interni dualstack tramite il gateway Internet è bloccato per prevenire accessi non intenzionali a Internet. Tuttavia, ciò non impedisce l'accesso non a IGW Internet (ad esempio tramite peering, Transit Gateway o AWS VPN). AWS Direct Connect
-
dualstack-without-public-ipv4
-
I client devono connettersi al sistema di bilanciamento del carico utilizzando IPv6 gli indirizzi (ad esempio, 2001:0 db 8:85 a 3:0:0:8 a2e: 0370:7334).
Considerazioni
-
L'autenticazione Application Load Balancer è supportata solo IPv4 durante la connessione a un Identity Provider (IdP) o a un endpoint Amazon Cognito. Senza un IPv4 indirizzo pubblico, il sistema di bilanciamento del carico non può completare il processo di autenticazione, con conseguenti 500 errori. HTTP
-
Per ulteriori informazioni sui tipi di indirizzi IP, vedereAggiorna i tipi di indirizzi IP per il tuo Application Load Balancer.
Connessioni di bilanciamento del carico
Durante l'elaborazione di una richiesta, il load balancer mantiene due connessioni: una connessione con il client e una connessione con una destinazione. La connessione tra il load balancer e il client viene anche definita connessione front-end. La connessione tra il load balancer e la destinazione viene anche definita connessione back-end.
Bilanciamento del carico su più zone
Con gli Application Load Balancer, il bilanciamento del carico tra zone è attivato per impostazione predefinita e non può essere modificato a livello di sistema di bilanciamento del carico. Per ulteriori informazioni, consulta la sezione Bilanciamento del carico tra zone nella Guida per l'utente di Elastic Load Balancing.
La disattivazione del bilanciamento del carico tra zone è possibile a livello di gruppo di destinazioni. Per ulteriori informazioni, consulta Disattivazione del bilanciamento del carico tra zone.
Application Load Balancer e AWS WAF
Puoi utilizzarlo AWS WAF con il tuo Application Load Balancer per consentire o bloccare le richieste in base alle regole di una lista di controllo degli accessi Web (webACL). Per ulteriori informazioni, consulta Working with web ACLs nella AWS WAF Developer Guide.
Per impostazione predefinita, se il load balancer non riesce a ottenere una risposta da AWS WAF, restituisce un errore HTTP 500 e non inoltra la richiesta. Se hai bisogno che il sistema di bilanciamento del carico inoltri le richieste alle destinazioni anche se non è in grado di contattare AWS WAF, puoi abilitare il AWS WAF fail-open. Per verificare se il tuo sistema di bilanciamento del carico si integra con AWS WAF, seleziona il sistema di bilanciamento del carico nella AWS Management Console scheda Servizi integrati.
Web predefinito ACLs
Quando abiliti AWS WAF l'integrazione, puoi scegliere di creare automaticamente un nuovo Web ACL con regole predefinite. Il Web predefinito ACL include tre regole AWS gestite che offrono protezioni contro le minacce alla sicurezza più comuni.
-
AWSManagedRulesAmazonIpReputationList
‐ Il gruppo di regole dell'elenco di reputazione IP di Amazon blocca gli indirizzi IP generalmente associati a bot o altre minacce. Per ulteriori informazioni, consulta Amazon IP Reputation List managed rule group nella AWS WAF Developer Guide. -
AWSManagedRulesCommonRuleSet
‐ Il gruppo di regole core set (CRS) fornisce protezione contro lo sfruttamento di un'ampia gamma di vulnerabilità, incluse alcune delle vulnerabilità ad alto rischio e più comuni descritte in OWASP pubblicazioni come OWASP Top 10.Per ulteriori informazioni, consulta Core rule set (CRS) managed rule group () nella Developer Guide.AWS WAF -
AWSManagedRulesKnownBadInputsRuleSet
‐ Il gruppo di regole Known bad inputs blocca i pattern di richiesta noti per non essere validi e associati allo sfruttamento o alla scoperta di vulnerabilità. Per ulteriori informazioni, consulta il gruppo di regole gestito da Known bad inputs nella Guida per gli sviluppatori.AWS WAF
Per abilitare AWS WAF l'utilizzo della console
Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.
-
Selezionare il load balancer.
-
Nella scheda Integrazioni, espandi AWS Web Application Firewall (WAF) e scegli Associa un WAF web ACL.
-
In Web ACL, scegli Crea automaticamente un Web predefinito o seleziona un Web ACL esistente. ACL
-
In Azione sulle regole, scegli Blocca o Conta.
-
Scegli Conferma.
Per abilitare il AWS WAF fail-open utilizzando il AWS CLI
Utilizzate il modify-load-balancer-attributescomando con l'waf.fail_open.enabled
attributo impostato sutrue
.