Architecture Autoscale pour AWS

Le diagramme suivant illustre l’architecture de la fonction de mise à l’échelle automatique avec DNS comme distributeur de trafic.

AWS-autoscale-architecture-NLB

Le diagramme suivant illustre l’architecture de la fonction de mise à l’échelle automatique avec NLB comme distributeur de trafic.

AWS-autoscale-architecture-NLB

Console NetScaler

NetScaler Console est une solution Web permettant de gérer tous les déploiements NetScaler déployés sur site ou dans le cloud. Vous pouvez utiliser cette solution cloud pour gérer, surveiller et dépanner l’ensemble de l’infrastructure globale de distribution d’applications à partir d’une console unique, unifiée et centralisée basée sur le cloud. La console NetScaler fournit toutes les fonctionnalités nécessaires pour configurer, déployer et gérer rapidement la mise à disposition des applications dans les déploiements NetScaler, avec des analyses détaillées de l’état, des performances et de la sécurité des applications.

Les groupes Autoscale sont créés dans NetScaler Console et les instances NetScaler VPX sont provisionnées à partir de NetScaler Console. L’application est ensuite déployée via StyleBooks dans NetScaler Console.

Distributeurs de trafic (NLB ou DNS/Route53)

NLB ou DNS/route53 est utilisé pour distribuer le trafic sur tous les nœuds d’un groupe de mise à Autoscale. Pour plus d’informations, reportez-vous à la section Modes de distribution du trafic de mise à l’échelle automatique.

La console NetScaler communique avec le distributeur de trafic pour mettre à jour le domaine de l’application et les adresses IP des serveurs virtuels d’équilibrage de charge qui frontent l’application.

Groupe Autoscale de la console NetScaler

Le groupe Autoscale est un groupe d’instances NetScaler qui équilibrent la charge des applications en tant qu’entité unique et déclenchent le dimensionnement automatique en fonction des valeurs de paramètres de seuil configurées.

Clusters NetScaler

Un cluster NetScaler est un groupe d’instances NetScaler VPX et chaque instance est appelée nœud. Le trafic client est réparti entre les nœuds pour fournir une haute disponibilité, un débit élevé et une évolutivité.

Remarque

  • Les décisions de mise à l’échelle automatique sont prises au niveau du cluster et non au niveau du nœud.
  • Les clusters indépendants sont hébergés dans différentes zones de disponibilité et, par conséquent, la prise en charge de certaines fonctionnalités d’état partagées est limitée.

    Les sessions de persistance telles que la persistance de l’adresse IP source et d’autres, à l’exception de la persistance basée sur les cookie, ne peuvent pas être partagées entre les clusters. Cependant, toutes les fonctionnalités sans état telles que les méthodes d’équilibrage de charge fonctionnent comme prévu dans les différentes zones de disponibilité.

Groupes AWS Auto Scaling

AWS Auto Scaling group est un ensemble d’instances EC2 qui partagent des caractéristiques similaires et sont traitées comme un regroupement logique aux fins de la mise à l’échelle et de la gestion des instances.

Zones de disponibilité AWS

La zone de disponibilité AWS est un emplacement isolé à l’intérieur d’une région. Chaque région est composée de plusieurs zones de disponibilité. Chaque zone de disponibilité appartient à une seule région.

Modes de distribution du trafic

Lorsque vous déplacez le déploiement de vos applications vers le cloud, la mise à l’échelle automatique fait partie de l’infrastructure. Au fur et à mesure que les applications évolutives ou évolutives à l’aide de la mise à l’échelle automatique, ces modifications doivent être propagées au client. Cette propagation est réalisée à l’aide d’une mise à l’échelle automatique basée sur DNS ou NLB.

Autoscaling basé sur le NLB

En mode de déploiement basé sur NLB, le niveau de distribution vers les nœuds de cluster est l’équilibreur de charge réseau AWS.

Dans la mise à l’échelle automatique basée sur la NLB, une seule adresse IP statique est proposée par zone de disponibilité. Il s’agit de l’adresse IP publique qui est ajoutée à route53 et les adresses IP back-end peuvent être privées. Avec cette adresse IP publique, toute nouvelle instance NetScaler provisionnée lors du dimensionnement automatique fonctionne à l’aide d’adresses IP privées et ne nécessite pas d’adresses IP publiques supplémentaires.

Vous pouvez utiliser l’autoscaling basé sur NLB pour gérer à la fois le trafic TCP et UDP.

Mise à l’échelle automatique basée sur le DNS

Dans le cadre de l’autoscaling basé sur le DNS, le DNS fait office de couche de distribution pour les nœuds du cluster NetScaler. Les modifications de dimensionnement sont propagées au client en mettant à jour le nom de domaine correspondant à l’application. Actuellement, le fournisseur DNS est AWS Route53.

Remarque

Dans le cadre du dimensionnement automatique basé sur le DNS, chaque instance NetScaler nécessite une adresse IP publique.

Comment fonctionne l’autoscaling

L’organigramme suivant illustre le flux de travail de mise à l’échelle automatique.

Autoscale-workflow

La console NetScaler collecte des statistiques (utilisation du processeur, utilisation de la mémoire, débit) à partir des clusters provisionnés par Autoscale à un intervalle de temps d’une minute.

Les statistiques sont évaluées en fonction des seuils de configuration. Selon que les statistiques dépassent le seuil maximal ou fonctionnent en dessous du seuil minimum, la scale-out ou scale-in est déclenchée respectivement.

  • Si une scale-out est déclenchée :

    • Les nouveaux nœuds sont provisionnés.
    • Les nœuds sont attachés au cluster et la configuration est synchronisée du cluster vers le nouveau nœud.
    • Les nœuds sont enregistrés auprès de la console NetScaler.
    • Les nouvelles adresses IP de noeud sont mises à jour dans DNS/NLB.

Lorsque l’application est déployée, IPset est créée sur des clusters dans chaque zone de disponibilité et le domaine et les adresses IP de l’instance sont enregistrées auprès de DNS/NLB.

  • Si une mise à l’échelle est déclenchée :
    • Les adresses IP des nœuds identifiés pour la suppression sont supprimées.
    • Les nœuds sont détachés du cluster, déprovisionnés puis désenregistrés de la console NetScaler.

Lorsque l’application est supprimée, le domaine et les adresses IP d’instance sont radiés de DNS/NLB et IPset sont supprimés.

Exemple

Considérez que vous avez créé un groupe de mise à l’Autoscale nommé asg_arn dans une zone de disponibilité unique avec la configuration suivante.

  • Paramètre de seuil — Utilisation de la mémoire
  • Limite minimale : 40
  • Limite maximale : 85
  • Temps de visionnage : 3 minutes
  • Temps de recharge : 10 minutes
  • Délai d’expiration du raccordement au drain : 10 minutes
  • Délai d’expiration TTL — 60 secondes

Une fois le groupe Autoscale créé, les statistiques sont collectées à partir du groupe Mise à Autoscale. La stratégie Mise à l’Autoscale évalue également si un événement de mise à l’Autoscale est en cours et si une mise à l’échelle automatique est en cours, attend la fin de cet événement avant de collecter les statistiques.

Autoscale-example

Séquence des événements :

  • T1 et T2 : l’utilisation de la mémoire dépasse la limite maximale de seuil.
  • T3 - L’utilisation de la mémoire est inférieure aux limites maximales.
  • T6, T5, T4 : L’utilisation de la mémoire a dépassé la limite maximale de façon consécutive pendant trois durées de temps de montre.

    • Une mise à l’échelle est déclenchée.
    • Provisioning des nœuds a lieu.
    • La période de recharge est en vigueur.
  • T7 — T16 : l’évaluation Autoscale est ignorée pour cette zone de disponibilité de T7 à T16 car la période de refroidissement est en vigueur.

  • T18, T19, T20 - L’utilisation de la mémoire a dépassé la limite minimale de façon consécutive pendant trois durées de temps de montre.
    • La mise à l’échelle est déclenchée.
    • Le délai d’expiration du raccordement au drain est en vigueur.
    • Les adresses IP sont retirées du DNS/NLB.
  • T21 — T30 : l’évaluation Autoscale est ignorée pour cette zone de disponibilité de T21 à T30 car le délai de connexion au drain est en vigueur.

  • T31
    • Pour la mise à l’échelle automatique basée sur DNS, TTL est en vigueur.
    • Pour la mise à l’échelle automatique basée sur le NLB, le déprovisionnement des instances a lieu.
  • T32
    • Pour la mise à l’échelle automatique basée sur le NLB, l’évaluation des statistiques commence.
    • Pour la mise à l’échelle automatique basée sur le DNS, le déprovisionnement des instances a lieu.
  • T33 : Pour la mise à l’échelle automatique basée sur DNS, l’évaluation des statistiques commence.
Architecture Autoscale pour AWS