Utilisation de AWS System Manager pour une application .NET dans le cadre d’un PRA

Utilisation de AWS System Manager pour une application .NET dans le cadre d’un PRA

Plan de Reprise d’Activité :
Le PRA peut être conçu en fonction de 2 critères principaux : la rapidité de la reprise et le coût du modèle adopté.
 

Offre AWS

 

Il faut des objectifs minimaux de temps de récupération (RTO) et de point de récupération (RPO)


Un cas classique de PAR avec une faible contrainte de temps (RTO : 24H RPO : 4H) consiste à utiliser des sauvegardes basées sur des snapshots des volumes EBS utilisés par les serveurs. Les snapshots sont réalisés avec une fréquence de l’ordre de quelques heures et sont copiés dans une région AWS de secours. Les copies de snapshots permettent ensuite de reconstruire les serveurs er bases RDS sur la région de secours. L’infrastructure (VPC, … ) est généralement préparée à l’avance en intégrant si nécessaire une mise à jour périodique.

Outre la construction des serveurs avec les fichiers de sauvegarde, il peut être nécessaire de reconfigurer l’OS ou l’application : par exemple une configuration réseau adaptée au VPC de secours.

AWS System Manager :
AWS Systems Manager repose sur un agent préinstallé avec les AMIs standard proposées par AWS, en version Windows notamment. L’agent exécuté comme service Windows permet un contrôle au niveau de l’OS : lecture de données ou exécution de commandes sur le serveur. Il est piloté par le service AWS Systems Manager sur la console AWS ou tout autre outil reposant sur les APIs (cli …). AWS Systems Manager augmente la visibilité et le contrôle des resources EC2 sur AWS avec une vue au niveau OS. Le service fournit une interface utilisateur unifiée qui permet d'afficher les données opérationnelles et d'automatiser les tâches opérationnelles des serveurs. Systems Manager simplifie la gestion des ressources et des applications, raccourcit le délai de détection et de résolution des problèmes opérationnels et facilite l'exploitation et la gestion de l’infrastructure de façon sécurisée à grande échelle.

Cas d’usage :
Pour une application de commerce B2B migrée récemment et développée en .NET, un PRA est mis en place par le client et Edifixio a la responsabilité de maintenir en conditions opérationnelles cette application. Des tests réguliers du PRA sont réalisés notamment par l’équipe d’Edifixio en Inde qui gère le support en 24/7 de nos différents clients. L’architecture cible est maintenue sur la région de PRA (VPC, ELB, …) avec en particulier un contrôleur de domaine Windows déporté. La gestion des backups et des copies vers la zone de PRA est automatisée. Les serveurs EC2 sont reconstruits à l’aide de la solution de backup en utilisant des scripts. Les nouveaux serveurs sont de véritables clones des serveurs sources dans le domaine Windows. Les entrées DNS externes sont modifiées sur AWS Route53 pour accéder à l’environnement quand les serveurs du PAR sont prêts.

Une étape intermédiaire consiste à adapter sur chaque serveur la configuration réseau localement au VPC de PRA pour établir la connexion au contrôleur de domaine Windows local. Cette opération est lancée sur chaque serveur au moyen de AWS Systems Manager. L'outil Run Command est utilisé avec un document SSM dédié. Le document SSM a été créé pour modifier la configuration réseau au niveau OS de chaque serveur. Il est écrit sous la forme d’un fichier en JSON (JavaScript Object Notation) pour inclure les paramètres nécessaires et exécuter les commandes en PowerShell.
 

Commandes en PowerShell


La commande SSM est inclue dans le script Boto/Python qui exécutent les opérations nécessaires pour lancer le PRA.
Les nouveaux serveurs étant clonés des originaux, ceux-ci sont intégrés au domaine Windows existant dès que le changement DNS est opérationnel.

Conclusion :
L’équipe OT d’Edifixio est en mesure de maintenir une application .NET, notamment dans le cadre d’un Plan de Reprise d’Activité. Le PRA en place est basé sur le plus simple et le plus économique des concepts : backup/restore sur une région AWS dédiée. Les serveurs qui font partie d’un domaine Windows sont simplement clonés sur la région de PRA. La mise en œuvre du service AWS Systems Manager permet de reconfigurer les paramètres réseau des serveurs pour assurer la reprise de l’application sur le VPC de PRA.