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à.
Risorse Service Connect per le implementazioni blu/green di Amazon ECS
Quando si utilizza Service Connect con blue/green le distribuzioni, è necessario configurare componenti specifici per consentire il corretto instradamento del traffico tra le revisioni blu e verde del servizio. Questa sezione spiega i componenti richiesti e la loro configurazione.
Panoramica dell'architettura
Service Connect sviluppa funzionalità di service discovery e service mesh tramite un proxy sidecar gestito che viene inserito automaticamente nelle attività di Amazon ECS. Questi proxy gestiscono le decisioni di routing, i nuovi tentativi e la raccolta delle metriche, fornendo al contempo il backend del registro dei servizi. AWS Cloud Map Quando si distribuisce un servizio con Service Connect abilitato, il servizio si registra e i servizi client lo scoprono tramite il namespace. AWS Cloud Map
In un'implementazione standard di Service Connect, i servizi client si connettono ai nomi di servizio logici e il proxy sidecar gestisce il routing verso le istanze di servizio effettive. Con le blue/green implementazioni, questo modello viene esteso per includere il routing del traffico di test attraverso la configurazione. testTrafficRules
Durante una blue/green distribuzione, i seguenti componenti chiave interagiscono tra loro:
-
Service Connect Proxy: tutto il traffico tra i servizi passa attraverso il proxy Service Connect, che prende decisioni di routing in base alla configurazione.
-
AWS Cloud Map Registrazione: sia le distribuzioni blu che quelle verdi vengono registrate con AWS Cloud Map, ma la distribuzione verde viene inizialmente registrata come endpoint di «test».
-
Test del routing del traffico: la
testTrafficRules
configurazione di Service Connect determina come identificare e indirizzare il traffico di test verso la distribuzione verde. Ciò viene ottenuto tramite il routing basato sulle intestazioni, in cui intestazioni HTTP specifiche nelle richieste indirizzano il traffico verso la revisione di test. Per impostazione predefinita, Service Connect riconosce l'x-amzn-ecs-blue-green-test
intestazione per i protocolli basati su HTTP quando non vengono specificate regole personalizzate. -
Configurazione del client: tutti i client nel namespace ricevono automaticamente sia i percorsi di produzione che quelli di test, ma solo le richieste che soddisfano le regole di test verranno inviate alla distribuzione verde.
Ciò che rende questo approccio efficace è la capacità di gestire la complessità dell'individuazione dei servizi durante le transizioni. Man mano che il traffico passa dalla distribuzione blu a quella verde, tutti i meccanismi di connettività e scoperta si aggiornano automaticamente. Non è necessario aggiornare i record DNS, riconfigurare i sistemi di bilanciamento del carico o implementare le modifiche alla scoperta dei servizi separatamente, poiché la service mesh gestisce tutto.
Routing e test del traffico
Service Connect offre funzionalità avanzate di routing del traffico per le blue/green implementazioni, tra cui il routing basato su header e la configurazione degli alias client per scenari di test.
Verifica le regole dell'intestazione del traffico
Durante blue/green le distribuzioni, puoi configurare le regole dell'intestazione del traffico di test per indirizzare richieste specifiche alla (nuova) revisione del servizio verde a scopo di test. Ciò consente di convalidare la nuova versione con traffico controllato prima di completare la distribuzione.
Service Connect utilizza il routing basato sulle intestazioni per identificare il traffico di test. Per impostazione predefinita, Service Connect riconosce l'x-amzn-ecs-blue-green-test
intestazione per i protocolli basati su HTTP quando non vengono specificate regole personalizzate. Quando questa intestazione è presente in una richiesta, il proxy Service Connect indirizza automaticamente la richiesta alla distribuzione verde per il test.
Le regole di testing traffic header ti consentono di:
-
Indirizza le richieste con intestazioni specifiche alla revisione del servizio verde
-
Prova nuove funzionalità con un sottoinsieme di traffico
-
Convalida il comportamento del servizio prima dell'interruzione totale del traffico
-
Implementa strategie di test sui canarini
-
Esegui test di integrazione in un ambiente simile a quello di produzione
Il meccanismo di routing basato sulle intestazioni si integra perfettamente con l'architettura applicativa esistente. I servizi client non devono necessariamente essere consapevoli del processo di blue/green distribuzione: includono semplicemente le intestazioni appropriate quando inviano le richieste di test e il proxy Service Connect gestisce automaticamente la logica di routing.
Per ulteriori informazioni sulla configurazione delle regole dell'intestazione del traffico di test, consulta ServiceConnectTestTrafficHeaderRulesla pagina Amazon Elastic Container Service API Reference.
Regole di abbinamento degli header
Le regole di header matching definiscono i criteri per il routing del traffico di test durante le distribuzioni. blue/green È possibile configurare più condizioni di corrispondenza per controllare con precisione quali richieste vengono indirizzate alla revisione del servizio verde.
L'header matching supporta:
-
Corrispondenza esatta dei valori dell'intestazione
-
Controllo della presenza dell'intestazione
-
Corrispondenza basata su schemi
-
Combinazioni multiple di intestazioni
I casi d'uso di esempio includono l'instradamento di richieste con stringhe di user agent specifiche, versioni API o feature flag verso il servizio verde per i test.
Per ulteriori informazioni sulla configurazione dell'header matching, consulta ServiceConnectTestTrafficHeaderMatchRulesAmazon Elastic Container Service API Reference.
Alias client per le distribuzioni blue/green
Gli alias client forniscono endpoint DNS stabili per i servizi durante le distribuzioni. blue/green Consentono un instradamento del traffico senza interruzioni tra le revisioni blu e verdi dei servizi senza richiedere alle applicazioni client di modificare gli endpoint di connessione.
Durante una blue/green distribuzione, gli alias del client:
-
Mantieni nomi DNS coerenti per le connessioni client
-
Abilita la commutazione automatica del traffico tra le revisioni del servizio
-
Supporta strategie di migrazione graduale del traffico
-
Fornisci funzionalità di rollback reindirizzando il traffico alla versione blu
È possibile configurare più alias client per porte o protocolli diversi, consentendo ad architetture di servizio complesse di mantenere la connettività durante le implementazioni.
Per ulteriori informazioni sulla configurazione degli alias del client, consulta il riferimento ServiceConnectClientAliasall'API di Amazon Elastic Container Service.
Le migliori pratiche per il routing del traffico
Quando si implementa il routing del traffico per le blue/green distribuzioni con Service Connect, è necessario prendere in considerazione le seguenti best practice:
-
Inizia con i test basati sugli header: utilizza le regole di test traffic header per convalidare il servizio verde con traffico controllato prima di cambiare tutto il traffico.
-
Configura i controlli di integrità: assicurati che sia i servizi blu che quelli verdi abbiano configurato i controlli di integrità appropriati per evitare di indirizzare il traffico verso istanze non integre.
-
Monitora le metriche del servizio: monitora gli indicatori chiave delle prestazioni per entrambe le revisioni del servizio durante l'implementazione per identificare tempestivamente i problemi.
-
Pianifica la strategia di rollback: configura gli alias dei client e le regole di routing per consentire il ripristino rapido del servizio blu se vengono rilevati problemi.
-
Verifica la logica di abbinamento degli header: convalida le regole di header matching in un ambiente non di produzione prima di applicarle alle implementazioni di produzione.
Flusso di lavoro di blue/green implementazione di Service Connect
Comprendere come Service Connect gestisce il processo blue/green di distribuzione aiuta a implementare e risolvere i problemi delle distribuzioni in modo efficace. Il seguente flusso di lavoro mostra come interagiscono i diversi componenti durante ogni fase della distribuzione.
Fasi di distribuzione
L' blue/green implementazione di Service Connect procede attraverso diverse fasi distinte:
-
Stato iniziale: il servizio blue gestisce il 100% del traffico di produzione. Tutti i servizi client nel namespace si connettono al servizio blu tramite il nome di servizio logico configurato in Service Connect.
-
Registrazione verde del servizio: quando la distribuzione verde viene avviata, viene registrata AWS Cloud Map come endpoint di «test». Il proxy Service Connect nei servizi client riceve automaticamente le configurazioni del percorso di produzione e di test.
-
Test del routing del traffico: le richieste contenenti le intestazioni del traffico di test (ad esempio
x-amzn-ecs-blue-green-test
) vengono indirizzate automaticamente al servizio verde dal proxy Service Connect. Il traffico di produzione continua a fluire verso il servizio blu. -
Preparazione del traffico: dopo il successo dei test, il processo di implementazione prepara lo spostamento del traffico di produzione. Sia i servizi blu che quelli verdi rimangono registrati e funzionanti.
-
Production Traffic Shift: la configurazione di Service Connect si aggiorna per indirizzare il traffico di produzione verso il servizio ecologico. Ciò avviene automaticamente senza richiedere aggiornamenti del servizio client o modifiche al DNS.
-
Periodo di cottura: il periodo in cui le revisioni del servizio blu e verde vengono eseguite contemporaneamente dopo lo spostamento del traffico di produzione.
-
Annullamento della registrazione al servizio blu: dopo aver completato con successo lo spostamento e la convalida del traffico, il servizio blu viene annullato e terminato, completando l'implementazione. AWS Cloud Map
Comportamento del proxy Service Connect
Il proxy Service Connect svolge un ruolo cruciale nella gestione del traffico durante le blue/green implementazioni. Comprenderne il comportamento aiuta a progettare strategie di test e implementazione efficaci.
Comportamenti chiave dei proxy durante le blue/green implementazioni:
-
Rilevamento automatico del percorso: il proxy rileva automaticamente sia i percorsi di produzione che quelli di test AWS Cloud Map senza richiedere riavvii delle applicazioni o modifiche alla configurazione.
-
Routing basato sulle intestazioni: il proxy esamina le intestazioni delle richieste in entrata e indirizza il traffico alla revisione del servizio appropriata in base alle regole del traffico di test configurate.
-
Integrazione Health Check: il proxy indirizza il traffico solo verso istanze di servizio integre, escludendo automaticamente le attività non integre dal pool di routing.
-
Riprova e interruzione del circuito: il proxy offre funzionalità integrate di logica di ripetizione e interruzione del circuito, migliorando la resilienza durante le implementazioni.
-
Raccolta di metriche: il proxy raccoglie metriche dettagliate per i servizi blu e verdi, consentendo un monitoraggio completo durante le implementazioni.
Aggiornamenti sull'individuazione dei servizi
Uno dei principali vantaggi dell'utilizzo di Service Connect per le blue/green implementazioni è la gestione automatica degli aggiornamenti di rilevamento dei servizi. blue/green Le implementazioni tradizionali richiedono spesso aggiornamenti DNS complessi o la riconfigurazione del load balancer, ma Service Connect gestisce queste modifiche in modo trasparente.
Durante una distribuzione, Service Connect gestisce:
-
Aggiornamenti del namespace: lo spazio dei nomi Service Connect include automaticamente gli endpoint di servizio blu e verdi, con regole di routing appropriate.
-
Configurazione del client: tutti i servizi client nel namespace ricevono automaticamente informazioni di routing aggiornate senza richiedere riavvii o ridistribuzioni.
-
Transizione graduale: gli aggiornamenti di rilevamento dei servizi avvengono gradualmente e in sicurezza, garantendo l'assenza di interruzioni delle richieste in corso.
-
Supporto per il rollback: se è necessario un rollback, Service Connect può ripristinare rapidamente le configurazioni di rilevamento dei servizi per reindirizzare il traffico verso il servizio blu.