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à.
Sessioni permanenti con cookie basati su applicazioni
Quando si utilizza un Application Load Balancer con un cookie basato sull'applicazione:
-
L'Application Load Balancer utilizza il peso del gruppo target
per determinare come bilanciare il traffico in entrata tra i gruppi target. -
Per impostazione predefinita, Application Load Balancer utilizza il metodo round robin per indirizzare le richieste alle EC2 istanze del gruppo target di destinazione.
-
Dopo che il traffico è stato inizialmente indirizzato a un' EC2 istanza, la risposta dell'applicazione dell' EC2 istanza deve contenere un cookie dell'applicazione personalizzato, che viene inviato al client insieme a un cookie Automatico di Application Load Balancer.
-
Il traffico successivo si limiterà all' EC2 istanza se il client restituisce il cookie dell'applicazione e il cookie Application Load Balancer.
-
Il cookie basato sull'applicazione scade dopo il mancato utilizzo per la durata configurata.
Modello: utilizza il AWS CloudFormation modello stickysessionsapp.yml
(incluso nel file zip con codice di esempio) per provare sessioni permanenti con cookie basati sull'applicazione.
Casi di utilizzo comune
Utilizza sessioni permanenti con cookie generati dall'applicazione quando desideri un controllo aggiuntivo in questi scenari:
-
Server web PHP
-
Server che conservano dati di sessione temporanei come registri, carrelli della spesa o conversazioni in chat
Modifiche al codice da basic.yml
L'unica modifica al codice è nella configurazione del gruppo target. Abbiamo aggiunto una configurazione di stickiness agli attributi dell'Application Load Balancer e del gruppo target. La durata del cookie dell'applicazione è specificata e il gruppo target ha abilitato la persistenza dei cookie dell'applicazione.
basic.yml |
stickysessionsapp.yml |
|
|
Fasi
Note
-
I gateway NAT hanno un piccolo costo.
-
Più EC2 istanze consumeranno le ore del piano gratuito più velocemente di una singola istanza. EC2
-
Implementa il CloudFormation modello
stickysessionslb.yml
in un ambiente di laboratorio. -
Attendi che lo stato di salute delle istanze del gruppo target passi da iniziale a integro.
-
Accedere all'URL dell'Application Load Balancer in un browser Web, utilizzando HTTP (TCP/80).
Ad esempio:
http://alb-123456789.us-east-1.elb.amazonaws.com/
La pagina Web mostra una delle seguenti opzioni: Istanza 1 - TG1, Istanza 2 -, Istanza 3 - TG1 o Istanza 4 - TG2. TG2
-
Aggiorna la pagina più volte.
Risultati attesi
Nota
Il CloudFormation modello in questo esempio ha configurato la viscosità in modo che duri 10 secondi. La configurazione valida della durata della viscosità è compresa tra 1 secondo e 1 settimana.
L'istanza che carica la pagina Web dovrebbe rimanere la stessa, come indicato dal testo della pagina.
La durata della permanenza non si aggiorna, ma si basa sulla scadenza configurata nell'Application Load Balancer per il cookie dell'applicazione generato dall'istanza. EC2
Esempio 1: attendi 5 secondi per aggiornare la pagina. La stessa istanza verrà caricata e la viscosità verrà aggiornata per altri 10 secondi.
Esempio 2: Attendi più di 10 secondi per ricaricare la pagina. Il cookie dell'applicazione scade e l'utente viene indirizzato a un'istanza diversa. EC2 Questa nuova istanza genera un altro cookie dell'applicazione con una durata di 10 secondi.
Come funziona
-
In questo esempio sulle EC2 istanze è installato un server web Apache ()
httpd
. Ilhttpd.conf
file è configurato per restituire unSet-Cookie
valore statico al client (il browser Web). IlSet-Cookie
valore è codificato per essere.TESTCOOKIE=<somevalue>
-
Apri l'opzione Inspect Element del browser, scegli la scheda Rete, quindi scegli il metodo Get, che carica la pagina. Verrà visualizzata la scheda Cookie.
-
Il browser è un'applicazione client configurata automaticamente per restituire eventuali aggiornamenti successivi al server con i cookie che riceve nella
Set-Cookie
risposta del server. -
Quando ricarichi la pagina, i cookie ricevuti durante il caricamento iniziale della pagina vengono automaticamente rispediti all'Application Load Balancer.
-
Se il cookie è scaduto (ovvero sono trascorsi 10 secondi dall'ultima chiamata), Application Load Balancer utilizza una nuova logica per determinare a EC2 quale istanza indirizzare il traffico.
-
Se il cookie non è scaduto, l'Application Load Balancer indirizza il traffico verso la EC2 stessa istanza.
-