Erstellen für die Produktion: Webanwendungen - Wiederherstellungsplanung

Einführung

Nachdem wir unsere Beispielanwendung eingerichtet haben, sollten wir einen Wiederherstellungsplan erstellen. Ein Wiederherstellungsplan besteht aus einer Reihe dokumentierter Verfahren zur Wiederherstellung nach potenziellen Fehlern oder Verwaltungsfehlern in Ihrem Server-Setup. Durch das Erstellen eines Wiederherstellungsplans können Sie auch die wesentlichen Komponenten und Daten Ihres Anwendungsserver-Setups identifizieren.

Ein sehr grundlegender Wiederherstellungsplan für einen Serverausfall kann aus einer Liste von Schritten bestehen, die Sie zur Durchführung Ihrer ersten Serverbereitstellung ausgeführt haben, einschließlich zusätzlicher Verfahren zum Wiederherstellen von Anwendungsdaten aus Sicherungen. Ein besserer Wiederherstellungsplan kann neben einer guten Dokumentation auch Bereitstellungsskripts und Konfigurationsverwaltungstools wie Ansible, Chef oder Puppet verwenden, um den Wiederherstellungsprozess zu automatisieren und zu beschleunigen.

In diesem Teil des Tutorials zeigen wir Ihnen, wie Sie einen grundlegenden Wiederherstellungsplan für die von uns eingerichtete WordPress-Beispielanwendung erstellen. Ihre Bedürfnisse werden sich wahrscheinlich unterscheiden, aber dies sollte Ihnen helfen, einen eigenen Wiederherstellungsplan zu erstellen.

Anforderungen an den Wiederherstellungsplan

Unsere Grundvoraussetzungen sind, dass wir in der Lage sind, den Verlust eines Servers im Setup zu beheben und die Anwendungsfunktionalität und -daten (bis zu einem angemessenen Zeitpunkt) wiederherzustellen. Um dieses Ziel zu erreichen, erstellen wir ein Inventar für jeden Server, bestimmen, welche Daten gesichert werden müssen, und erstellen einen Wiederherstellungsplan basierend auf den verfügbaren Ressourcen. Wenn einer dieser Wiederherstellungspläne ausgeführt wird, sollte die Anwendung natürlich getestet werden, um sicherzustellen, dass sie ordnungsgemäß wiederhergestellt wurde.

Wir erstellen einen Wiederherstellungsplan für jeden Servertyp, aus dem unsere Anwendung besteht:

  • Datenbankserver

  • Anwendungsserver

  • Laden Sie den Balancer Server

Beginnen wir mit dem Datenbankserver.

Datenbankserver

Indem wir unsere Schritte nachverfolgen (und das vorherige Lernprogramm betrachten), wissen wir, dass unser Datenbankserver folgendermaßen erstellt wurde:

  1. Installieren Sie MySQL

  2. Konfigurieren Sie MySQL

  3. Starten Sie MySQL neu

  4. Erstellen Sie eine Datenbank und Benutzer

Datenbankserver-Wiederherstellungsplan

Wenn wir uns ansehen, wie wir den Datenbankserver erstellt haben, wissen wir, dass er von Grund auf neu erstellt werden kann, abgesehen vom Inhalt der Datenbank selbst (in Schritt 4 erstellt). In unserem WordPress-Beispiel sind die meisten Anwendungsdaten (d. H. Blogposts) in der Datenbank gespeichert. Dies bedeutet, dass wir Backups der Datenbank führen müssen, wenn wir den Datenbankserver wiederherstellen möchten. Wir werden auch die MySQL-Konfigurationsdatei sichern, da sie geringfügig geändert wurde.

Basierend auf unserem Inventar des Datenbankservers finden Sie hier eine Übersicht über unseren Datenbankserver-Wiederherstellungsplan:

_ _ Erforderliche Backups:

  • MySQL-Datenbank

  • MySQL-Konfiguration

Wiederherstellungsschritte:

  1. Installieren Sie MySQL

  2. Stellen Sie die MySQL-Konfigurationsdatei wieder her und aktualisieren Sie (falls sie sich ändert) die IP-Adresse der Überwachung

  3. Datenbank wiederherstellen

  4. Starten Sie MySQL neu _ _

Nachdem wir nun einen Überblick über den Wiederherstellungsplan für den Datenbankserver haben, sollten wir die Details der Wiederherstellungsschritte herausarbeiten und sicherstellen, dass die erforderlichen Sicherungen beibehalten werden. Wir überlassen es dem Leser als Übung, die Wiederherstellungsschritte detailliert zu beschreiben, da sie sich je nach dem tatsächlichen Setup unterscheiden. Im Beispielfall können wir das Lernprogramm zur Anwendungsbereitstellung als Dokumentation verwenden, um unsere Wiederherstellungsschritte auf der Grundlage zu erstellen.

Anwendungsserver

Wenn Sie unsere Schritte nachverfolgen (und das vorherige Lernprogramm lesen), stellen Sie fest, dass die Anwendungsserver folgendermaßen erstellt wurden:

  1. Installieren und konfigurieren Sie Apache und PHP

  2. Anwendung herunterladen und konfigurieren (WordPress)

  3. Kopieren Sie die Anwendungsdateien nach DocumentRoot

  4. Replizieren Sie Anwendungsdateien auf allen Anwendungsservern

Wiederherstellungsplan für Anwendungsserver

Wenn wir uns die Einrichtungsschritte ansehen, wissen wir, dass unser Anwendungsserver von Grund auf neu erstellt werden kann, abgesehen von den Anwendungsdateien. In unserem WordPress-Beispiel enthalten die Anwendungsdateien die WordPress-Konfigurationsdateien (einschließlich der Datenbankverbindungsinformationen), installierte WordPress-Plugins und Datei-Uploads. Dies bedeutet, dass wir Backups der Anwendungsdateien führen müssen, wenn wir einen Anwendungsserver wiederherstellen möchten.

Da die Anwendungsdateien so eingerichtet sind, dass sie auf mehreren Anwendungsservern repliziert werden, müssen wir die Daten nur aus Sicherungen wiederherstellen, wenn alle Anwendungsserver ausfallen oder wenn die Daten auf irgendeine Weise beschädigt sind. Wenn mindestens ein Anwendungsserver ordnungsgemäß ausgeführt wird und die richtigen Anwendungsdateien vorhanden sind, werden beim erneuten Einrichten der Dateireplikation die richtigen Dateien auf dem neuen Anwendungsserver wiederhergestellt.

Lassen Sie uns anhand unseres Bestands an Anwendungsservern einen Überblick über unseren Wiederherstellungsplan für Anwendungsserver geben:

_ _ Erforderliche Backups:

  • Anwendungsdateien (in unserem Beispiel + / var / www / html / +)

Wiederherstellungsschritte:

  1. Installieren und konfigurieren Sie Apache und PHP

  2. Replizieren Sie Anwendungsdateien vom aktiven Anwendungsserver

  3. Wenn Anwendungsdateien nicht repliziert werden können (alle Anwendungsserver sind tot), stellen Sie sie von Sicherungen wieder her _ _

Nachdem wir nun einen Überblick über den Wiederherstellungsplan für den Anwendungsserver haben, sollten wir die Details der Wiederherstellungsschritte herausarbeiten und sicherstellen, dass die erforderlichen Sicherungen beibehalten werden. Wir überlassen es dem Leser als Übung, die Wiederherstellungsschritte detailliert zu beschreiben, da sie sich je nach dem tatsächlichen Setup unterscheiden. Im Beispielfall können wir das Lernprogramm zur Anwendungsbereitstellung als Dokumentation verwenden, um unsere Wiederherstellungsschritte auf der Grundlage zu erstellen.

Laden Sie den Balancer Server

Wenn Sie unsere Schritte (und das vorherige Lernprogramm) nachverfolgen, wissen Sie, dass der Load Balancer-Server folgendermaßen erstellt wurde:

  1. Erhaltenes SSL-Zertifikat und zugehörige Dateien

  2. Installiertes HAProxy

  3. Konfiguriertes HAProxy

  4. HAProxy neu gestartet

Load Balancer Server-Wiederherstellungsplan

Wenn wir uns dieses Inventar ansehen, wissen wir, dass unser Load-Balancer-Server von Grund auf neu erstellt werden kann, abgesehen von den Dateien, die sich auf das SSL-Zertifikat beziehen. Dies bedeutet, dass wir Backups der SSL-Zertifikatdateien führen müssen, wenn wir den Load Balancer-Server wiederherstellen möchten. Wir werden auch die HAProxy-Konfigurationsdatei in unsere Backups aufnehmen.

Lassen Sie uns anhand unseres Inventars des Load Balancer-Servers einen Überblick über unseren Wiederherstellungsplan für den Load Balancer-Server geben:

_ _ Erforderliche Backups:

  • SSL-Zertifikat (PEM) und zugehörige Dateien

  • HAProxy-Konfigurationsdatei

Wiederherstellungsschritte:

  1. Stellen Sie die SSL-Zertifikatdateien wieder her

  2. Installieren Sie HAProxy

  3. Stellen Sie die HAProxy-Konfigurationsdatei wieder her

  4. Starten Sie HAProxy neu _ _

Nachdem wir nun einen Überblick über den Wiederherstellungsplan für den Load-Balancer-Server haben, sollten wir die Details der Wiederherstellungsschritte herausarbeiten und sicherstellen, dass die erforderlichen Sicherungen beibehalten werden. Wir überlassen es dem Leser als Übung, die Wiederherstellungsschritte detailliert zu beschreiben, da sie sich je nach dem tatsächlichen Setup unterscheiden. Im Beispielfall können wir das Lernprogramm zur Anwendungsbereitstellung als Dokumentation verwenden, um unsere Wiederherstellungsschritte auf der Grundlage zu erstellen.

Andere Überlegungen

Wenn Sie für die Wiederherstellung einer der Komponenten andere Komponenten neu konfigurieren müssen, z. Wenn sich die IP-Adresse des Datenbankservers ändert, stellen Sie sicher, dass die entsprechenden Schritte in Ihren Wiederherstellungsplänen enthalten sind.

Sie möchten auch Wiederherstellungspläne für alle anderen in Ihrem Setup vorhandenen Komponenten, wie z. B. DNS, und für alle Komponenten, die Sie in Zukunft hinzufügen werden, wie z. B. Sicherungsserver, Überwachung und Protokollierung, erstellen. Während sich Ihre Serverkonfiguration weiterentwickelt, sollten Sie Ihre vorhandenen Wiederherstellungspläne wiederholen.

Wir haben auch noch nicht erläutert, wie Sie Backups erstellen und wiederherstellen. Daher müssen Sie diese Details später eingeben. Im nächsten Teil dieses Tutorials werden wir uns mit Backups befassen.

Fazit

Nachdem Sie die Wiederherstellungspläne für Ihre verschiedenen Server erstellt haben, sollten Sie diese Informationen an einem Ort aufbewahren, auf den jeder zugreifen kann, der eine Wiederherstellung durchführen möchte, und zwar unabhängig von Ihrer Serverkonfiguration.

Fahren Sie mit dem nächsten Lernprogramm fort, um die Sicherungen einzurichten, die zur Unterstützung Ihres neuen Wiederherstellungsplans erforderlich sind: Building for Production : Webanwendungen - Backups.