Модуль 3.5: Azure DNS та Traffic Manager
Складність: [MEDIUM] | Час на виконання: 1.5 год | Передумови: Модуль 3.2 (Віртуальні мережі)
Чому цей модуль важливий
Розділ «Чому цей модуль важливий»У жовтні 2021 року світ на шість годин втратив доступ до Facebook. Не фігурально — буквально. Навіть працівники не могли потрапити в офіс, бо їхні перепустки залежали від внутрішнього DNS. Цей інцидент довів: DNS — це невидимий фундамент інтернету. Якщо він не працює — не працює нічого.
Коли ви запускаєте додатки в Azure, DNS — це не просто спосіб перетворити ім’я mysite.com на IP-адресу. Це інструмент для забезпечення високої доступності. Якщо ваш сервер у США “впав”, DNS має миттєво перенаправити користувачів на сервер у Європі. Azure DNS та Traffic Manager — це сервіси, які роблять вашу систему стійкою до катастроф цілих регіонів.
У цьому модулі ви навчитеся створювати публічні та приватні DNS-зони, налаштовувати автоматичну реєстрацію імен для ваших віртуальних машин та опануєте Traffic Manager для глобального балансування трафіку.
Azure DNS: Публічні зони
Розділ «Azure DNS: Публічні зони»Azure DNS дозволяє хостити ваші домени на глобальній мережі серверів Microsoft.
- Anycast мережа: запит користувача завжди потрапляє на найближчий сервер DNS, що дає мінімальну затримку.
- Alias Records: Це спеціальна фіча Azure. Замість того, щоб вказувати на IP-адресу, ви вказуєте прямо на ресурс Azure (напр. Load Balancer). Якщо IP балансувальника зміниться — DNS оновить запис автоматично.
Private DNS Zones: Внутрішній DNS
Розділ «Private DNS Zones: Внутрішній DNS»Приватні зони працюють тільки всередині ваших мереж VPC (VNet).
Навіщо це потрібно?
- Service Discovery: Ваш веб-сервер звертається до бази за іменем
db.internal.local, а не за IP. - Auto-registration: При створенні нової ВМ Azure сама додасть запис у DNS з її іменем та IP. Видалите ВМ — запис зникне. Це ідеально для динамічних середовищ.
Traffic Manager: Глобальна маршрутизація
Розділ «Traffic Manager: Глобальна маршрутизація»Traffic Manager працює на рівні DNS. Він не пропускає трафік крізь себе, він лише каже клієнту, куди йти.
Методи маршрутизації:
Розділ «Методи маршрутизації:»- Priority: Завжди направляти в регіон А. Якщо А “впав” (failed health probe) — направляти в Б. (Active/Passive).
- Weighted: Направляти 80% трафіку на стару версію і 20% — на нову. (Canary/AB testing).
- Performance: Направляти користувача в той регіон, до якого у нього найменша затримка (latency).
- Geographic: Користувачі з України потрапляють на сервери в Європі через вимоги суверенітету даних.
Типові помилки
Розділ «Типові помилки»| Помилка | Чому це стається | Як виправити |
|---|---|---|
| Високий TTL у Traffic Manager | За замовчуванням 300с. При збої користувачі 5 хвилин бачитимуть помилку | Для failover ставте TTL 30-60 секунд |
| Забуті NS-записи | Зону в Azure створили, а у реєстратора (GoDaddy/Namecheap) не змінили | Копіюйте всі 4 сервери імен Azure до свого реєстратора |
| Немає Health Probes | Traffic Manager не знає, що сервер “впав” | Завжди налаштовуйте шлях перевірки (напр. /health) |
| CNAME у корені домену | Стандарт DNS це забороняє | Використовуйте Alias records в Azure DNS — вони працюють і в корені |
Тест
Розділ «Тест»1. У чому головна різниця між Traffic Manager та Azure Load Balancer?
Load Balancer працює всередині одного регіону і пропускає трафік крізь себе. Traffic Manager працює на рівні DNS по всьому світу і лише віддає потрібну IP-адресу клієнту.
2. Чи побачить інтернет-користувач записи з Private DNS Zone?
Ні. Приватні зони доступні тільки з тих мереж VNet, які ви явно до них підключили.
Практична вправа: Налаштування Failover
Розділ «Практична вправа: Налаштування Failover»- Створіть Traffic Manager профайл з методом
Priority. - Додайте два ендпоінти (наприклад, посилання на два різні сайти).
- Налаштуйте Health Probe на корінь сайту.
- Вимкніть перший сайт і перевірте через
nslookup, чи змінилася IP-адреса, яку віддає Traffic Manager.
Наступний модуль
Розділ «Наступний модуль»Переходьте до Модуля 3.6: Azure Container Registry (ACR) — ви навчитеся зберігати образи контейнерів, налаштовувати автоматичну збірку (ACR Tasks) та захищати доступ до вашого коду.