Надежность в приложениях контейнеров Azure
В этой статье описывается поддержка надежности в приложениях контейнеров Azure и охватывает как региональную устойчивость с зонами доступности, так и устойчивостью между регионами при аварийном восстановлении. Более подробный обзор надежности в Azure см. в статье "Надежность Azure".
Поддержка зоны доступности
Зоны доступности Azure — это по крайней мере три физически отдельные группы центров обработки данных в каждом регионе Azure. Центры обработки данных в каждой зоне оснащены независимой питанием, охлаждения и сетевой инфраструктурой. В случае сбоя локальной зоны зоны зоны создаются таким образом, чтобы при возникновении влияния одной зоны, региональных служб, емкости и высокой доступности поддерживались остальными двумя зонами.
Сбои могут варьироваться от сбоев программного обеспечения и оборудования до таких событий, как землетрясения, наводнения и пожары. Устойчивость к сбоям достигается с избыточностью и логической изоляцией служб Azure. Дополнительные сведения о зонах доступности в Azure см. в разделе "Регионы и зоны доступности".
Службы с поддержкой зон доступности Azure предназначены для обеспечения правильного уровня надежности и гибкости. Их можно настроить двумя способами. Они могут быть избыточными по зонам с автоматическим реплика tion между зонами или зональными экземплярами, закрепленными в определенной зоне. Эти подходы также можно объединить. Дополнительные сведения об зональной архитектуре, избыточной между зонами, см. в Рекомендации использования зональных зон и регионов.
Приложения контейнеров Azure используют зоны доступности в регионах, где они доступны для обеспечения высокой доступности для приложений и данных из сбоев центра обработки данных.
Включив функцию избыточности зон контейнеров, реплика автоматически распределяются по зонам в регионе. Трафик балансируется между реплика. Если происходит сбой зоны, трафик автоматически направляется в реплика в остальных зонах.
Примечание.
Дополнительная плата за включение избыточности зоны не взимается, но она предоставляет преимущества только в том случае, если у вас есть 2 или более реплика, с 3 или более идеалом, так как большинство регионов, поддерживающих избыточность зон, имеют 3 зоны.
Необходимые компоненты
Приложения контейнеров Azure обеспечивают одинаковую поддержку надежности независимо от типа плана.
Приложения контейнеров Azure используют зоны доступности в регионах, где они доступны. Список регионов, поддерживающих зоны доступности, см. в разделе "Служба зоны доступности" и региональная поддержка.
Улучшения обслуживания
Для приложений контейнеров Azure нет дополнительных соглашений об уровне обслуживания. Дополнительные сведения об соглашениях об уровне обслуживания приложений контейнеров Azure см . в соглашении об уровне обслуживания для приложений контейнеров Azure.
Создание ресурса с включенной зоной доступности
Настройка избыточности зоны в среде "Приложения контейнеров"
Чтобы воспользоваться преимуществами зон доступности, необходимо включить избыточность зоны при создании среды приложений контейнеров. Среда должна включать виртуальную сеть с доступной подсетью. Чтобы обеспечить правильное распределение реплика, задайте минимальное количество реплика приложения на три.
Включение избыточности зоны с помощью портал Azure
Чтобы создать приложение-контейнер в среде с поддержкой избыточности зоны с помощью портал Azure:
- Перейдите на портал Azure.
- Найдите контейнерные приложения в верхнем поле поиска.
- Выберите "Приложения-контейнеры".
- Выберите "Создать" в поле "Среда приложений контейнеров", чтобы открыть панель "Создание среды приложений контейнеров".
- Введите имя среды.
- Выберите "Включено " для поля избыточности зоны.
Для избыточности зоны требуется виртуальная сеть с подсетью инфраструктуры. Можно выбрать существующую виртуальную сеть или создать новую. При создании новой виртуальной сети можно принять значения, указанные для вас, или настроить параметры.
- Перейдите на вкладку Сеть.
- Чтобы назначить имя настраиваемой виртуальной сети, нажмите кнопку "Создать" в поле виртуальная сеть.
- Чтобы назначить имя настраиваемой подсети инфраструктуры, выберите "Создать" в поле "Подсеть инфраструктуры".
- Для виртуального IP-адреса можно выбрать внутренний или внешний.
- Нажмите кнопку создания.
Включение избыточности зоны с помощью Azure CLI
Создайте подсеть виртуальной сети и инфраструктуры для включения в среду приложений контейнеров.
При использовании этих команд замените <PLACEHOLDERS>
значениями.
Примечание.
Для среды потребления требуется выделенная подсеть с диапазоном /23
CIDR или больше. Для среды профилей рабочей нагрузки требуется выделенная подсеть с диапазоном /27
CIDR или больше. Дополнительные сведения о размерах подсети см. в обзоре сетевой архитектуры.
az network vnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VNET_NAME> \
--location <LOCATION> \
--address-prefix 10.0.0.0/16
az network vnet subnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--vnet-name <VNET_NAME> \
--name infrastructure \
--address-prefixes 10.0.0.0/21
Затем выполните запрос к идентификатору подсети инфраструктуры.
INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group <RESOURCE_GROUP_NAME> --vnet-name <VNET_NAME> --name infrastructure --query "id" -o tsv | tr -d '[:space:]'`
Наконец, создайте среду с параметром --zone-redundant
. Расположение должно быть таким же расположением, которое используется при создании виртуальной сети.
az containerapp env create \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--location "<LOCATION>" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--zone-redundant
Проверка избыточности зоны с помощью Azure CLI
Примечание.
Портал Azure не показывает, включена ли избыточность зоны.
az container app env show
Используйте команду для проверки избыточности зоны для среды контейнеров.
az containerapp env show \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--subscription <SUBSCRIPTION_ID>
Команда возвращает ответ JSON. Проверьте, содержится "zoneRedundant": true
ли ответ.
методы развертывания Сейф
При настройке избыточности зоны в приложении-контейнере реплика автоматически распределяются по зонам в регионе. После распределения реплика трафик распределяется между ними. Если происходит сбой в зоне, трафик автоматически направляется к реплика в оставшейся зоне.
Вы по-прежнему должны использовать безопасные методы развертывания, такие как сине-зеленое развертывание. Приложения контейнеров Azure не предоставляют однозонное развертывание или обновление.
Если вы включили сопоставление сеансов, а зона исчезнет, клиенты для этой зоны перенаправляются в новые реплика, так как предыдущие реплика больше недоступны. Любое состояние, связанное с предыдущими реплика, теряется.
Миграция зоны доступности
Чтобы воспользоваться преимуществами зон доступности, включите избыточность зоны при создании среды "Приложения контейнеров". Среда должна включать виртуальную сеть с доступной подсетью. Невозможно перенести существующую среду приложений контейнеров из недоступной зоны поддержки в поддержку зоны доступности.
Аварийное восстановление между регионами и непрерывность бизнес-процессов
Аварийное восстановление (АВАРИЙНОе восстановление) заключается в восстановлении из событий высокой нагрузки, таких как стихийные бедствия или неудачные развертывания, которые приводят к простою и потере данных. Независимо от причины, лучшее средство для аварийного восстановления является хорошо определенным и проверенным планом аварийного восстановления и проектом приложения, который активно поддерживает аварийное восстановление. Прежде чем начать думать о создании плана аварийного восстановления, ознакомьтесь с Рекомендации для разработки стратегии аварийного восстановления.
Когда дело доходит до аварийного восстановления, корпорация Майкрософт использует модель общей ответственности. В модели общей ответственности корпорация Майкрософт гарантирует, что доступны базовые службы инфраструктуры и платформы. В то же время многие службы Azure не автоматически реплика te данные или возвращаются из неудающегося региона, чтобы перекрестно реплика te в другой включенный регион. Для этих служб вы несете ответственность за настройку плана аварийного восстановления, который работает для рабочей нагрузки. Большинство служб, работающих на платформе Azure как услуга (PaaS), предоставляют функции и рекомендации для поддержки аварийного восстановления, и вы можете использовать специальные функции службы для поддержки быстрого восстановления для разработки плана аварийного восстановления .
В маловероятном случае сбоя в полном регионе у вас есть возможность использовать одну из двух стратегий:
Восстановление вручную. Вручную разверните его в новом регионе или дождитесь восстановления региона, а затем повторно разверните все среды и приложения вручную.
Отказоустойчивое восстановление. Сначала разверните приложения-контейнеры заранее в нескольких регионах. Затем используйте Azure Front Door или Диспетчер трафика Azure для обработки входящих запросов, указывая трафик на основной регион. Затем, если произойдет сбой, вы можете перенаправить трафик из затронутого региона. Дополнительные сведения см. в статье Репликация между регионами в Azure.
Примечание.
Независимо от выбранной стратегии убедитесь, что файлы конфигурации развертывания находятся в системе управления версиями, чтобы можно было легко повторно развернуть при необходимости.
Дополнительные рекомендации
Следующие ресурсы помогут вам создать собственный план аварийного восстановления:
- Восстановление после сбоев и аварийное восстановление для приложений Azure
- Техническое руководство по обеспечению устойчивости в Azure