Строительство для производства: веб-приложения - планирование восстановления

Вступление

Теперь, когда у нас есть пример установки приложения, мы должны разработать план восстановления. План восстановления - это набор документированных процедур для восстановления от возможных сбоев или ошибок администрирования в настройках вашего сервера. Создание плана восстановления также поможет вам определить основные компоненты и данные настройки сервера приложений.

Самый базовый план восстановления при сбое сервера может состоять из списка шагов, которые вы предприняли для первоначального развертывания сервера, с дополнительными процедурами восстановления данных приложения из резервных копий. Более эффективный план восстановления может, в дополнение к хорошей документации, использовать сценарии развертывания и инструменты управления конфигурацией, такие как Ansible, Chef или Puppet, чтобы помочь автоматизировать и ускорить процесс восстановления.

изображение: https: //assets.digitalocean.com/articles/architecture/production/recovery_plans.png [Схема плана восстановления]

В этой части руководства мы покажем, как создать базовый план восстановления для примера приложения WordPress, которое мы настроили. Ваши потребности, вероятно, будут отличаться, но это должно помочь вам начать разработку собственного плана восстановления.

Требования плана восстановления

Наши основные требования состоят в том, чтобы мы могли восстанавливаться после потери любого сервера в процессе установки и восстанавливать функциональность и данные приложения (до разумного момента времени). Для достижения этой цели мы создадим инвентаризацию каждого сервера, определим, какие данные необходимо резервировать, и составим план восстановления на основе наших доступных ресурсов. Конечно, если какой-либо из этих планов восстановления выполняется, приложение должно быть протестировано, чтобы убедиться, что оно было восстановлено должным образом.

Мы разработаем план восстановления для каждого типа сервера, из которого состоит наше приложение:

  • Сервер базы данных

  • Серверы приложений

  • Сервер балансировки нагрузки

Давайте начнем с сервера базы данных.

Сервер базы данных

Повторяя наши шаги (и просматривая предыдущее руководство), мы знаем, что наш сервер базы данных был создан, выполнив следующие шаги:

  1. Установите MySQL

  2. Настроить MySQL

  3. Перезапустите MySQL

  4. Создать базу данных и пользователей

План восстановления сервера базы данных

Посмотрев на то, как мы создали сервер базы данных, мы знаем, что он может быть воссоздан с нуля помимо содержимого самой базы данных (созданной на шаге 4). В нашем примере WordPress большая часть данных приложения (т.е. сообщения в блоге) хранится в базе данных. Это означает, что мы должны поддерживать резервные копии базы данных, если мы хотим иметь возможность восстановить сервер базы данных. Мы также создадим резервную копию файла конфигурации MySQL, так как он был слегка изменен.

Основываясь на нашем инвентаре сервера базы данных, вот схема нашего плана восстановления сервера базы данных:

_ _ Обязательные резервные копии:

  • База данных MySQL

  • Конфигурация MySQL

Шаги восстановления:

  1. Установите MySQL

  2. Восстановите файл конфигурации MySQL и (если он изменился) обновите прослушиваемый IP-адрес

  3. Восстановить базу данных

  4. Перезапустите MySQL _ _

Теперь, когда у нас есть план плана восстановления сервера базы данных, мы должны проработать детали шагов восстановления и убедиться, что мы поддерживаем необходимые резервные копии. Мы оставим читателю в качестве упражнения подробное описание шагов восстановления, поскольку они будут различаться в зависимости от фактической настройки. В этом примере мы можем использовать учебник по развертыванию приложений в качестве документации, на которой будем основывать наши шаги по восстановлению.

Серверы приложений

Повторяя наши шаги (и просматривая предыдущее руководство), мы знаем, что серверы приложений были созданы, выполнив следующие шаги:

  1. Установите и настройте Apache и PHP

  2. Скачать и настроить приложение (WordPress)

  3. Скопируйте файлы приложения в DocumentRoot

  4. Репликация файлов приложений на всех серверах приложений

План восстановления сервера приложений

Рассматривая шаги настройки, мы знаем, что наш сервер приложений может быть воссоздан с нуля, кроме файлов приложений. В нашем примере WordPress файлы приложения включают в себя файлы конфигурации WordPress (которые включают информацию о подключении к базе данных), установленные плагины WordPress и загрузки файлов. Это означает, что мы должны поддерживать резервные копии файлов приложений, если мы хотим иметь возможность восстановить сервер приложений.

Поскольку файлы приложений настроены для репликации на нескольких серверах приложений, нам нужно восстанавливать данные из резервных копий только в случае сбоя всех серверов приложений или если данные каким-либо образом повреждены. Если хотя бы один сервер приложений работает нормально с правильными файлами приложений, повторная настройка репликации файлов восстановит нужные файлы на новом сервере приложений.

Основываясь на нашем перечне серверов приложений, давайте составим план нашего плана восстановления сервера приложений:

_ _ Обязательные резервные копии:

  • Файлы приложения (+ / var / www / html / +, в нашем примере)

Шаги восстановления:

  1. Установите и настройте Apache и PHP

  2. Репликация файлов приложения с рабочего сервера приложений

  3. Если файлы приложения не могут быть реплицированы (все серверы приложений не работают), выполните восстановление из резервных копий. _ _

Теперь, когда у нас есть план плана восстановления сервера приложений, мы должны проработать детали шагов восстановления и убедиться, что мы поддерживаем необходимые резервные копии. Мы оставим читателю в качестве упражнения подробное описание шагов восстановления, поскольку они будут различаться в зависимости от фактической настройки. В этом примере мы можем использовать учебник по развертыванию приложений в качестве документации, на которой будем основывать наши шаги по восстановлению.

Сервер балансировки нагрузки

Повторяя наши шаги (и просматривая предыдущий учебник), мы знаем, что сервер балансировки нагрузки был создан, выполнив следующие шаги:

  1. Получен сертификат SSL и связанные файлы

  2. Установленный HAProxy

  3. Настроил HAProxy

  4. Перезапущенный HAProxy

План восстановления сервера балансировки нагрузки

Изучив этот перечень, мы узнаем, что наш сервер балансировки нагрузки можно воссоздать с нуля, кроме файлов, связанных с сертификатом SSL. Это означает, что мы должны поддерживать резервные копии файлов сертификатов SSL, если мы хотим иметь возможность восстановить сервер балансировки нагрузки. Мы также включим файл конфигурации HAProxy в нашу резервную копию.

На основе нашего инвентаря сервера балансировки нагрузки давайте составим план нашего плана восстановления сервера балансировки нагрузки:

_ _ Обязательные резервные копии:

  • Сертификат SSL (PEM) и связанные файлы

  • Файл конфигурации HAProxy

Шаги восстановления:

  1. Восстановите файлы сертификатов SSL

  2. Установить HAProxy

  3. Восстановить файл конфигурации HAProxy

  4. Перезапустите HAProxy _ _

Теперь, когда у нас есть план восстановления сервера балансировки нагрузки, мы должны проработать детали шагов восстановления и убедиться, что мы поддерживаем необходимые резервные копии. Мы оставим читателю в качестве упражнения подробное описание шагов восстановления, поскольку они будут различаться в зависимости от фактической настройки. В этом примере мы можем использовать учебник по развертыванию приложений в качестве документации, на которой будем основывать наши шаги по восстановлению.

Другие соображения

Если восстановление одного из компонентов требует перенастройки любых других компонентов, например, при изменении IP-адреса сервера базы данных обязательно включите соответствующие шаги в свои планы восстановления.

Вы также захотите написать планы восстановления для всех других компонентов, существующих в вашей настройке, таких как DNS, и для всех компонентов, которые вы добавите в будущем, таких как серверы резервного копирования, мониторинг и ведение журнала. По мере развития настроек вашего сервера, вам следует перебирать существующие планы восстановления.

Мы также еще не рассмотрели, как создавать и восстанавливать резервные копии, поэтому нам придется заполнить эти детали позже. Мы расскажем о резервных копиях в следующей части этого урока.

Заключение

После подготовки планов восстановления для ваших различных серверов вы должны хранить эту информацию где-нибудь, чтобы она была доступна любому, кто должен иметь возможность выполнить восстановление, полностью отдельно от настроек вашего сервера.

Перейдите к следующему руководству, чтобы начать настройку резервных копий, необходимых для поддержки вашего нового плана восстановления: https://www.digitalocean.com/community/tutorials/building-for-production-web-applications-backups[Building for Production : Веб-приложения - Резервное копирование.

Related