Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Ressources Service Connect pour les déploiements bleu/vert d'Amazon ECS
Lorsque vous utilisez Service Connect avec blue/green des déploiements, vous devez configurer des composants spécifiques pour permettre le routage correct du trafic entre les révisions de service bleues et vertes. Cette section explique les composants requis et leur configuration.
Présentation de l’architecture
Service Connect développe à la fois des fonctionnalités de découverte de services et de maillage de services par le biais d'un proxy parallèle géré qui est automatiquement injecté dans vos tâches Amazon ECS. Ces proxys gèrent les décisions de routage, les nouvelles tentatives et la collecte des métriques, tout en AWS Cloud Map fournissant le backend du registre des services. Lorsque vous déployez un service avec Service Connect activé, le service s'enregistre et les AWS Cloud Map services clients le découvrent via l'espace de noms.
Dans une implémentation standard de Service Connect, les services client se connectent à des noms de service logiques, et le proxy sidecar gère le routage vers les instances de service réelles. Avec blue/green les déploiements, ce modèle est étendu pour inclure le routage du trafic de test via la testTrafficRules
configuration.
Au cours d'un blue/green déploiement, les composants clés suivants fonctionnent ensemble :
-
Proxy Service Connect : tout le trafic entre les services passe par le proxy Service Connect, qui prend les décisions de routage en fonction de la configuration.
-
AWS Cloud Map Enregistrement : les déploiements bleu et vert sont enregistrés auprès de AWS Cloud Map, mais le déploiement vert est initialement enregistré en tant que point de terminaison « test ».
-
Routage du trafic de test : la
testTrafficRules
configuration de Service Connect détermine comment identifier et acheminer le trafic de test vers le déploiement écologique. Cela se fait par le biais d'un routage basé sur les en-têtes, dans le cadre duquel des en-têtes HTTP spécifiques contenus dans les demandes dirigent le trafic vers la révision de test. Par défaut, Service Connect reconnaît l'x-amzn-ecs-blue-green-test
en-tête des protocoles HTTP lorsqu'aucune règle personnalisée n'est spécifiée. -
Configuration du client : tous les clients de l'espace de noms reçoivent automatiquement les itinéraires de production et de test, mais seules les demandes correspondant aux règles de test seront transférées vers le déploiement écologique.
La puissance de cette approche réside dans le fait qu'elle permet de gérer la complexité de la découverte de services pendant les transitions. À mesure que le trafic passe du déploiement bleu au déploiement vert, tous les mécanismes de connectivité et de découverte sont automatiquement mis à jour. Il n'est pas nécessaire de mettre à jour les enregistrements DNS, de reconfigurer les équilibreurs de charge ou de déployer les modifications apportées à la découverte des services séparément, car le maillage de services gère tout cela.
Acheminement et tests du trafic
Service Connect fournit des fonctionnalités avancées de routage du trafic pour les blue/green déploiements, notamment le routage basé sur les en-têtes et la configuration d'alias client pour les scénarios de test.
Tester les règles d'en-tête du trafic
Au cours blue/green des déploiements, vous pouvez configurer les règles d'en-tête du trafic de test pour acheminer des demandes spécifiques vers la (nouvelle) révision du service vert à des fins de test. Cela vous permet de valider la nouvelle version avec un trafic contrôlé avant de terminer le déploiement.
Service Connect utilise le routage basé sur les en-têtes pour identifier le trafic de test. Par défaut, Service Connect reconnaît l'x-amzn-ecs-blue-green-test
en-tête des protocoles HTTP lorsqu'aucune règle personnalisée n'est spécifiée. Lorsque cet en-tête est présent dans une demande, le proxy Service Connect achemine automatiquement la demande vers le déploiement écologique à des fins de test.
Les règles d'en-tête du trafic de test vous permettent de :
-
Acheminer les demandes avec des en-têtes spécifiques vers la révision du service vert
-
Testez de nouvelles fonctionnalités avec un sous-ensemble de trafic
-
Valider le comportement du service avant le transfert complet du trafic
-
Mettre en œuvre des stratégies de test Canary
-
Réaliser des tests d'intégration dans un environnement similaire à celui de la production
Le mécanisme de routage basé sur les en-têtes fonctionne parfaitement avec l'architecture de votre application existante. Les services clients n'ont pas besoin de connaître le processus de blue/green déploiement : ils incluent simplement les en-têtes appropriés lors de l'envoi de demandes de test, et le proxy Service Connect gère automatiquement la logique de routage.
Pour plus d'informations sur la configuration des règles d'en-tête du trafic de test, consultez ServiceConnectTestTrafficHeaderRulesle manuel Amazon Elastic Container Service API Reference.
Règles de correspondance des en-têtes
Les règles de correspondance des en-têtes définissent les critères de routage du trafic de test lors blue/green des déploiements. Vous pouvez configurer plusieurs conditions de correspondance pour contrôler avec précision quelles demandes sont acheminées vers la révision du service vert.
La correspondance des en-têtes prend en charge :
-
Correspondance exacte de la valeur d'en-tête
-
Vérification de la présence des en-têtes
-
Correspondance basée sur des motifs
-
Combinaisons d'en-têtes multiples
Les exemples d'utilisation incluent le routage des demandes avec des chaînes d'agent utilisateur, des versions d'API ou des indicateurs de fonctionnalité spécifiques vers le service vert à des fins de test.
Pour plus d'informations sur la configuration de la correspondance des en-têtes, consultez ServiceConnectTestTrafficHeaderMatchRulesle manuel Amazon Elastic Container Service API Reference.
Alias clients pour les déploiements blue/green
Les alias de client fournissent des points de terminaison DNS stables pour les services lors blue/green des déploiements. Ils permettent un routage fluide du trafic entre les révisions de service bleues et vertes sans obliger les applications clientes à modifier leurs points de terminaison de connexion.
Lors d'un blue/green déploiement, les alias du client :
-
Maintenir des noms DNS cohérents pour les connexions client
-
Activer la commutation automatique du trafic entre les révisions de service
-
Support des stratégies de migration progressive du trafic
-
Offrez des fonctionnalités de restauration en redirigeant le trafic vers la version bleue
Vous pouvez configurer plusieurs alias de client pour différents ports ou protocoles, ce qui permet à des architectures de service complexes de maintenir la connectivité pendant les déploiements.
Pour plus d'informations sur la configuration des alias clients, consultez le ServiceConnectClientAliasmanuel Amazon Elastic Container Service API Reference.
Bonnes pratiques pour le routage du trafic
Lors de la mise en œuvre du routage du trafic pour blue/green les déploiements avec Service Connect, tenez compte des meilleures pratiques suivantes :
-
Commencez par des tests basés sur les en-têtes : utilisez les règles d'en-tête du trafic de test pour valider le service écologique avec un trafic contrôlé avant de changer l'ensemble du trafic.
-
Configurer les contrôles de santé : assurez-vous que les services bleu et vert disposent de contrôles de santé appropriés configurés pour empêcher le routage du trafic vers des instances défectueuses.
-
Surveillez les indicateurs de service : suivez les indicateurs de performance clés pour les deux révisions de service pendant le déploiement afin d'identifier les problèmes à un stade précoce.
-
Planifier une stratégie de restauration : configurez les alias des clients et les règles de routage pour permettre un retour rapide au service bleu si des problèmes sont détectés.
-
Testez la logique de correspondance des en-têtes : validez vos règles de correspondance des en-têtes dans un environnement hors production avant de les appliquer aux déploiements de production.
Flux de travail de blue/green déploiement de Service Connect
Comprendre comment Service Connect gère le processus de blue/green déploiement vous permet de mettre en œuvre et de dépanner efficacement vos déploiements. Le flux de travail suivant montre comment les différents composants interagissent au cours de chaque phase du déploiement.
Phases de déploiement
Le blue/green déploiement de Service Connect passe par plusieurs phases distinctes :
-
État initial : Le service bleu gère 100 % du trafic de production. Tous les services clients de l'espace de noms se connectent au service bleu via le nom de service logique configuré dans Service Connect.
-
Enregistrement du service écologique : Lorsque le déploiement écologique commence, il est enregistré en AWS Cloud Map tant que point de terminaison « test ». Le proxy Service Connect des services clients reçoit automatiquement les configurations d'itinéraires de production et de test.
-
Routage du trafic de test : les demandes contenant les en-têtes de trafic de test (tels que
x-amzn-ecs-blue-green-test
) sont automatiquement acheminées vers le service vert par le proxy Service Connect. Le trafic de production continue d'affluer vers le service bleu. -
Préparation du transfert du trafic : une fois les tests réussis, le processus de déploiement prépare le transfert du trafic de production. Les services bleus et verts restent enregistrés et sains.
-
Transfert du trafic de production : la configuration de Service Connect est mise à jour pour acheminer le trafic de production vers le service écologique. Cela se produit automatiquement sans nécessiter de mises à jour du service client ou de modifications du DNS.
-
Période de cuisson : durée pendant laquelle les révisions du service bleu et vert sont exécutées simultanément après le déplacement du trafic de production.
-
Annulation de l'enregistrement du service bleu : une fois le transfert de trafic et la validation réussis, le service bleu est désenregistré AWS Cloud Map et le déploiement est terminé.
Comportement du proxy Service Connect
Le proxy Service Connect joue un rôle crucial dans la gestion du trafic lors des blue/green déploiements. Comprendre son comportement vous aide à concevoir des stratégies de test et de déploiement efficaces.
Principaux comportements des proxys lors des blue/green déploiements :
-
Découverte automatique des itinéraires : le proxy découvre automatiquement les itinéraires de production et de test AWS Cloud Map sans qu'il soit nécessaire de redémarrer l'application ou de modifier la configuration.
-
Routage basé sur les en-têtes : le proxy examine les en-têtes des demandes entrantes et achemine le trafic vers la version de service appropriée en fonction des règles de trafic de test configurées.
-
Intégration du contrôle de santé : le proxy achemine le trafic uniquement vers des instances de service saines, excluant automatiquement les tâches défectueuses du pool de routage.
-
Réessai et interruption de circuit : le proxy intègre une logique de réessai et des fonctionnalités de coupure de circuit, améliorant ainsi la résilience lors des déploiements.
-
Collecte de métriques : le proxy collecte des métriques détaillées pour les services bleus et verts, permettant une surveillance complète lors des déploiements.
Mises à jour de découverte de
L'un des principaux avantages de l'utilisation de Service Connect pour les blue/green déploiements est la gestion automatique des mises à jour de découverte de services. Les blue/green déploiements traditionnels nécessitent souvent des mises à jour DNS complexes ou une reconfiguration de l'équilibreur de charge, mais Service Connect gère ces modifications de manière transparente.
Au cours d'un déploiement, Service Connect gère :
-
Mises à jour de l'espace de noms : L'espace de noms Service Connect inclut automatiquement les points de terminaison de service bleus et verts, avec des règles de routage appropriées.
-
Configuration du client : tous les services clients de l'espace de noms reçoivent automatiquement des informations de routage mises à jour sans qu'il soit nécessaire de redémarrer ou de redéployer.
-
Transition progressive : les mises à jour de découverte des services se font progressivement et en toute sécurité, sans perturber les demandes en cours.
-
Support d'annulation : si une annulation est nécessaire, Service Connect peut rapidement rétablir les configurations de découverte de services afin de rediriger le trafic vers le service bleu.