Поделиться через


Включение устойчивости зоны для рабочих нагрузок Azure

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

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

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

Подсказка

Если вы в настоящее время находитесь в процессе разработки рабочих нагрузок или планируете выполнить обзор разработки текущих рабочих нагрузок, важно следовать рекомендациям по проектированию избыточности в Azure Well-Architected Framework (WAF). Руководство по рекомендациям WAF помогает разработать избыточность рабочей нагрузки на нескольких уровнях с акцентом на критически важных рабочих процессах. Для поддержки внедрения зоны доступности она также описывает стратегии, такие как развертывания в нескольких регионах и метки развертывания.

Что такое устойчивость зоны?

Службы Azure могут быть устойчивы к сбоям зоны доступности двумя основными способами:

  • Службы с избыточностью зоны: Многие службы Azure поддерживают функцию избыточности зоны. Эти службы автоматически реплицируют данные между зонами доступности, распределяют входящие запросы и выполняют отработку отказа в разные зоны во время сбоя зоны. Каждая служба поддерживает эти возможности таким образом, что имеет смысл для этой конкретной службы. По умолчанию некоторые службы являются избыточными по зонам, а для других может потребоваться настройка избыточности по зонам.

  • Зональные службы: Некоторые службы Azure зональные, что означает, что их можно закрепить в определенной зоне доступности. Чтобы обеспечить устойчивость зоны с помощью зональной службы, разверните отдельные экземпляры службы в нескольких зонах доступности. Кроме того, вам может потребоваться управлять распределением трафика, репликацией данных и отработки отказа между экземплярами.

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

Дополнительные сведения см. в разделе "Типы поддержки зоны доступности".

Процедура включения зоны

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

Предпосылки

Перед началом работы выполните следующие действия.

  • Определите каждую рабочую нагрузку. Рабочая нагрузка ссылается на коллекцию ресурсов приложений, данных и вспомогательной инфраструктуры, которая работает вместе для достижения определенных бизнес-результатов. Дополнительные сведения о рабочих нагрузках и их определении см. вWell-Architected рабочих нагрузок Framework.

  • Определите приоритеты пользователей и системных потоков каждой рабочей нагрузки. Ознакомьтесь с критическими путями и зависимостями рабочих нагрузок, чтобы определить, какие компоненты необходимо сначала сделать защищенными от зональных сбоев. Дополнительные сведения об использовании критического анализа потока для определения приоритета рабочих процессов см. в разделе "Приоритет рабочих нагрузок" для обеспечения устойчивости зоны.

  • Назначьте оценку критической важности каждой рабочей нагрузке и потоку. Эта оценка помогает понять влияние потенциального сбоя в бизнесе и поможет вам принять решения о том, какие рабочие нагрузки следует определить для обеспечения устойчивости зоны. Кроме того, учитывайте допустимое время простоя при перенастройке рабочих нагрузок.

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

    Рассмотрим следующий пример таксономии, чтобы классифицировать рабочие нагрузки.

    Тип рабочей нагрузки Description Влияние нарушения
    Критически важный для миссии Критически важные потоки и рабочие нагрузки, которые должны быть высоконадежными, всегда доступными, устойчивыми к сбоям и операционным Любое нарушение основных функций немедленно рискует катастрофическим ущербом для бизнеса или представляет риски для человеческой жизни.
    Критически важный для бизнеса Основные потоки и рабочие нагрузки, которые работают с важными бизнес-функциями Нарушения рискуют некоторыми финансовыми потерями или ущербом бренда.
    Операционные аспекты бизнеса Способствует эффективности бизнес-операций, но из прямой линии обслуживания клиентам Может терпеть некоторые нарушения.
    Административный Внутренние рабочие потоки и рабочие нагрузки, не согласованные с бизнес-операциями Может терпеть нарушения.

    Дополнительные сведения о классификации рабочих нагрузок в соответствии с рейтингом критическости см. в разделе "Назначение оценки критическости" для каждого потока.

  • Убедитесь, что регионы, в которых находятся ресурсы Azure, поддерживают зоны доступности. Ознакомьтесь со списком регионов Azure. Если регион не поддерживает зоны доступности, рассмотрите возможность перемещения ресурсов в регион, который делает. Дополнительные сведения см. в разделе "Перемещение ресурсов Azure" между группами ресурсов, подписками или регионами.

Шаг 1. Приоритет служб Azure для обеспечения устойчивости зоны

После определения наиболее важных потоков рабочей нагрузки для бизнеса можно сосредоточиться на службах Azure, от которых зависят эти потоки. Некоторые службы Azure более важны для приложений, чем другие. Определите приоритеты этих служб, чтобы обеспечить доступность и устойчивость приложений в случае сбоя зоны.

Используйте следующее руководство, чтобы определить приоритет групп служб Azure на основе их критической важности для рабочих нагрузок. При определении приоритета служб для обеспечения устойчивости зоны следует учитывать архитектуру приложений и бизнес-требования.

  1. Начните с сетевых служб. Рабочие нагрузки, как правило, совместно используют сетевые службы, поэтому повышение устойчивости этих служб может повысить устойчивость нескольких рабочих нагрузок одновременно.

    Многие ключевые сетевые службы автоматически обеспечивают зоновую избыточность, но следует сосредоточиться на таких компонентах, как шлюзы Azure ExpressRoute, шлюз VPN Azure, шлюз приложений Azure, Azure Load Balancer и брандмауэр Azure.

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

    Для обеспечения устойчивости хранилища операционных данных сосредоточьтесь на таких службах, как База данных SQL Azure, Управляемый экземпляр SQL Azure, служба хранилища Azure Data Lake Storage, Azure Cosmos DB, гибкий сервер Azure PostgreSQL, гибкий сервер Azure MySQL и кэш Azure для Redis.

  3. Отдавайте приоритет службам вычислений. Эти службы часто легко реплицировать и распределять между зонами, так как они не имеющие состояния.

    Вычислительные службы включают виртуальные машины Azure, масштабируемые наборы виртуальных машин Azure, службу Azure Kubernetes (AKS), Службу приложений Azure, среду службы приложений, Функции Azure, Azure Service Fabric и приложения контейнеров Azure.

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

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

Шаг 2. Оценка подходов к конфигурации зоны

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

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

Используйте таблицу конфигурации зоны для быстрого понимания подходов к общим службам Azure.

Это важно

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

Шаг 3. Проверка задержки

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

Подходы к конфигурации зоны для служб Azure

Каждая служба Azure поддерживает определенный тип поддержки зоны доступности, которая основана на предполагаемом использовании и внутренней архитектуре службы. Если у вас есть ресурс, который не настроен для использования зон доступности (или незонального ресурса), может потребоваться перенастроить его с поддержкой зоны доступности. Руководство по надежности для этой службы предоставляет рекомендации или ссылки на инструкции по настройке зоны доступности.

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

Это важно

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

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

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

Подход Description Типичный уровень усилий Может потребоваться простой
Постоянная зона устойчива Служба является устойчивой по умолчанию в регионах, поддерживающих зоны доступности. Никаких действий не требуется. None нет
Включения Минимальные изменения конфигурации, такие как включение избыточности зоны в параметрах. Процесс не влияет на доступность, но рассмотрите влияние на затраты или производительность. Low нет
Модификация Скорее всего, требуются некоторые изменения конфигурации, например повторное развертывание зависимых ресурсов или изменение параметров сети. Средний Да
Передислокация Необходимы значительные изменения, такие как повторное развертывание всех ресурсов, приложений или служб или перенос данных в новые службы. High Да

Узнайте о затратах на включение поддержки зоны доступности для службы. Для многих служб включение зон доступности не добавляет затрат. Но для некоторых служб требуется определенный уровень, определенное количество единиц емкости или оба. В других службах взимаются разные тарифы при использовании зон доступности. В следующей таблице перечислены типичные последствия затрат для каждой службы.

Замечание

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

Подход к настройке служб Azure по зонам

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

Услуга Может быть избыточным между зонами Может быть зональным Типичный подход к конфигурации зоны Типичное влияние на затраты
Поиск по искусственному интеллекту Azure Yes Всегда устойчива к зонам N/A
Управление API Azure Yes Yes Модификация Минимальный уровень, необходимый
Конфигурация приложений Azure Yes Всегда устойчива к зонам N/A
Служба приложений Azure Yes Включения Минимально необходимый уровень и количество экземпляров
Служба приложений Azure — среда службы приложений Yes Включения Минимальное количество экземпляров, необходимое
Шлюз приложений Azure Yes Yes Всегда устойчива к зонам N/A
Azure Backup Yes Передислокация Умеренное увеличение затрат
Бастион Azure Yes Yes Передислокация Без влияния на затраты
Пакетная служба Azure Yes Передислокация Отсутствие влияния на затраты для одинакового количества виртуальных машин.
Хранилище BLOB-объектов Azure Yes Включения Умеренное увеличение затрат
Кэш Azure для Redis — Корпоративная Yes Передислокация Без влияния на затраты
Кэш Azure для Redis — стандартный и премиум Yes Включения Минимальный уровень, необходимый
Приложения контейнеров Azure Yes Передислокация Минимальное количество реплик, необходимое
Экземпляры контейнеров Azure Yes Передислокация Без влияния на затраты
Реестр контейнеров Azure Yes Всегда устойчива к зонам N/A
Azure Cosmos DB для работы с NoSQL Yes Модификация Нет при использовании автомасштабирования или многорегиональной записи
Фабрика данных Azure Yes Всегда устойчива к зонам N/A
Хранилище озера данных Azure Yes Включения Умеренное увеличение затрат
База данных Azure для MySQL — гибкий сервер Yes Передислокация Требуется основной и высокодоступный (HA) экземпляр
База данных Azure для PostgreSQL — гибкий сервер Yes Включения Требуется основной экземпляр и высокодоступный экземпляр
Хранилище дисков Azure (управляемые диски) Yes Yes Включения Умеренное увеличение затрат
Azure Elastic SAN Yes Передислокация Умеренное увеличение затрат
Центры событий Azure: выделенный уровень Yes Всегда устойчива к зонам Обязательные минимальные единицы емкости (ЦС)
Центры событий Azure: все остальные уровни Yes Всегда устойчива к зонам N/A
Azure ExpressRoute Yes Yes Модификация Зависит от уровня
Файлы Azure Yes Включения Умеренное увеличение затрат
Брандмауэр Azure Yes Yes Модификация Без влияния на затраты
Функции Azure Yes Передислокация Минимально необходимый уровень и количество экземпляров
Azure HDInsight Yes Передислокация Не влияет на затраты на одно и то же количество узлов
Центр Интернета вещей Azure Yes Устойчивость к зонам всегда N/A
Azure Key Vault Yes Всегда устойчивый к зонам N/A
Служба Azure Kubernetes (AKS) Yes Передислокация Без влияния на затраты
Azure Load Balancer Yes Yes Модификация Без влияния на затраты
Azure Logic Apps — уровень потребления Yes Всегда устойчива к зонам N/A
Azure Logic Apps — уровень "Стандартный" Yes Передислокация Минимально необходимый уровень и количество экземпляров
Управляемая Grafana от Azure Yes Повторное развертывание Умеренное увеличение затрат
Azure Monitor: Log Analytics Yes Всегда устойчива к зонам
Файлы Azure NetApp Yes Передислокация Зависит от конфигурации репликации
Хранилище очередей Azure Yes Включения Умеренное увеличение затрат
Сервисная шина Azure Yes Всегда устойчива к зонам N/A
Azure Service Fabric Yes Yes Передислокация Не влияет на затраты на одно и то же количество виртуальных машин
Azure Site Recovery Yes Передислокация Нет влияния на затраты для Site Recovery, умеренное увеличение затрат для хранилища реплик
База данных SQL Azure: уровень "Критически важный для бизнеса" Yes Включения Без влияния на затраты
База данных SQL Azure: уровень общего назначения Yes Включения Умеренное увеличение затрат
База данных SQL Azure: уровень гипермасштабирования Yes Передислокация Минимальное количество реплик, необходимое
База данных SQL Azure: уровень "Премиум" Yes Включения Без влияния на затраты
Управляемый экземпляр Azure SQL Yes Включения Умеренное увеличение затрат
Хранилище таблиц Azure Yes Включения Умеренное увеличение затрат
Масштабируемые наборы виртуальных машин Azure Yes Yes Передислокация Не влияет на затраты на одно и то же количество виртуальных машин
Виртуальные машины Azure Yes Передислокация Не влияет на затраты на одно и то же количество виртуальных машин
Виртуальная сеть Azure Yes Всегда устойчива к зонам N/A
Общедоступный IP-адрес Yes Yes Всегда устойчивый к зонам N/A