Les poids de point de terminaison peuvent en effet être utilisés pour effectuer des tests A / B avec AWS Global Accelerator, mais cette capacité s'applique spécifiquement aux accélérateurs standard, et non aux accélérateurs de routage personnalisés.
Poids de terminaison et tests A / B dans les accélérateurs standard
Dans un accélérateur standard, vous pouvez attribuer des poids aux points de terminaison individuels dans un groupe de points de terminaison. Ces poids déterminent la proportion de trafic acheminée vers chaque point final. En ajustant les poids, vous pouvez contrôler la quantité de trafic à chaque version de votre application, permettant un changement de trafic progressif pour des scénarios comme les tests A / B ou les versions canaries.
Par exemple, si vous avez deux points de terminaison, vous pouvez attribuer des poids de 1 et 255, donc environ 1/256 du trafic passe au premier point de terminaison (par exemple, une nouvelle version de votre application) et 255/256 à la seconde (la version stable actuelle). Vous pouvez ensuite augmenter progressivement le poids de la nouvelle version pour déplacer plus de trafic vers elle, surveiller les performances et l'expérience utilisateur avant le déploiement complet. La définition du poids d'un point de terminaison sur 0 arrête complètement le trafic vers ce point de terminaison. Cette distribution de trafic pondérée est basée sur le rapport du poids de chaque point final au poids total dans le groupe [2] [3] [4] [5].
Pourquoi les poids de point de terminaison ne sont pas utilisés pour les tests A / B dans les accélérateurs de routage personnalisés
En revanche, les accélérateurs de routage personnalisés fonctionnent différemment. Ici, les points de terminaison ne sont pas des instances EC2 individuelles ou des équilibreurs de charge, mais plutôt des sous-réseaux VPC contenant des instances EC2. Le routage du trafic est basé sur les mappages de ports statiques des ports d'écoute de l'accélérateur vers les ports de destination sur les instances EC2 dans ces sous-réseaux.
Surtout, les accélérateurs de routage personnalisés ne prennent pas en charge les poids de point de terminaison pour la distribution du trafic. Le trafic est acheminé de manière déterministe vers le sous-réseau mappé et les ports sans équilibrage de charge ni distribution pondérée. De plus, les contrôles de santé et les bascules ne sont pas effectués pour les accélérateurs de routage personnalisés, et le trafic est acheminé indépendamment de la santé des points de terminaison. Cette conception est destinée à des cas d'utilisation comme VoIP ou Gaming, où vous avez besoin d'un contrôle précis sur quelle instance gère une connexion, plutôt que la distribution probabiliste du trafic [4] [7] [9].
Résumé
- Les accélérateurs standard prennent en charge les poids de point de terminaison, vous permettant d'effectuer des tests A / B en contrôlant la part du trafic que chaque point final reçoit.
- Les accélérateurs de routage personnalisés ne prennent pas en charge les poids de point de terminaison; Le routage du trafic est déterministe en fonction des mappages de ports vers les sous-réseaux VPC, ce qui fait des tests A / B via des poids non possibles.
- Pour les tests A / B avec le routage personnalisé, vous devrez implémenter le routage au niveau de l'application ou d'autres mécanismes en dehors de la configuration de poids de l'accélérateur global.
Par conséquent, si votre objectif est d'effectuer des tests A / B par la pondération du trafic, vous devez utiliser un accélérateur standard plutôt qu'un accélérateur de routage personnalisé [2] [3] [4] [7].
Citations:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-endpoint-weights.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[3] https://cloudchipr.com/blog/aws-global-accelerator
[4] https://www.alibabacloud.com/help/en/ga/user-guide/overview-4/
[5] https://www.nops.io/glossary/what-is-aws-global-accelerator/
[6] https://awscli.amazonaws.com/v2/documentation/api/latest/reference/globalaccelerator/add-endpoint.html
[7] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-constom-routing-guidelines.html
[8] https://aws.plainenglish.io/udgetantspanding-aws-holbal-accelerator-and-when-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html