Планы восстановления и автоматическое переключение
Создайте план восстановления ASR, задающий последовательность переключения VM между уровнями приложения, добавьте этапы ручного подтверждения и включите сценарии до и после переключения.
«Планы восстановления и автоматическое переключение» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.
Что такое план восстановления ASR
Recovery Plan в Azure Site Recovery — это структурированная упорядоченная последовательность действий, координирующая переключение нескольких VMs. Вместо переключения каждой VM по отдельности план восстановления объединяет их в группы, которые переключаются последовательно, обеспечивая запуск инфраструктуры (базы данных, промежуточного слоя и веб-уровня) в правильном порядке, как при первоначальном развёртывании.
Создание плана восстановления
Чтобы создать план восстановления, выберите исходный сайт (основной регион) и целевой сайт (вторичный регион), а затем добавьте VMs, которые хотите включить. Мастер плана автоматически создаёт группу по умолчанию, но Вы можете добавить другие группы, чтобы управлять последовательностью переключения. VMs в одной группе переключаются одновременно; группы выполняются в порядке номеров.
# Create an ASR Recovery Plan via CLI:
az site-recovery recovery-plan create \
--resource-group myRG \
--vault-name myRecoveryVault \
--name myRecoveryPlan \
--primary-fabric-id '/subscriptions/.../replicationFabrics/eastus' \
--recovery-fabric-id '/subscriptions/.../replicationFabrics/westus' \
--groups '[{"groupType":"Boot","replicationProtectedItems":[...]}]'Определение порядка групп для многоуровневых приложений
Для типичного трёхуровневого приложения план восстановления должен содержать три группы:
- Группа 1 — VMs уровня базы данных (должны запуститься первыми)
- Группа 2 — VMs уровня приложения и промежуточного слоя
- Группа 3 — VMs веб-интерфейса (запускаются последними)
Каждая группа ожидает успешного завершения переключения предыдущей группы. Это отражает правильный порядок запуска и не позволяет VMs веб-уровня запуститься до готовности базы данных принимать подключения.
Добавление ручных действий и скриптов
Планы восстановления поддерживают предварительные действия и последующие действия на границе каждой группы. Это могут быть:
- Ручные действия — приостановить переключение и дождаться подтверждения человека (например, «Убедиться, что база данных готова»)
- модули Runbook Azure Automation — автоматически выполнить скрипт (например, обновить записи DNS или отключить режим обслуживания)
Использование модулей Runbook Automation обеспечивает полностью автоматическое переключение без участия человека для рабочих нагрузок уровня 1.
# Example Automation runbook action in a recovery plan:
# Pre-group-2 action: Run runbook 'UpdateConnectionStrings'
# This runbook updates app config to point to secondary DB endpoint
# before the application tier VMs startНезапланированное и плановое переключение
Azure Site Recovery поддерживает два типа переключения:
- Плановое переключение — инициируется перед известным событием (например, обслуживанием центра обработки данных). Основная VM корректно выключается, данные синхронизируются, затем запускается вторичная VM. Потеря данных отсутствует.
- Незапланированное переключение — запускается во время фактической аварии. Основная VM может быть недоступна, поэтому ASR использует самую свежую контрольную точку репликации. Возможна потеря части данных в зависимости от RPO.
# Trigger an unplanned failover via CLI:
az site-recovery recovery-plan failover-unplanned \
--resource-group myRG \
--vault-name myRecoveryVault \
--name myRecoveryPlan \
--failover-direction PrimaryToRecoveryCommit и обратное переключение
После переключения восстановленные VMs во вторичном регионе находятся в состоянии ожидания подтверждения. Необходимо выполнить Commit переключения, чтобы подтвердить, что вторичный сайт теперь является активным и откат не требуется. После подтверждения можно настроить обратную репликацию, чтобы защитить вторичный сайт, а затем выполнить обратное переключение в основной регион после его восстановления.
# Commit the failover:
az site-recovery recovery-plan commit \
--resource-group myRG \
--vault-name myRecoveryVault \
--name myRecoveryPlan
# Then configure reverse replication to enable failback laterПовторная защита после переключения
После подтверждения переключения реплицируемые элементы в исходном основном регионе больше не реплицируются активно. Чтобы восстановить защиту, необходимо выполнить повторную защиту элементов — это изменит направление репликации: новый основной регион (бывший вторичный) будет реплицировать данные в исходный основной регион. Повторная защита занимает время, поэтому её следует запустить сразу после того, как исходный основной регион снова станет доступен.
Измерение RTO в планах восстановления
Каждый шаг плана восстановления увеличивает общее значение RTO. Обычно время затрачивается на следующее:
- запуск VM (2–5 минут на одну VM)
- подготовка приложения к работе (инициализация пула подключений к базе данных, прогрев кэша)
- распространение изменений DNS после смены IP-адресов
- ожидание ручного подтверждения
Измеряйте длительность каждого шага во время тестовых переключений и суммируйте результаты, чтобы вычислить ваш фактический RTO и сравнить его с целевым значением.
Автоматизация обновлений DNS
После переключения VM во вторичном регионе получают другие IP-адреса. Если приложения доступны по общедоступному имени DNS, необходимо обновить DNS, чтобы он указывал на новые IP-адреса. Используйте сценарий автоматизации Azure как действие после переключения, чтобы обновить состояние работоспособности конечных точек Azure DNS или Traffic Manager и автоматически перенаправить трафик, исключив ручной шаг, который может увеличить RTO.
# Example: Update Azure DNS record in a runbook after failover:
# az network dns record-set a update \
# --resource-group dnsRG \
# --zone-name myapp.com \
# --record-set-name '@' \
# --set 'ARecords[0].ipv4Address=<new-secondary-ip>'Мониторинг выполнения плана восстановления
Во время переключения представление заданий на портале Azure в хранилище Recovery Services показывает ход выполнения каждого шага плана восстановления в реальном времени. Вы можете видеть, какая группа выполняется, какие VM успешно запущены и ожидаются ли какие-либо сценарии или ручные действия. Мониторинг этого представления позволяет команде восстановления быстро вмешаться, если какой-либо шаг завершится с ошибкой.
Рекомендации по планам восстановления
Основные рекомендации по планам восстановления:
- Делайте группы небольшими (5–10 VM), чтобы ограничить область воздействия при сбое группы
- По возможности используйте сценарии автоматизации вместо ручных действий, чтобы уменьшить RTO
- Документируйте ожидаемое время запуска каждой группы, чтобы можно было рассчитать RTO
- Проводите тестовое переключение не реже одного раза в квартал, чтобы проверять план
- Пересматривайте и обновляйте план при добавлении новых VM или изменении архитектуры приложения
Быстрая проверка
Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900), рассмотренных в этом уроке.
Итоги урока
В этом уроке вы узнали, что план восстановления организует упорядоченное переключение нескольких VM с предварительными и последующими действиями для каждой группы; незапланированное переключение использует последнюю контрольную точку репликации, тогда как при плановом переключении потеря данных равна нулю; а после переключения необходимо зафиксировать изменения и повторно защитить ресурсы, чтобы восстановить защиту DR. Далее мы рассмотрим, как тестировать планы DR, не затрагивая рабочую среду.
Часто задаваемые вопросы
Урок «Планы восстановления и автоматическое переключение» бесплатный?
Да — полный текст урока «Планы восстановления и автоматическое переключение» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Планы восстановления и автоматическое переключение»?
Создайте план восстановления ASR, задающий последовательность переключения VM между уровнями приложения, добавьте этапы ручного подтверждения и включите сценарии до и после переключения. Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Azure Fundamentals?
Предыдущий опыт не требуется. Azure Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Планы восстановления и автоматическое переключение»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Azure Fundamentals?
Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение RTO, RPO и уровней восстановления
- Планы восстановления и автоматическое переключение
- Тестирование DR без влияния на рабочую среду
- DR для служб PaaS