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 Amazon ECS bleu/vert, linéaire et Canary
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 : les
testTrafficRulesdans la configuration de Service Connect déterminent comment identifier et acheminer le trafic de test vers le déploiement vert. 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 requêtes dirigent le trafic vers la révision de test. Par défaut, Service Connect reconnaît l’en-têtex-amzn-ecs-blue-green-testdes 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 requêtes correspondant aux règles de test seront transférées vers le déploiement vert.
La puissance de cette approche réside dans le fait qu’elle permet de gérer la complexité de la découverte de service 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 de service séparément, car le maillage de services gère tout cela.
Routage 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.
Test des 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’en-tête x-amzn-ecs-blue-green-test des protocoles HTTP lorsqu’aucune règle personnalisée n’est spécifiée. Lorsque cet en-tête est présent dans une requête, le proxy Service Connect achemine automatiquement la requête vers le déploiement vert à des fins de test.
Les règles d’en-tête du trafic de test vous permettent :
-
d’acheminer les demandes avec des en-têtes spécifiques vers la révision de service verte ;
-
de tester de nouvelles fonctionnalités avec un sous-ensemble de trafic ;
-
de valider le comportement du service avant le basculement complet du trafic ;
-
de mettre en œuvre des stratégies de test canary.
-
de 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 en toute transparence avec votre architecture applicative 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 les demandes qui sont acheminées vers la révision de service verte.
La correspondance des en-têtes prend en charge :
-
la correspondance exacte des valeurs d’en-tête ;
-
la vérification de la présence d’en-têtes ;
-
la correspondance basée sur des modèles ;
-
plusieurs combinaisons d’en-têtes.
Les exemples de cas d’utilisation incluent le routage des demandes avec des chaînes d’agent utilisateur spécifiques, des versions d’API ou des indicateurs de fonctionnalité 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 :
-
maintiennent des noms DNS cohérents pour les connexions client ;
-
permettent la commutation automatique du trafic entre les révisions de service ;
-
prennent en charge les stratégies de migration progressive du trafic ;
-
fournissent 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.
Pratiques exemplaires en matière de test de 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 :
-
Commencer 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 vert avec un trafic maîtrisé avant de transférer tout le trafic.
-
Configurer les surveillances de l’état : assurez-vous que les services bleu et vert disposent de surveillances de l’état appropriés configurés pour empêcher le routage du trafic vers des instances défectueuses.
-
Surveiller les métriques de service : suivez les indicateurs de performance clés des 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 clients et les règles de routage pour permettre une restauration rapide du service bleu si des problèmes sont détectés.
-
Tester 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 à des 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 résoudre 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
Un 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 requêtes 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 au 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 vert. Cela se produit automatiquement sans nécessiter de mises à jour du service client ou de modifications du DNS.
-
Durée de l’intégration : durée pendant laquelle les révisions de service bleues et vertes sont exécutées simultanément après le transfert 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 requêtes 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 de la surveillance de l’état : le proxy n’achemine le trafic que vers des instances de service saines, excluant automatiquement les tâches défectueuses du groupe de routage.
-
Nouvelle tentative et disjoncteur : le proxy intègre une logique de réessai et des fonctionnalités de disjoncteur, 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.
Mise à jour de la découverte de service
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 les éléments suivants :
-
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 nécessiter un redémarrage ni un redéploiement.
-
Transition progressive : les mises à jour de la découverte de service se font progressivement et en toute sécurité, sans perturber les requêtes en cours.
-
Support de restauration : si une restauration est nécessaire, Service Connect peut rapidement rétablir les configurations de découverte de service afin de rediriger le trafic vers le service bleu.