Наборы доступности и зоны доступности
Разверните VM в наборе доступности или в нескольких зонах доступности и изучите модель доменов сбоя и обновления, предотвращающую одновременные сбои.
«Наборы доступности и зоны доступности» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Почему избыточность важна для VM
Одна Azure Virtual Machine уязвима к аппаратным сбоям, обновлениям OS и плановым мероприятиям по обслуживанию. Azure предоставляет два механизма защиты рабочих нагрузок VM от таких нарушений: наборы доступности и зоны доступности. Понимание различий между ними и случаев применения каждого механизма необходимо для проектирования надёжных архитектур Azure на основе VM.
Что такое набор доступности
Набор доступности — это логическая группа VM в одном центре обработки данных Azure. При размещении VM в наборе доступности Azure распределяет их между несколькими доменами сбоя (отдельными стойками питания и сети) и доменами обновления (группами, которые во время обслуживания перезапускаются по очереди). Это защищает как от аппаратных сбоев, так и от плановых перезапусков.
# Create an availability set:
az vm availability-set create \
--resource-group myRG \
--name myAvailabilitySet \
--platform-fault-domain-count 2 \
--platform-update-domain-count 5Домены сбоя и домены обновления
Домены сбоя представляют собой группы VM, использующие одно и то же физическое оборудование (источник питания и сетевой коммутатор). Azure распределяет VM между максимум тремя доменами сбоя, чтобы отказ питания или стойки не вывел из строя все VM одновременно. Домены обновления представляют собой группы VM, которые перезапускаются вместе во время обслуживания платформы Azure. Azure поддерживает до 20 доменов обновления, при этом за один раз перезапускается только один домен.
# Example: 4 VMs in an availability set with 2 fault domains and 5 update domains:
# VM1: Fault Domain 0, Update Domain 0
# VM2: Fault Domain 1, Update Domain 1
# VM3: Fault Domain 0, Update Domain 2
# VM4: Fault Domain 1, Update Domain 3
# At most 2 VMs can be affected by a single fault or update eventSLA набора доступности
Размещение двух или более VM в наборе доступности даёт право на SLA 99.95% от Microsoft. Это значительно лучше, чем SLA 99.9% для одной VM. Наборы доступности бесплатны — Вы платите только за сами VM. Они подходят для рабочих нагрузок, допускающих размещение VM в одном центре обработки данных, поскольку не защищают от полного отказа центра обработки данных.
Что такое зоны доступности
Зоны доступности — это физически раздельные центры обработки данных в одном регионе Azure. Каждая зона имеет независимые системы питания, охлаждения и сети. В регионах Azure, поддерживающих зоны доступности, предусмотрено не менее трёх зон. Развёртывая VM в разных зонах доступности, Вы защищаете их от отказа целого центра обработки данных — это гораздо более надёжная гарантия, чем та, которую предоставляют наборы доступности.
# Deploy a VM to availability zone 1:
az vm create \
--resource-group myRG \
--name webVM1 \
--image Ubuntu2204LTS \
--zone 1
# Deploy a second VM to availability zone 2:
az vm create \
--resource-group myRG \
--name webVM2 \
--image Ubuntu2204LTS \
--zone 2SLA зоны доступности
Развёртывание двух или более виртуальных машин в разных зонах доступности соответствует уровню SLA 99,99% — самому высокому из доступных для виртуальных машин Azure. Это связано с тем, что даже при отказе целой зоны (аварии в центре обработки данных, сбое электросети и т. д.) виртуальные машины в других зонах продолжают работать. Компромисс заключается в том, что передача данных между зонами тарифицируется отдельно, а сами зоны по-прежнему находятся в одном регионе.
Наборы доступности и зоны доступности
Выбирайте один из двух вариантов в зависимости от своих требований:
- Набор доступности — один и тот же центр обработки данных, защита от сбоев оборудования и планового обслуживания, SLA 99,95%. Используйте этот вариант, если зоны недоступны в вашем регионе или при переносе устаревших систем без изменений.
- Зона доступности — разные центры обработки данных в одном регионе, защита от отказа центра обработки данных, SLA 99,99%. Используйте этот вариант для всех новых рабочих нагрузок в рабочей среде, если зоны поддерживаются.
Сервисы с избыточностью по зонам
Многие службы Azure PaaS поддерживают развёртывание с избыточностью по зонам, поэтому Вам не нужно вручную распределять ресурсы по зонам. К таким службам относятся, например, уровень Azure SQL Database Business Critical, Azure Cache для Redis Premium, Azure Kubernetes Service и Azure Load Balancer Standard. Если избыточность по зонам включена, служба автоматически распределяет реплики по зонам.
# Create a zone-redundant Azure SQL Database:
az sql db create \
--resource-group myRG \
--server mySqlServer \
--name myDatabase \
--service-objective 'BusinessCritical' \
--zone-redundant trueБалансировка нагрузки между зонами
Если виртуальные машины распределены по зонам доступности, Вам нужен балансировщик нагрузки, способный направлять трафик к виртуальным машинам в любой зоне. Используйте Azure Load Balancer Standard (по умолчанию поддерживает избыточность по зонам) или Azure Application Gateway v2 для распределения трафика между виртуальными машинами в разных зонах. Эти службы поддерживают пробы работоспособности, которые автоматически прекращают отправку трафика виртуальным машинам, переставшим отвечать.
# Create a Standard Load Balancer (zone-redundant):
az network lb create \
--resource-group myRG \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIPПроверка поддержки зон в регионе
Не все регионы Azure поддерживают зоны доступности — только регионы, обозначенные как рекомендуемые регионы, гарантированно имеют не менее трёх зон. Перед проектированием архитектуры, зависящей от зон, используйте Azure CLI или портал, чтобы проверить доступность зон в целевом регионе. Если зоны недоступны, запасным вариантом служат наборы доступности.
# Check which zones are available in a region:
az vm list-skus \
--location eastus \
--size Standard_D2s_v3 \
--output table
# The output shows which availability zones support the chosen VM sizeВлияние зон на стоимость
Сами зоны доступности бесплатны — Вы платите только за размещённые в них ресурсы. Однако передача данных между зонами в одном регионе тарифицируется за каждый ГБ. Для большинства приложений эта стоимость минимальна, но при проектировании архитектуры рабочих нагрузок с высокой пропускной способностью (например, обработки видео) следует учитывать расходы на передачу данных между зонами.
Быстрая проверка
Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900) из этого урока.
Итоги урока
В этом уроке Вы узнали, что наборы доступности защищают виртуальные машины в одном центре обработки данных с помощью доменов отказа и доменов обновления (SLA 99,95%), зоны доступности распределяют виртуальные машины по отдельным центрам обработки данных в регионе (SLA 99,99%), а службы PaaS с избыточностью по зонам выполняют это распределение автоматически. Далее мы рассмотрим активную-активную архитектуру в нескольких регионах, обеспечивающую ещё более высокий уровень доступности.
Часто задаваемые вопросы
Урок «Наборы доступности и зоны доступности» бесплатный?
Да — полный текст урока «Наборы доступности и зоны доступности» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Чему я научусь в уроке «Наборы доступности и зоны доступности»?
Разверните VM в наборе доступности или в нескольких зонах доступности и изучите модель доменов сбоя и обновления, предотвращающую одновременные сбои. Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?
Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Наборы доступности и зоны доступности»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?
Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- SLA Azure и составные SLA
- Наборы доступности и зоны доступности
- Мульти региональная активная активная архитектура
- Проверки работоспособности и плавная деградация