F5 NGINX PLUS

Haute disponibilité

NGINX Plus peut être configuré dans un cluster de haute disponibilité (HA) actif-passif ou actif-actif pour assurer la disponibilité des applications. Dans un cluster HA actif-passif, représenté ci-dessous, il y a deux serveurs NGINX Plus : un primaire qui traite activement le trafic et un backup qui surveille la santé du primaire et prend le relais automatiquement si le primaire actuel tombe en panne. Dans un cluster HA actif-actif, les deux serveurs traitent le trafic. Les configurations actif-actif-actif et d’autres configurations N+1 sont également prises en charge.

Un cluster NGINX Plus HA actif-passif utilise VRRP pour gérer une adresse IP virtuelle flottante, ce qui garantit que l’adresse IP est toujours disponible et que le trafic n’est pas interrompu
Un cluster NGINX Plus HA actif-passif utilise VRRP pour gérer une adresse IP virtuelle flottante, ce qui garantit que l’adresse IP est toujours disponible et que le trafic n’est pas interrompu

En plus du basculement automatique pour HA dans un cluster, NGINX Plus prend en charge la synchronisation de la configuration afin que la configuration que vous créez sur un serveur NGINX Plus dans un cluster soit propagée aux autres serveurs. Le partage d’état est également pris en charge afin que les fonctionnalités qui utilisent des informations d’état, telles que la persistance de session sticky-learn, la limitation du taux et les magasins de valeurs clés, fonctionnent correctement dans un environnement en cluster.

Architecture HA pour les applications web

Les fonctions d’équilibrage de charge avancé et de surveillance de l’état des applications de NGINX Plus assurent la résilience et l’évolutivité de vos serveurs d’application en amont. La configuration de NGINX Plus dans un cluster HA renforce la résilience des applications et élimine tout point de défaillance unique dans la pile d’applications. Si un serveur NGINX Plus n’est plus en mesure de traiter le trafic, un autre serveur prend le relais.

Vous pouvez également étendre la configuration pour prendre en charge plusieurs instances NGINX Plus actives-passives pour des niveaux de redondance plus élevés, ou si vous avez besoin d’un débit supérieur à celui qu’une seule paire active-passive peut fournir.

Fonctionnement de la solution HA

La solution HA active-passive de NGINX Plus est basée sur keepalived, qui utilise lui-même une implémentation du protocole VRRP (Virtual Router Redundancy Protocol). Après que vous avez installé le paquet nginx-ha-keepalived et configuré keepalived, celui-ci s’exécute en tant que processus séparé sur chaque serveur NGINX Plus du cluster et gère une adresse IP virtuelle partagée. L’adresse IP virtuelle est l’adresse IP annoncée aux clients en aval, par exemple via un enregistrement DNS pour votre service ou votre application.

En fonction de la configuration initiale, keepalived désigne un serveur primaire et lui assigne l’adresse IP virtuelle. Le primaire envoie des messages d’annonce VRRP au backup à intervalles réguliers, confirmant qu’il est sain et qu’il a vérifié que keepalived et NGINX Plus fonctionnent tous les deux. Si le backup ne reçoit pas trois annonces consécutives, il devient le nouveau primaire et prend en charge l’adresse IP virtuelle.

Installation et configuration de la solution HA

L’activation de NGINX Plus HA est très simple ; elle est implémentée dans le paquet nginx-ha-keepalived, que vous installez à partir du dépôt NGINX Plus. Pour les systèmes Debian et Ubuntu, par exemple, la commande est la suivante : nginx-ha-keepalived:

$ apt-get install nginx-ha-keepalived

Installez le paquet sur chaque serveur NGINX Plus dans le cluster HA, puis exécutez le script nginx-ha-setup inclus pour configurer et exécuter le logiciel HA. Pour des instructions complètes, voir le Guide d’administration de NGINX Plus.

Le basculement HA a lieu si le serveur NGINX Plus primaire cesse de fonctionner en raison d’une condition catastrophique telle qu’une défaillance matérielle, un arrêt du système d’exploitation ou l’arrêt du logiciel NGINX Plus. Les contrôles de santé internes peuvent être étendus pour identifier d’autres situations de défaillance si nécessaire.

Synchronisation de la configuration d’un cluster HA

Vous pouvez synchroniser la configuration entre les serveurs NGINX Plus d’un cluster, ce qui vous évite de devoir gérer les serveurs individuellement. Il vous suffit d’apporter des modifications à un serveur « primaire » désigné, puis de les transférer aux autres serveurs du cluster.

Cette fonctionnalité a été introduite dans NGINX Plus R12 et est implémentée dans le paquet nginx-sync distribué à partir du dépôt NGINX Plus. La commande pour les systèmes Debian et Ubuntu est la suivante :

$ apt-get install nginx-sync

Pour plus de détails, voir le Guide d’administration de NGINX Plus.

Partage de l’état à travers un cluster HA

Les serveurs NGINX Plus d’un cluster peuvent partager des informations d’état, comme le prévoit le module Zone Synchronization (introduit dans NGINX Plus R15). Cela permet aux fonctions qui maintiennent l’état de fonctionner correctement dans un environnement clusterisé. Les fonctions NGINX Plus suivantes sont compatibles avec les clusters :

  • Persistance de la session sticky-learn
  • Limitation des débits
  • Magasins clé-valeur

Pour plus de détails, voir le Guide d’administration de NGINX Plus et la documentation de référence du module zone_sync.

HA pour NGINX Plus dans les environnements cloud

La solution HA basée sur keepalived ne fonctionne que dans les déploiements sur site de NGINX Plus, mais il existe des solutions HA pour les environnements cloud :

Pour en savoir plus

Étapes suivantes