La haute disponibilité est une technique qui garantit la disponibilité du système et réduit ou empêche la perte de données dans le cas d’une défaillance de machine. De la même façon que d’autres composants ArcGIS Enterprise, ArcGIS Server peut être déployé dans une configuration haute disponibilité avec un système tiers d’équilibrage de la charge.
Cette configuration représente une variation du déploiement sur une seule machine haute disponibilité (actif-passif), dans lequel l’équilibreur de la charge est configuré pour répartir constamment la charge sur tous les sites. Il n'existe aucun site de secours dans cette configuration.
Cette architecture implique la configuration d’au moins deux sites ArcGIS Server derrière un système tiers d’équilibrage de la charge afin d’augmenter la capacité de votre déploiement ArcGIS Server. Vous pouvez utiliser cette technique pour compenser les limites en termes de haute disponibilité décrites dans les scénarios de déploiement sur une seule machine et de déploiement sur une seule machine avec un serveur proxy inverse ou pour ajouter des machines.
Alors que vous pouvez augmenter votre capacité et bénéficier d'une haute disponibilité en utilisant des sites à plusieurs machines, les déploiements de type actif-actif présentent des avantages et des inconvénients que nous allons exposer ci-dessous.
Une architecture de type actif-actif consiste à cloner le site à une seule machine et à en placer des instances indépendantes derrière un système d’équilibrage de la charge. Techniquement parlant, cette configuration ne peut pas être assimilée à un site à plusieurs machines, car les sites sont indépendants les uns des autres, composés d’une seule machine ArcGIS Server, et ils possèdent chacun leur emplacement de configuration et leurs répertoires du serveur en local.
Le déploiement d’un site ArcGIS Server sur plusieurs machines simplifie considérablement l’administration du serveur. Toutefois, l’architecture de type actif-actif peut être utilisée dans des scénarios pour lesquels le nombre et les paramètres des services sont bien définis et restent statiques. Dans ce cas, une telle configuration peut offrir des avantages significatifs en termes de performances sur des sites à plusieurs machines, particulièrement pour les services de carte mis en cache.
Cette architecture peut faciliter le remplacement des machines obsolètes ou défectueuses, l’application des mises à niveau ou l’ajout et la suppression des machines du site si besoin, sans qu’il soit nécessaire d’interrompre les services ou d’abandonner les requêtes. Toutefois, avec ce type d’architecture, vous êtes chargé de synchroniser tous les sites. Cette tâche d’administration supplémentaire rend ce modèle de déploiement peu pratique en présence d’un grand nombre de machines, services ou caches qui changent souvent. Vous ou votre équipe informatique devez également avoir une bonne connaissance des systèmes d’équilibrage de la charge tiers.
Machines ArcGIS Server, répertoires du serveur et emplacement de configuration
Chaque machine ArcGIS Server doit posséder en local son propre emplacement de configuration et ses répertoires cache, de tâches et système. Les performances sont ainsi optimisées et l’interdépendance minimisée. A l'inverse, le ou les répertoire(s) en sortie doivent être partagés entre chaque site. Pour plus de détails, reportez-vous à la rubrique Autres remarques ci-après.
Données
Si vous utilisez des sources de données basées sur des fichiers dans vos services SIG, nous vous conseillons de les stocker localement sur chaque machine ArcGIS Server plutôt que sur des partages réseau afin d’optimiser les performances de vos services. Dans certains cas, lorsque vous manipulez des volumes importants d'images par exemple, la seule option pratique consiste à partager vos fichiers sur le réseau. Si vous utilisez des fichiers de ressources partagées sur le réseau, vous devez choisir un périphérique de stockage configuré pour la haute disponibilité.
Si vous utilisez des bases de données, vous pouvez dédier une base de données à chaque site : une base de données pour votre site principal et une autre pour votre site de secours. Pour que les bases de données restent synchronisées, vous pouvez faire appel à des techniques de réplication de base de données, ou, le cas échéant, de géodatabase. Vous pouvez également utiliser d'autres techniques de haute disponibilité proposées par votre fournisseur de base de données.
serveur proxy inverse
Dans cette configuration, un système d'équilibrage de la charge est requis. Au minimum, ce composant répartit la charge sur tous les sites. Les systèmes d'équilibrage de la charge présentent des configurations diverses pour répartir la charge, telles que la rotation et le nombre de connexions le moins élevé. Le choix de la distribution appropriée de la charge dépend des services Web en cours d’exécution sur les sites ArcGIS Server et de leurs modes d’utilisation.
Les systèmes d'équilibrage de la charge utilisent habituellement plusieurs options de gestion des défaillances. Par exemple, vous pouvez définir des règles dans le système d’équilibrage de la charge pour l’empêcher de transférer des requêtes à une machine indisponible en raison d’une défaillance matérielle ou réseau ou à un service ArcGIS Server spécifique qui n’est pas disponible. Si vous utilisez des sites à une seule machine comme dans ce scénario, les requêtes envoyées à une machine spécifique sont systématiquement gérées par cette machine.
L’utilisation de ArcGIS Web Adaptor est facultative et habituellement nécessaire uniquement pour ce scénario si vous souhaitez utiliser l’authentification au niveau du Web. Vous pouvez le configurer sur la même machine que votre ArcGIS Server ou sur une machine dédiée. Dans les deux cas, si vous utilisez ArcGIS Web Adaptor, vous devez configurer une instance ArcGIS Web Adaptor distincte sur les deux sites de la configuration de type actif-actif.
Le système d’équilibrage de la charge lui-même joue généralement le rôle de serveur proxy inverse. Dans certains scénarios, vous pourrez avoir configuré un serveur proxy inverse indépendamment du système d’équilibrage de la charge.
Si votre système d’équilibrage de la charge réseau prend en charge une fonction de contrôle de l’intégrité, vous pouvez utiliser l’extrémité de contrôle de l’intégrité de ArcGIS Server pour déterminer si le site peut recevoir des requêtes. Ceci est utile pour déterminer rapidement si le site rencontre une défaillance logicielle ou matérielle. Pour plus d'informations, reportez-vous à Contrôle de l'intégrité dans l'API REST d'ArcGIS.
Remarques relatives aux configurations de type actif-actif
Gardez les points suivants à l’esprit lorsque vous planifiez un site ArcGIS Server avec une configuration haute disponibilité de type actif-actif.
Synchronisation des services
Contrairement à un site à plusieurs machines authentique, cette configuration exige que tous les sites derrière le système d'équilibrage de la charge hébergent exactement le même contenu et adoptent le même modèle de sécurité. Vous devez vous assurer que tous les sites semblent identiques au système d'équilibrage de la charge.
Voici quelques techniques qui permettent de synchroniser les services ArcGIS Server sur les sites principaux et de reprise :
- Génération de scripts : ArcGIS Server inclut une API REST qui permet de rédiger des scripts de tâches d’administration, telles que la publication de services et la modification de leurs paramètres de sécurité. Vous pouvez créer vos propres scripts pour appliquer des modifications cohérentes à toutes les machines ArcGIS Server de votre déploiement. Les scripts sont très utiles lorsque vous devez procéder à des ajustements mineurs, tels que la modification des paramètres de sécurité d'un service ou le remplacement de ce dernier.
Remarque :
Chaque site peut être créé à l’aide d’un script. Une fois tous les sites créés, effectuez une sauvegarde à partir de l’un des sites, puis restaurez la sauvegarde sur chacun des autres sites. Ceci garantit que toutes les machines utilisent la même clé de chiffrement.
- Virtualisation : créez un modèle de machine virtuelle et utilisez-le pour lancer de nouveaux sites. Comme mentionné précédemment, ceci garantit que toutes les machines utilisent la même clé de chiffrement. En outre, chaque modèle disposera d'un exemplaire des données requises par les services SIG (à moins qu'une base de données ne soit utilisée) et tous les services publiés et configurés. Si vous devez procéder à des modifications, telles que l’ajout ou la mise à jour de services, créez un modèle pour lancer de nouvelles machines virtuelles qui remplaceront le groupe de machines ArcGIS Server utilisé par le système d’équilibrage de la charge. Vous pouvez également utiliser les modèles de machines virtuelles pour récupérer des machines ArcGIS Server obsolètes.
Voici la procédure recommandée pour appliquer des modifications à vos sites dans le cadre de ce scénario de déploiement :
- Apportez tout d’abord les modifications administratives à un site se trouvant en mode de secours. Par exemple, ajoutez un nouveau service et modifiez la sécurité d'un autre service sur un site qui ne traite pas les requêtes. Ceci garantit que les applications utilisant votre site principal ne sont pas affectées.
- Configurez manuellement votre système d'équilibrage de la charge pour transférer toutes les requêtes au site de secours sur lequel les modifications ont été apportées.
- Appliquez les mêmes modifications au site inactif.
- Rétablissez le système d'équilibrage de la charge pour que les requêtes soient redirigées vers le site principal d'origine et quittent le site de secours en mode de secours.
Vous pouvez apporter manuellement les modifications susmentionnées à votre site via ArcGIS Server Manager, des scripts ou des images virtuelles.
Partage de répertoire en sortie
Certaines opérations de service de ArcGIS Server font référence à des ressources dans un ou plusieurs répertoires en sortie. Par exemple, les services de carte peuvent écrire des images dans un répertoire en sortie et référencer ces images via une URL dans la réponse à la requête. Afin que les clients reçoivent correctement l'image, tous les sites de votre configuration active-active doivent référencer le même répertoire en sortie. Cela peut être réalisé en plaçant les répertoires en sortie sur une ressource du réseau et en les partageant avec vos sites.
Voici une liste d’opérations de service qui utilisent les répertoires en sortie :
- Création d'un réplica de service d'entités (service d'entités)
- Téléchargement d'une image raster (service d'imagerie)
- Exportation d'une image de carte (service de carte)
- Exportation d'un diagramme schématique (capacité schématique dans un service de carte)
- Exportation d'une carte web (service de géotraitement)
Exécution asynchrones de services de géotraitement
Les services de géotraitement ArcGIS Server prennent en charge deux modes d’exécution : synchrone et asynchrone. L'exécution synchrone suit un modèle requête-réponse passif et est entièrement prise en charge dans une configuration active-active. L'exécution asynchrone suit un modèle requête-réponse dynamique et est le mode par défaut. Pour utiliser l’exécution asynchrone dans une configuration active-active, vous devez prendre en compte les points suivants :
- Lorsque vous soumettez une tâche de géotraitement asynchrone, l'ID de tâche qui vous est renvoyé correspond à la tâche soumise et à ses sorties. Seul le site ArcGIS Server qui reçoit la requête d’origine peut reconnaître cet ID. C’est la raison pour laquelle la configuration de type actif-actif exige que vous définissiez l’affinité dans votre système d’équilibrage de la charge (appelée également sessions rémanentes) si vous souhaitez utiliser l’exécution asynchrone. Cela permet de fournir une disponibilité élevée pour les résultats de géotraitement asynchrone et de services de carte. Reportez-vous à votre fournisseur d'équilibrage de charge pour comprendre les implications de l'activation des sessions rémanentes.
- Si votre service de géotraitement n’utilise pas de services de carte pour rendre les sorties et les sans sortie du type Fichier définies, vous pouvez sélectionner l’exécution synchrone pour vos services de géotraitement. Aucune session rémanente dans votre équilibrage de charge n'est requise.
Utilisation de la sécurité à base de jetons
Si vous utilisez l’authentification à base de jetons, également appelée authentification au niveau du serveur, tous les sites de cette configuration doivent utiliser exactement la même clé de jeton partagée. Sinon, les jetons générés pour une machine ne seront pas valides s'ils sont utilisés pour l'autre machine. Pour dupliquer les clés de jetons partagées sur plusieurs sites, vous pouvez mettre à jour les paramètres de jeton dans Manager.
Approches de la mise à niveau
Pour s’assurer d’un temps d’arrêt minimal, vous pouvez mettre vos sites ArcGIS Server à niveau en séquence. Lors de la mise à niveau d’un site, vous pouvez configurer votre système d’équilibrage de la charge pour empêcher le transfert de requêtes vers le site indisponible et répartir la charge entre les autres sites indépendants dans votre architecture de type actif-actif.
L’autre approche, qui consiste à mettre à niveau tous les sites ArcGIS Server en parallèle, est pratique si votre organisation peut tolérer des temps d’arrêt et une certaine perte de données. Dans la mesure où tous les sites d’une architecture de type actif-actif sont indépendants les uns des autres, vous pouvez les mettre à niveau simultanément sans problème d’interdépendance.
Fédération
Du fait qu’il existe des emplacements de configuration distincts pour chaque site, les déploiements ArcGIS Server de type actif-actif sur une seule machine ne peuvent pas être fédérés avec Portal for ArcGIS. Pour fédérer un site de serveur haute disponibilité avec votre portail, configurez un site à plusieurs machines.
Vous avez un commentaire à formuler concernant cette rubrique ?