Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Виртуальные машины Azure предоставляют масштабируемые вычислительные ресурсы по запросу. В качестве базовой службы инфраструктуры она предназначена для обеспечения надежности и доступности корпоративного уровня для критически важных рабочих нагрузок.
При использовании Azure надежность является общей ответственностью. Корпорация Майкрософт предоставляет ряд возможностей для поддержки устойчивости и восстановления. Вы несете ответственность за то, чтобы понимать, как эти возможности работают во всех используемых вами службах, и выбирать возможности, необходимые для достижения бизнес-целей и целей по обеспечению времени безотказной работы.
В этой статье описывается, как обеспечить устойчивость виртуальных машин к различным потенциальным сбоям и проблемам, в том числе временным сбоям, сбоям зоны доступности, сбоям регионов и обслуживанию служб. В нем также описывается, как можно использовать резервные копии для восстановления из других типов проблем и выделяет некоторые ключевые сведения о соглашении об уровне обслуживания виртуальных машин (SLA).
Внимание
При рассмотрении надежности виртуальной машины также необходимо учитывать надежность дисков, сетевой инфраструктуры и приложений, работающих на виртуальных машинах. Повышение устойчивости отдельной виртуальной машины может оказать ограниченное влияние, если другие компоненты не являются одинаково устойчивыми. В зависимости от требований к устойчивости может потребоваться внести изменения конфигурации в нескольких областях.
Рекомендации по развертыванию в производственной среде
Дополнительные сведения о развертывании виртуальных машин для поддержки требований к надежности решения и о том, как надежность влияет на другие аспекты архитектуры, см. в статье "Рекомендации по архитектуре для виртуальных машин и масштабируемых наборов" в Azure Well-Architected Framework.
Обзор архитектуры надежности
Виртуальные машины являются основными вычислительными единицами в Azure, независимо от того, подготавливаете ли виртуальные машины самостоятельно или используете другие вычислительные службы Azure, которые прозрачно подготавливают и управляют ими.
Отдельная виртуальная машина также называется экземпляром виртуальной машины. Он выполняется на определенном узле, который является физическим сервером. Большинство виртуальных машин делят узел с другими виртуальными машинами.
При создании виртуальных машин вы можете повлиять на то, где они работают в базовой инфраструктуре. Как правило, вы принимаете решения о размещении на основе ваших требований к надежности, задержке и изоляции. Azure предоставляет несколько параметров конфигурации, влияющих на размещение виртуальных машин.
Область: Вы можете выбрать регион Azure , в котором должна работать виртуальная машина. Регион — это географическая область, которая может содержать несколько центров обработки данных, каждый из которых включает большое количество хостов.
Зона доступности:зоны доступности — это физически отдельные группы центров обработки данных в каждом регионе Azure. В регионах, поддерживающих зоны доступности, можно выбрать зону, в которой выполняется виртуальная машина. Дополнительные сведения см. в разделе "Устойчивость к сбоям зоны доступности".
Группы доступности: Группа доступности — это логическая группирование виртуальных машин, которая позволяет Azure понять, как создается приложение для обеспечения избыточности и доступности.
При использовании групп доступности Azure распределяет группу виртуальных машин в разных доменах сбоя. Это распределение сводит к минимуму риск локализованных сбоев оборудования путем группировки виртуальных машин, использующих общий сетевой коммутатор и источник питания.
Группы доступности также могут размещать разные виртуальные машины в разных доменах обновления, которые определяют, как платформа Azure развертывает обновления платформы. С помощью доменов обновления можно убедиться, что одновременно перезапускается только подмножество виртуальных машин для обновлений.
Группы размещения близкого взаимодействия: Для рабочих нагрузок, необходимых для достижения минимальной возможной задержки между виртуальными машинами, можно использовать группу размещения близкого взаимодействия , чтобы обеспечить расположение виртуальных машин Azure физически близко друг к другу. Однако близкое размещение означает, что сбой центра обработки данных может повлиять на все виртуальные машины в группе. Чтобы обеспечить высокую надежность, могут понадобиться несколько групп близкого размещения в разных зонах доступности.
Выделенные узлы:Выделенный узел Azure можно использовать для подготовки собственного физического сервера, на котором выполняется одна или несколько виртуальных машин, например для строгих требований к соответствию. Однако при развертывании выделенного узла авария в датацентре может повлиять на все виртуальные машины на этом узле. Вам возможно понадобится подготовить несколько выделенных узлов в разных зонах доступности, чтобы обеспечить высокую надежность.
Если вы создаете набор виртуальных машин, выполняющих аналогичные функции, рассмотрите возможность использования масштабируемых наборов виртуальных машин Azure для создания виртуальных машин в качестве группы и управления ими. Масштабируемые наборы также предоставляют дополнительные параметры надежности, такие как распределение виртуальных машин по нескольким зонам доступности.
Дополнительные сведения о доступности виртуальных машин см. в разделе "Параметры доступности" для виртуальных машин.
Устойчивость к временным сбоям
Временные ошибки являются короткими, периодическими сбоями в компонентах. Они часто происходят в распределенной среде, такой как облачная платформа, и являются обычной частью операций. Временные ошибки исправляют себя через короткий период времени. Важно, чтобы приложения могли обрабатывать временные ошибки, обычно повторяя затронутые запросы.
Все облачные приложения должны следовать рекомендациям по обработке временных ошибок Azure при обмене данными с любыми размещенными в облаке API, базами данных и другими компонентами. Дополнительные сведения см. в Рекомендациях по обработке временных сбоев.
Приложения, выполняемые на виртуальных машинах, должны реализовать соответствующие стратегии обработки ошибок, чтобы гарантировать, что любые временные прерывания в службе не влияют на рабочую нагрузку.
Устойчивость к сбоям зоны доступности
Зоны доступности — это физически отдельные группы центров обработки данных в регионе Azure. При сбое одной зоны службы могут переключаться на оставшиеся зоны.
Отдельная виртуальная машина может быть развернута в зональной конфигурации, что означает, что она закреплена в одной выбранной зоне доступности. По себе зональная виртуальная машина не устойчива к сбоям зон. Однако можно создать несколько виртуальных машин и разместить их в разных зонах доступности, а затем распространить приложения и данные между экземплярами виртуальных машин. Кроме того, можно использовать масштабируемые наборы виртуальных машин для развертывания набора виртуальных машин в нескольких зонах доступности.
Если вы не настраиваете зональную виртуальную машину, она считается незональной или региональной. Незональные виртуальные машины могут размещаться в любой зоне доступности в пределах региона. Если в какой-либо зоне доступности региона происходит сбой, виртуальные машины без привязки к зоне могут находиться в затронутой зоне и поэтому столкнуться с простоем.
Поддержка регионов
Зональные виртуальные машины можно развернуть в любом регионе, поддерживающем зоны доступности.
Однако некоторые типы и размеры виртуальных машин доступны только в определенных регионах или определенных зонах в пределах региона. Чтобы проверить, какие регионы и зоны поддерживают необходимые типы виртуальных машин, используйте следующие ресурсы:
Сведения о типах виртуальных машин, доступных в каждом регионе, см. в разделе "Продукты", доступные по регионам.
Чтобы проверить поддерживаемые типы и размеры виртуальных машин в каждой зоне определенного региона, см. статью "Проверка доступности номера SKU виртуальной машины".
Себестоимость
Между стоимостью зональной и незональной виртуальной машины нет разницы.
Настройка поддержки зоны доступности
В этом разделе объясняется, как настроить поддержку зоны доступности для экземпляра виртуальной машины.
Замечание
При выборе используемых зон доступности вы фактически выбираете логическую зону доступности. При развертывании других компонентов рабочей нагрузки в другой подписке Azure они могут использовать другой номер логической зоны доступности для доступа к той же физической зоне доступности. Дополнительные сведения см. в разделе "Физические и логические зоны доступности".
Создайте зональную виртуальную машину. Вы можете создать зональную виртуальную машину с помощью следующих руководств:
Преобразуйте существующие виртуальные машины в зональную конфигурацию. Вы можете перейти от незональной виртуальной машины к зональной виртуальной машине. Этот процесс создает новую виртуальную машину в целевой зоне доступности и требует, чтобы виртуальная машина была остановлена во время процесса перемещения. Дополнительные сведения см. в разделе "Перемещение виртуальных машин одного экземпляра Azure" из регионов в зональные целевые зоны доступности.
Измените зону доступности существующей зональной виртуальной машины. Зональные виртуальные машины нельзя переместить в другую зону доступности. Вместо этого необходимо развернуть новую зональную виртуальную машину в требуемой зоне доступности.
Преобразование зональной виртуальной машины в незональную конфигурацию. Зональные виртуальные машины нельзя преобразовать в незональную конфигурацию. Вместо этого необходимо развернуть новую незональную виртуальную машину.
Поведение, когда все зоны работоспособны
В этом разделе описывается, что ожидать, когда экземпляры виртуальных машин настроены с поддержкой зоны доступности и все зоны доступности работают.
Маршрутизация трафика между зонами: Вы несете ответственность за маршрутизацию трафика между виртуальными машинами, включая виртуальные машины, которые находятся в разных зонах доступности. Распространенные подходы включают Azure Load Balancer и Шлюз приложений Azure. Дополнительные сведения см. в разделе "Параметры балансировки нагрузки".
Репликация данных между зонами: Вы несете ответственность за любую репликацию данных, которая должна происходить между виртуальными машинами, в том числе между виртуальными машинами в разных зонах доступности. Базы данных и другие аналогичные приложения с отслеживанием состояния, которые выполняются на виртуальных машинах, часто предоставляют возможности репликации данных.
Поведение во время сбоя зоны
В этом разделе описывается, что ожидать, когда экземпляры виртуальных машин настроены с поддержкой зоны доступности и в их зонах доступности возникает сбой.
Обнаружение и ответ: Вы несете ответственность за обнаружение и реагирование на сбои зоны, влияющие на виртуальные машины.
Уведомление: Используйте Azure Resource Health для обнаружения сбоев зоны и запуска процессов аварийного восстановления.
Активные запросы: Все активные запросы или другие действия, возникающие на виртуальной машине во время сбоя зоны, скорее всего, будут прекращены.
Ожидаемая потеря данных: Зональные диски виртуальных машин могут быть недоступны во время сбоя зоны.
Если вы используете диски с зональной избыточностью (ZRS), и сбой затрагивает вашу виртуальную машину, вы можете принудительно отключить диски ZRS от вышедшей из строя виртуальной машины. Этот подход позволяет подключить диски ZRS к другой виртуальной машине.
Ожидаемое время простоя: Виртуальные машины остаются отключенными до восстановления зоны доступности.
Перенаправка трафика: Вы несете ответственность за перенаправку трафика на другие виртуальные машины в здоровых зонах.
Если вы настраиваете подсистему балансировки нагрузки, устойчивую к зонам и выполняете проверки работоспособности, подсистема балансировки нагрузки обычно обнаруживает неудачные виртуальные машины и может направлять трафик к другим экземплярам виртуальных машин в работоспособных зонах.
Восстановление зоны
После восстановления работоспособности зоны виртуальные машины в зоне перезапускаются. Вы несете ответственность за любые процедуры восстановления зоны и синхронизацию данных, которые требуются для ваших нагрузок.
Тестирование на сбои в зоне
Azure Chaos Studio можно использовать для имитации потери виртуальной машины в рамках эксперимента. Chaos Studio предоставляет встроенные ошибки для виртуальных машин, включая возможность завершения работы виртуальной машины. Эти возможности можно использовать для имитации сбоев на уровне зоны и тестирования процессов переключения на резервные ресурсы.
Кастомные мультизональные решения для обеспечения устойчивости
При развертывании нескольких виртуальных машин в разных зонах вы несете ответственность за настройку и управление процессами репликации, балансировки нагрузки, отработки и восстановления после отказа.
Некоторые приложения предоставляют встроенные возможности, которые могут помочь при развертывании на нескольких виртуальных машинах. Например, SQL Server на виртуальных машинах Azure предоставляет набор возможностей для упрощения процессов конфигурации и управления в зонах доступности.
Вы можете рассмотреть возможность использования аварийного восстановления в зонах Azure Site Recovery (DR), когда ваше приложение работает в одной зоне за раз, и вам не требуется практически мгновенная отработка отказа между зонами. Аварийное восстановление между зонами имеет некоторые важные ограничения, поэтому тщательно изучите ваши требования.
Устойчивость к сбоям на уровне региона
Виртуальные машины — это однорегиональные ресурсы. Если регион становится недоступным, виртуальная машина также недоступна.
Индивидуальные решения для нескольких регионов для повышения устойчивости
Можно развернуть несколько виртуальных машин в разных регионах, но необходимо реализовать репликацию, балансировку нагрузки и процессы отработки отказа.
Site Recovery — это служба, которая обеспечивает аварийное восстановление путем репликации виртуальных машин и их данных во вторичный регион. Вы можете выбрать почти любой регион Azure в качестве вторичного региона, включая сочетания регионов, которые не связаны парами. Дополнительные сведения см. в документации по архитектуре аварийного восстановления Azure в Azure.
Некоторые приложения создают кластеры или другие конструкции для репликации данных и распределения работы между несколькими виртуальными машинами, в том числе в разных регионах. Эти приложения могут упростить настройку решения с несколькими регионами.
Пример архитектуры, иллюстрирующей использование виртуальных машин в нескольких регионах, см. в разделе "Балансировка нагрузки с несколькими регионами" с помощью диспетчера трафика Azure, брандмауэра Azure и шлюза приложений.
Устойчивость к обслуживанию служб
Azure выполняет регулярное периодическое обслуживание на виртуальных машинах, чтобы обеспечить надежность. Существует несколько способов обеспечить, чтобы рабочие нагрузки оставались операционными во время действий по обслуживанию:
При использовании групп доступности или масштабируемых наборов виртуальных машин можно настроить домены обновления. Домены обновления помогают распределять действия по обслуживанию между разными виртуальными машинами в разное время, поэтому виртуальные машины не будут одновременно перезагружаться.
Вы можете настроить время применения обслуживания к виртуальным машинам с помощью управления обслуживанием. Конфигурации обслуживания можно использовать для планирования его в то время, которое соответствует рабочей нагрузке.
Вы можете получать уведомления о предстоящих действиях по обслуживанию.
Дополнительные сведения см. в разделе "Гостевые обновления" и обзор обслуживания узла.
Резервное копирование и восстановление
Виртуальные машины изначально поддерживают резервное копирование с помощью Azure Backup. Azure Backup предоставляет собственное решение для защиты виртуальных машин путем создания резервных копий и управления ими с согласованной защитой для всей виртуальной машины, включая все подключенные диски. Этот подход идеально подходит, если требуется координированное резервное копирование нескольких дисков или резервных копий с поддержкой приложений. Для рабочих нагрузок базы данных рассмотрите решения резервного копирования, относящиеся к приложению, которые обеспечивают согласованную с транзакцией защиту и более быстрые варианты восстановления.
Вы можете настроить частоту резервного копирования, длительность хранения и конфигурацию хранилища в соответствии с вашими потребностями. Дополнительные сведения см. в статье Azure Backup для виртуальных машин.
Резервное копирование также поддерживает диски, подключенные к виртуальным машинам. Дополнительные сведения см. в разделе "Обзор резервного копирования дисков Azure".
Соглашение об уровне обслуживания
Соглашение об уровне обслуживания (SLA) для служб Azure описывает ожидаемую доступность каждой службы и условия, которые должно соответствовать вашему решению для достижения этого ожидания доступности. Для получения дополнительной информации см. Соглашения об уровне обслуживания для онлайн-сервисов.
Для виртуальных машин соглашение об уровне обслуживания предоставляет базовый уровень доступности. Процент простоя, определенный в уровне обслуживания, увеличивается, если у вас есть две или более виртуальных машин, и вы выполняете следующие действия:
- Настройте эти виртуальные машины для развертывания в двух или нескольких зонах доступности.
- Настройте эти виртуальные машины для развертывания в группе доступности.
Для получения дополнительной информации см. Соглашения об уровне обслуживания для онлайн-сервисов.