Підвищення надійності в Azure: три ключові практики
За даними телеметрії Microsoft, значна кількість клієнтів Azure нехтує фундаментальними практиками, що критично впливають на надійність їхніх хмарних сервісів. У цій статті ми розглянемо три ключові дії, спрямовані на підвищення відмовостійкості інфраструктури в межах одного регіону.
Хоча глобальна стратегія надійності повинна включати мультирегіональну архітектуру (в ідеалі — active-active або з перевіреним планом аварійного відновлення), наведений нижче базис є обов’язковим для побудови стійких рішень.
1. Повноцінне використання Зон Доступності (Availability Zones)
Найпоширеніша помилка — ігнорування або неповне використання Зон Доступності.
Концепція: Зони Доступності (АЗ) — це фізично ізольовані групи дата-центрів у межах одного регіону Azure. Кожна зона має незалежні системи живлення, охолодження та мережевого сполучення. У межах однієї підписки зазвичай доступні три зони (AZ1,AZ2,AZ3). Використання кількох АЗ дозволяє сервісу пережити відмову цілого дата-центру або навіть групи дата-центрів, значно зменшуючи «радіус ураження» (blast radius).

Практичне застосування: Мета — розгорнути кожен компонент вашого рішення у зоно-надлишковій конфігурації (zone-redundant).
- Обчислювальні ресурси (Compute):
- Масштабовані набори віртуальних машин (VM Scale Sets) та Azure Kubernetes Service (AKS): Налаштовуйте їх для розгортання екземплярів одразу в кількох зонах (наприклад,
zones: [1, 2, 3]). - Ключова вимога: Недостатньо просто вказати кілька зон. Необхідно мати мінімум два екземпляри (в ідеалі три, по одному на зону). Один екземпляр не може бути «розтягнутий» між дата-центрами. Замість однієї великої віртуальної машини використовуйте кілька менших — це відповідає принципам горизонтального масштабування в хмарі.
- Масштабовані набори віртуальних машин (VM Scale Sets) та Azure Kubernetes Service (AKS): Налаштовуйте їх для розгортання екземплярів одразу в кількох зонах (наприклад,
- Сховища даних (Storage):
- При створенні облікового запису сховища обирайте опцію Zone-Redundant Storage (ZRS). У цьому режимі три копії ваших даних будуть розподілені між трьома різними Зонами Доступності, на відміну від локально-надлишкового сховища (LRS), де всі копії зберігаються в одному кластері.
- Бази даних (Databases):
- Для сервісів як Cosmos DB можна увімкнути зоно-надлишковість для кожного регіонального екземпляра.
- Для Azure SQL DB (General Purpose), SQL MI, PostgreSQL та інших керованих баз даних необхідно явно активувати опції високої доступності (High Availability), які використовують Зони Доступності для розгортання реплік.
2. Забезпечення надлишковості мережевих шлюзів (Network Gateways)

Навіть ідеально зоно-надлишкова інфраструктура може виявитися недоступною, якщо точка входу до неї є єдиною точкою відмови.
Концепція: Мережеві шлюзи, такі як VPN Gateway та ExpressRoute Gateway, керують трафіком між вашими віртуальними мережами в Azure та зовнішніми мережами (наприклад, онпремісною інфраструктурою).
Практичне застосування: Для шлюзів ExpressRoute та VPN доступні спеціальні Zone-Redundant SKU (наприклад, ErGw1AZ, ErGw2AZ, VpnGw1AZ і т.д.). Використання таких SKU гарантує, що екземпляри шлюзу будуть розгорнуті в кількох Зонах Доступності. Це захищає від збоїв на рівні зони та усуває єдину точку відмови у вашій мережевій архітектурі.
Перевірте кожен компонент вашої архітектури. Якщо ресурс не підтримує зоно-надлишковість і позначений як «регіональний», це потенційний ризик, оскільки ви не контролюєте його фізичне розміщення.
3. Підвищення стійкості зовнішніх мережевих підключень (ExpressRoute)
Третій крок стосується фізичної відмовостійкості каналу зв’язку між вашою інфраструктурою та Azure. Розглянемо це на прикладі ExpressRoute.
Стандартна конфігурація ExpressRoute: При купівлі каналу ExpressRoute ви отримуєте два фізичних підключення (active-active) до маршрутизаторів Microsoft Edge. Однак за замовчуванням обидва ці підключення знаходяться в одній і тій самій фізичній будівлі — у так званій точці пірингу (peering location). Це створює ризик: у разі збою всього об’єкта (через погодні умови, знеструмлення) ви втратите зв’язок з Azure.

Для підвищення надійності існують два підходи:
- Рішення 1: ExpressRoute Metro (оптимальне за вартістю)
- Принцип роботи: Це опція, доступна у деяких провайдерів та містах, яка дозволяє рознести два ваші підключення у дві різні будівлі в межах одного міста. Ви все ще маєте один канал ExpressRoute, але його фізичні компоненти географічно розподілені. Це найдешевший спосіб значно підвищити стійкість.
- Рішення 2: Декілька каналів ExpressRoute (максимальна надійність)
- Принцип роботи: Ви купуєте другий, повністю незалежний канал ExpressRoute, що підключається до іншої точки пірингу.
- Архітектурний вибір: Тут виникає компроміс між затримкою (latency) та надійністю:
- Низька затримка: Другий канал можна організувати в тому ж місті, але через іншого оператора або в іншій локації пірингу. Це мінімізує затримку, але залишає ризик масштабного міського збою.
- Висока надійність: Другий канал розгортається в іншому місті, за сотні кілометрів від першого. Це ідеальний варіант для мультирегіональних архітектур, оскільки фізична відстань між точками підключення відповідає відстані між регіонами Azure.
Ваші зоно-надлишкові шлюзи в Azure конфігуруються для роботи з обома каналами, а за допомогою налаштувань ваг (weight) можна керувати маршрутизацією трафіку.
Як розпочати? Новий Azure Reliability Hub
Microsoft нещодавно запустив централізований портал — Azure reliability documentation hub. Це не просто збірка посилань, а структурована база знань, розроблена для допомоги в побудові надійних систем.
Для кожного сервісу Azure портал надає:
- Опис архітектури надійності.
- Рекомендації щодо обробки короткочасних збоїв (transient faults), наприклад, імплементація логіки повторних спроб (retry logic) через клієнтські бібліотеки.
- Детальні інструкції з налаштування Зон Доступності.
- Сценарії поведінки сервісу під час відмови зони та план дій для відновлення.
- Рекомендації щодо мультирегіонального розгортання та резервного копіювання.
План дій:
- Проаналізуйте ваше поточне навантаження (workload).
- Визначте сервіси, які ви використовуєте.
- Знайдіть відповідні сторінки в Azure Reliability Hub та перевірте, чи відповідає ваша конфігурація рекомендованим практикам.
Висновки
Впровадження цих трьох фундаментальних практик є критично важливим для забезпечення високого рівня надійності ваших сервісів в Azure. Почніть з аудиту поточних ресурсів:
- Переведіть обчислювальні ресурси, сховища та бази даних на зоно-надлишкові конфігурації з достатньою кількістю екземплярів.
- Використовуйте Zone-Redundant SKU для мережевих шлюзів.
- Оцініть стійкість вашого підключення ExpressRoute та розгляньте перехід на Metro або додавання другого каналу.
Ці кроки створять міцний фундамент, на якому можна будувати складніші та стійкіші хмарні рішення.
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів