Building for Production: Applications Web - Planification de la récupération

introduction

Maintenant que nous avons l’exemple de configuration de l’application, nous devrions élaborer un plan de reprise. Un plan de récupération est un ensemble de procédures documentées permettant de récupérer d’éventuelles défaillances ou erreurs d’administration dans la configuration de votre serveur. La création d’un plan de récupération vous aidera également à identifier les composants et les données essentiels de la configuration de votre serveur d’applications.

Un plan de récupération très élémentaire en cas de défaillance d’un serveur peut comprendre la liste des étapes que vous avez suivies pour effectuer votre déploiement initial de serveur, ainsi que des procédures supplémentaires permettant de restaurer les données d’application à partir de sauvegardes. Outre une bonne documentation, un meilleur plan de récupération peut tirer parti des scripts de déploiement et des outils de gestion de la configuration, tels que Ansible, Chef ou Puppet, pour automatiser et accélérer le processus de récupération.

image: https: //assets.digitalocean.com/articles/architecture/production/recovery_plans.png [Diagramme du plan de récupération]

Dans cette partie du didacticiel, nous montrerons comment créer un plan de récupération de base pour l’exemple d’application WordPress que nous avons configuré. Vos besoins seront probablement différents, mais cela devrait vous aider à concevoir votre propre plan de relance.

Exigences du plan de reprise

Nos exigences de base sont que nous puissions récupérer de la perte de tout serveur dans la configuration et restaurer les fonctionnalités et les données de l’application (jusqu’à un moment raisonnable). Pour atteindre cet objectif, nous allons créer un inventaire de chaque serveur, déterminer quelles données doivent être sauvegardées et élaborer un plan de récupération basé sur nos actifs disponibles. Bien sûr, si l’un de ces plans de récupération est exécuté, l’application doit être testée pour vérifier qu’elle a été restaurée correctement.

Nous proposerons un plan de récupération pour chaque type de serveur composant notre application:

  • Serveur de base de données

  • Serveurs d’application

  • Serveur d’équilibrage de charge

Commençons par le serveur de base de données.

Serveur de base de données

En retraçant nos étapes (et en consultant le tutoriel précédent), nous savons que notre serveur de base de données a été créé en procédant comme suit:

  1. Installer MySQL

  2. Configurer MySQL

  3. Redémarrez MySQL

  4. Créer une base de données et des utilisateurs

Plan de récupération du serveur de base de données

En examinant la manière dont nous avons créé le serveur de base de données, nous savons qu’il peut être recréé à partir de rien en dehors du contenu de la base de données elle-même (créée à l’étape 4). Dans notre exemple WordPress, la plupart des données de l’application (c.-à-d. articles de blog) est stocké dans la base de données. Cela signifie que nous devons conserver des sauvegardes de la base de données si nous voulons pouvoir récupérer le serveur de base de données. Nous allons également sauvegarder le fichier de configuration MySQL puisqu’il a été légèrement modifié.

Sur la base de notre inventaire du serveur de base de données, voici un aperçu de notre plan de récupération du serveur de base de données:

_ _ Sauvegardes requises:

  • Base de données MySQL

  • Configuration de MySQL

Étapes de récupération:

  1. Installer MySQL

  2. Restaurez le fichier de configuration MySQL et, le cas échéant, mettez à jour l’adresse IP d’écoute.

  3. Restaurer la base de données

  4. Redémarrez MySQL _ _

Maintenant que nous avons un aperçu du plan de récupération du serveur de base de données, nous devons définir les détails des étapes de la récupération et veiller à ce que nous maintenions les sauvegardes requises. Nous allons laisser au lecteur le soin de détailler les étapes de la récupération, car elles diffèrent en fonction de la configuration réelle. Dans l’exemple, nous pouvons utiliser le didacticiel de déploiement d’application en tant que documentation sur laquelle baser nos étapes de récupération.

Serveurs d’application

En retraçant nos étapes (et en consultant le tutoriel précédent), nous savons que les serveurs d’application ont été créés en procédant comme suit:

  1. Installer et configurer Apache et PHP

  2. Téléchargez et configurez l’application (WordPress)

  3. Copier les fichiers d’application dans DocumentRoot

  4. Répliquer les fichiers d’application sur tous les serveurs d’applications

Plan de récupération du serveur d’applications

En examinant les étapes de configuration, nous savons que notre serveur d’applications peut être recréé à partir de zéro, à part les fichiers de l’application. Dans notre exemple WordPress, les fichiers de l’application incluent les fichiers de configuration WordPress (qui incluent les informations de connexion à la base de données), les plugins WordPress installés et les téléchargements de fichiers. Cela signifie que nous devons conserver des sauvegardes des fichiers de l’application si nous voulons pouvoir récupérer un serveur d’application.

Étant donné que les fichiers d’application sont configurés pour être répliqués sur plusieurs serveurs d’applications, nous n’avons besoin de restaurer les données à partir de sauvegardes que si tous les serveurs d’applications échouent ou si les données sont corrompues. Si au moins un serveur d’applications fonctionne correctement et avec les fichiers d’application corrects, la configuration de la réplication de fichiers restaurera les fichiers appropriés sur le nouveau serveur d’applications.

Sur la base de notre inventaire des serveurs d’applications, décrivons notre plan de récupération des serveurs d’application:

_ _ Sauvegardes requises:

  • Fichiers d’application (+ / var / www / html / +, dans notre exemple)

Étapes de récupération:

  1. Installer et configurer Apache et PHP

  2. Répliquer les fichiers d’application à partir du serveur d’applications actif

  3. Si les fichiers d’application ne peuvent pas être répliqués (tous les serveurs d’application sont morts), effectuez une restauration à partir de sauvegardes. _ _

Maintenant que nous avons un aperçu du plan de récupération du serveur d’applications, nous devons élaborer les détails des étapes de la récupération et veiller à ce que nous maintenions les sauvegardes requises. Nous allons laisser au lecteur le soin de détailler les étapes de la récupération, car elles diffèrent en fonction de la configuration réelle. Dans l’exemple, nous pouvons utiliser le didacticiel de déploiement d’application en tant que documentation sur laquelle baser nos étapes de récupération.

Serveur d’équilibrage de charge

En retraçant nos étapes (et en consultant le tutoriel précédent), nous savons que le serveur d’équilibrage de charge a été créé en procédant comme suit:

  1. Obtention du certificat SSL et des fichiers associés

  2. HAProxy installé

  3. HAProxy configuré

  4. HAProxy redémarré

Plan de récupération du serveur Load Balancer

En examinant cet inventaire, nous savons que notre serveur d’équilibrage de charge peut être recréé à partir de zéro, à l’exception des fichiers associés au certificat SSL. Cela signifie que nous devons conserver des sauvegardes des fichiers de certificat SSL si nous voulons pouvoir récupérer le serveur d’équilibrage de charge. Nous allons également inclure le fichier de configuration HAProxy dans nos sauvegardes.

Sur la base de notre inventaire du serveur d’équilibrage de charge, décrivons brièvement notre plan de récupération du serveur:

_ _ Sauvegardes requises:

  • Certificat SSL (PEM) et fichiers associés

  • Fichier de configuration HAProxy

Étapes de récupération:

  1. Restaurer les fichiers de certificat SSL

  2. Installer HAProxy

  3. Restaurer le fichier de configuration HAProxy

  4. Redémarrer HAProxy _ _

Maintenant que nous avons un aperçu du plan de récupération du serveur de l’équilibreur de charge, nous devons définir les détails des étapes de la récupération et veiller à ce que nous maintenions les sauvegardes requises. Nous allons laisser au lecteur le soin de détailler les étapes de la récupération, car elles diffèrent en fonction de la configuration réelle. Dans l’exemple, nous pouvons utiliser le didacticiel de déploiement d’application en tant que documentation sur laquelle baser nos étapes de récupération.

autres considérations

Si la récupération de l’un des composants nécessite de reconfigurer d’autres composants, par exemple, l’adresse IP du serveur de base de données change, veillez à inclure les étapes appropriées dans vos plans de récupération.

Vous voudrez également rédiger des plans de récupération pour tous les autres composants de votre configuration, tels que votre DNS, et pour tous les composants que vous ajouterez ultérieurement, tels que vos serveurs de sauvegarde, la surveillance et la journalisation. Au fur et à mesure que la configuration de votre serveur évolue, vous devez effectuer une itération sur vos plans de récupération existants.

Nous n’avons pas encore expliqué comment créer et restaurer des sauvegardes, nous devrons donc compléter ces informations ultérieurement. Nous allons couvrir les sauvegardes dans la prochaine partie de ce tutoriel.

Conclusion

Après avoir préparé les plans de récupération pour vos différents serveurs, vous devez conserver ces informations dans un endroit accessible à quiconque ayant besoin de pouvoir effectuer une récupération, complètement séparé de la configuration de votre serveur.

Passez au didacticiel suivant pour commencer à configurer les sauvegardes nécessaires à la prise en charge de votre nouveau plan de récupération: Building for Production : Applications Web - Sauvegardes.