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 distribuzioni Amazon ECS blu/green, lineari e canary
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 rilevamento servizi e mesh di servizi 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 l'instradamento verso le effettive istanze di servizio. 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:
-
Proxy di Service Connect: tutto il traffico tra i servizi passa attraverso il proxy di Service Connect, che prende decisioni di instradamento in base alla configurazione.
-
AWS Cloud Map Registrazione: sia la distribuzione blu che quella verde si registrano con AWS Cloud Map, ma la distribuzione verde viene inizialmente registrata come endpoint «di test».
-
Test dell'instradamento del traffico: la
testTrafficRulesnella configurazione di Service Connect determina come identificare e instradare il traffico di test verso l'implementazione verde. Ciò viene ottenuto tramite l'instradamento 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'intestazionex-amzn-ecs-blue-green-testper 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 andranno all'implementazione verde.
Ciò che rende questo approccio efficace è la capacità di gestire la complessità del rilevamento servizi durante le transizioni. Man mano che il traffico si sposta dall'implementazione blu a quella verde, tutti i meccanismi di connettività e rilevamento si aggiornano automaticamente. Non è necessario aggiornare i record DNS, riconfigurare i bilanciatori del carico o implementare le modifiche al rilevamento servizi in modo separato, poiché la mesh di servizi gestisce tutto.
Instradamento 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.
Regole di intestazione del traffico di test
Durante le blue/green distribuzioni, è possibile configurare le regole dell'intestazione del traffico di test per indirizzare richieste specifiche alla (nuova) revisione verde del servizio a scopo di test. Ciò consente di convalidare la nuova versione con traffico controllato prima di completare l'implementazione.
Service Connect utilizza l'instradamento basato sulle intestazioni per identificare il traffico di test. Per impostazione predefinita, Service Connect riconosce l'intestazione x-amzn-ecs-blue-green-test per i protocolli basati su HTTP quando non vengono specificate regole personalizzate. Quando questa intestazione è presente in una richiesta, il proxy di Service Connect instraderà automaticamente la richiesta nell'implementazione verde per il test.
Le regole di intestazione del traffico di test 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
-
Eseguire test di integrazione in un ambiente simile a quello di produzione
Il meccanismo di instradamento 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 corrispondenza delle intestazioni
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 fluido del traffico tra le revisioni dei servizi blu e verdi senza richiedere alle applicazioni client di modificare gli endpoint di connessione.
Durante una blue/green distribuzione, gli alias client:
-
Mantengono coerenti i nomi DNS per le connessioni client
-
Abilitano lo spostamento automatico del traffico tra le revisioni del servizio
-
Supportano strategie di migrazione graduale del traffico
-
Forniscono funzionalità di rollback reindirizzando il traffico alla revisione 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.
Best practice per l'instradamento del traffico
Quando implementi il routing del traffico per le blue/green distribuzioni con Service Connect, considera 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.
-
Configurare i controlli dell'integrità: assicurarsi che sia i servizi blu che quelli verdi abbiano la configurazione dei controlli di integrità appropriati per evitare di instradare il traffico verso istanze non integre.
-
Monitora le metriche del servizio: tieni traccia degli indicatori di prestazioni chiave per entrambe le revisioni del servizio durante l'implementazione per identificare tempestivamente i problemi.
-
Pianificare la strategia di rollback: configurare gli alias dei client e le regole di instradamento per consentire il ripristino rapido del servizio in caso di problemi.
-
Verifica la logica di abbinamento delle intestazioni: convalida le regole di abbinamento delle intestazioni 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 dell'implementazione.
Fasi di implementazione
L' blue/green implementazione di Service Connect procede attraverso diverse fasi distinte:
-
Stato iniziale: il servizio blu gestisce il 100% del traffico di produzione. Tutti i servizi client nel namespace si connettono al servizio blu tramite il nome del servizio logico configurato in Service Connect.
-
Registrazione Green Service: quando la distribuzione verde viene avviata, viene registrata AWS Cloud Map come endpoint di «test». Il proxy di Service Connect nei servizi client riceve automaticamente le configurazioni di instradamento di produzione e test.
-
Test di instradamento del traffico: le richieste contenenti le intestazioni del traffico di test (come
x-amzn-ecs-blue-green-test) vengono instradate automaticamente al servizio verde dal proxy di Service Connect. Il traffico di produzione continua a fluire verso il servizio blu. -
Preparazione dello spostamento del traffico: dopo l'esito positivo dei test, il processo di implementazione prepara lo spostamento del traffico di produzione. Sia i servizi blu che quelli verdi rimangono registrati e integri.
-
Spostamento del traffico di produzione: la configurazione di Service Connect si aggiorna per instradare il traffico di produzione verso il servizio verde. Ciò avviene automaticamente senza richiedere aggiornamenti del servizio client o modifiche al DNS.
-
Periodo di tempo di incorporamento: la durata 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 di Service Connect
Il proxy Service Connect svolge un ruolo cruciale nella gestione del traffico durante le blue/green implementazioni. La comprensione del suo comportamento aiuta a progettare strategie di test e implementazione efficaci.
Comportamenti chiave del proxy durante le implementazioni: blue/green
-
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.
-
Instradamento basato sulle intestazioni: il proxy esamina le intestazioni di richiesta in entrata e instrada il traffico alla revisione del servizio appropriata in base alle regole del traffico di test configurate.
-
Integrazione del controllo dell'integrità: il proxy instrada il traffico solo verso istanze di servizio integre, escludendo automaticamente le attività non integre dal pool di instradamento.
-
Nuovo tentativo e utilizzo di interruttori: il proxy offre funzionalità integrate di logica di tentativi e interruzione, 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 del rilevamento 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 un'implementazione, Service Connect gestisce:
-
Aggiornamenti del namespace: il namespace di Service Connect include automaticamente gli endpoint di servizio blu e verdi, con regole di instradamento appropriate.
-
Configurazione del client: tutti i servizi client nel namespace ricevono automaticamente informazioni di instradamento aggiornate senza richiedere riavvii o nuove implementazioni.
-
Transizione graduale: gli aggiornamenti di rilevamento servizi avvengono in modo graduale e sicuro, 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 servizi per instradare nuovamente il traffico verso il servizio blu.