0Pricing
Cloud & IT Cert Prep · Урок

Проверки работоспособности и отказоустойчивость DNS

Настройте проверки работоспособности конечных точек, вычисляемые проверки и проверки аварий CloudWatch, чтобы Route 53 автоматически перенаправлял трафик от неработающих конечных точек.

«Проверки работоспособности и отказоустойчивость DNS» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Что такое проверки работоспособности Route 53

Проверки работоспособности Route 53 непрерывно отслеживают состояние конечных точек — веб-серверов, балансировщиков нагрузки и любых конечных точек HTTP/HTTPS/TCP, доступных через интернет. На основании результатов проверок Route 53 может автоматически обновлять маршрутизацию DNS, не направляя трафик к неисправным ресурсам.

Плата взимается за каждую проверку работоспособности ежемесячно. Глобальные средства проверки работоспособности Route 53, расположенные в нескольких Region, одновременно проверяют Вашу конечную точку, обеспечивая избыточность самой системы проверок. Конечная точка считается неисправной только тогда, когда согласованное число средств проверки подтверждает её отказ.

Проверки работоспособности конечных точек

Проверки работоспособности конечных точек отслеживают конкретный IP-адрес или доменное имя с использованием выбранного протокола (HTTP, HTTPS или TCP), порта и необязательного пути. Для проверок HTTP/HTTPS Route 53 проверяет, возвращает ли конечная точка код состояния HTTP 2xx или 3xx в течение времени ожидания. Для проверок HTTPS можно дополнительно проверить сертификат TLS.

Основные параметры конфигурации: интервал запросов (10 или 30 секунд — интервал в 10 секунд ускоряет обнаружение, но стоит дороже), порог отказов (от 1 до 10 последовательных отказов до объявления конечной точки неисправной) и сопоставление строк (необязательная проверка того, что тело ответа содержит определённую строку).

# Create an HTTP health check
aws route53 create-health-check \
  --caller-reference hc-2026-06-20 \
  --health-check-config '{
    "Type": "HTTP",
    "IPAddress": "54.100.1.1",
    "Port": 80,
    "ResourcePath": "/health",
    "FailureThreshold": 3,
    "RequestInterval": 30
  }'

Вычисляемые проверки работоспособности

Вычисляемые проверки работоспособности объединяют результаты нескольких дочерних проверок с помощью логики Boolean (AND, OR, NOT). Это позволяет определять состояние приложения на основе нескольких сигналов без создания сложных цепочек маршрутизации.

Пример: веб-приложение считается работоспособным только в том случае, если успешно проходят и проверка сервера API, и проверка базы данных. Создайте вычисляемую проверку работоспособности с типом AND, ссылающуюся на обе проверки конечных точек. Если любая из них завершается ошибкой, вычисляемая проверка также завершается ошибкой, и Route 53 удаляет связанную запись DNS из ответов.

# Create a calculated health check (AND of two child checks)
aws route53 create-health-check \
  --caller-reference hc-calc-2026 \
  --health-check-config '{
    "Type": "CALCULATED",
    "ChildHealthChecks": [
      "hc-api-id",
      "hc-db-id"
    ],
    "HealthThreshold": 2
  }'

Проверки работоспособности по сигналу тревоги CloudWatch

Проверки работоспособности по сигналу тревоги CloudWatch связывают проверку работоспособности Route 53 с состоянием сигнала тревоги CloudWatch. Если сигнал тревоги находится в состоянии ALARM, проверка работоспособности помечается как неуспешная; если он находится в состоянии OK или INSUFFICIENT_DATA, проверка помечается как успешная.

Этот подход особенно полезен для конечных точек внутри VPC, к которым внешние средства проверки Route 53 не могут получить доступ. Вместо прямой проверки частной конечной точки создайте для неё метрики и сигналы тревоги CloudWatch, а затем основывайте проверку работоспособности Route 53 на состоянии сигнала тревоги. Это также позволяет проверять состояние на основе бизнес-метрик, таких как частота ошибок или глубина очереди.

# Create a health check based on a CloudWatch alarm
aws route53 create-health-check \
  --caller-reference hc-cw-2026 \
  --health-check-config '{
    "Type": "CLOUDWATCH_METRIC",
    "AlarmIdentifier": {
      "Region": "us-east-1",
      "Name": "HighErrorRate-Alarm"
    },
    "InsufficientDataHealthStatus": "Healthy"
  }'

Проверки работоспособности частных конечных точек

Средства проверки работоспособности Route 53 — это управляемые AWS серверы за пределами Вашего VPC, которые обращаются к конечным точкам через общедоступный интернет. Ресурсы в частных подсетях недоступны для стандартных проверок работоспособности конечных точек. Для частных конечных точек используйте один из следующих подходов:

  • Публикуйте пользовательскую метрику CloudWatch изнутри VPC (например, сигнал успеха или отказа от приложения), создайте сигнал тревоги и используйте проверку работоспособности по сигналу тревоги CloudWatch
  • Используйте составной сигнал тревоги CloudWatch, объединяющий метрики ELB, RDS или приложения внутри VPC

Этот подход особенно важен для баз данных в частных подсетях, внутренних балансировщиков нагрузки и внутренних сервисов.

Состояние и мониторинг проверок работоспособности

Вы можете просмотреть состояние проверки работоспособности в консоли Route 53 в разделе Health Checks или запросить его через API. Route 53 публикует метрики проверок работоспособности в CloudWatch в пространстве имён AWS/Route53, включая HealthCheckStatus (1 = работоспособна, 0 = неисправна) и HealthCheckPercentageHealthy (процент средств проверки Route 53, сообщающих, что конечная точка работоспособна).

Настройте в CloudWatch сигналы тревоги для HealthCheckStatus, чтобы получать уведомления SNS, когда конечная точка становится неисправной. Это позволит Вам узнать о проблеме до того, как дежурная команда заметит, что переключение DNS при отказе уже произошло.

# Get health check status
aws route53 get-health-check-status \
  --health-check-id a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  --query 'CheckerIpRanges'

Переключение DNS при отказе с маршрутизацией Failover

Когда Route 53 обнаруживает, что проверка работоспособности записи Primary завершилась ошибкой, он удаляет Primary из ответов DNS и возвращает адрес Secondary. Это называется переключением DNS при отказе. Переключение происходит в течение периода оценки (количество отказов средств проверки × интервал запросов) плюс TTL записи.

Пример: интервал запросов = 30 с, порог отказов = 3, TTL = 60 с. Максимальное время переключения ≈ 3 × 30 + 60 = 150 секунд. Установка меньшего TTL (например, 10 секунд) и более короткого интервала проверки работоспособности (10 с) может сократить это время до 3 × 10 + 10 = 40 секунд.

Проверки работоспособности для записей Weighted и Latency

Проверки работоспособности можно связывать не только с записями Failover, но и с записями Weighted и Latency. Если проверка работоспособности записи Weighted завершается ошибкой, Route 53 пропорционально перераспределяет вес трафика этой записи между работоспособными записями Weighted. Если проверка работоспособности записи Latency завершается ошибкой, Route 53 направляет запросы к следующей работоспособной записи с наименьшей задержкой.

Это делает политики маршрутизации Weighted и Latency устойчивыми к отказам конечных точек без необходимости явно создавать записи Failover. Это распространённый шаблон SAA-C03: маршрутизация Latency между Region с проверками работоспособности обеспечивает и оптимизацию производительности, и автоматическое аварийное восстановление.

Активно-активная конфигурация в нескольких Region с проверками работоспособности

Устойчивый активно-активный шаблон в нескольких Region с использованием Route 53:

  1. Создайте записи Latency для каждого Region (us-east-1, eu-west-1, ap-southeast-1), добавив к каждой проверку работоспособности
  2. Когда все Region работоспособны, пользователи направляются в Region с наименьшей задержкой
  3. Если проверка работоспособности одного Region завершается ошибкой (приложение не работает или не отвечает), Route 53 автоматически удаляет этот Region из ответов DNS и направляет запросы в следующий наиболее подходящий работоспособный Region
  4. Когда неисправный Region восстанавливается, проверка работоспособности завершается успешно, и Route 53 снова включает его в распределение

Это обеспечивает автоматическое глобальное переключение при отказе с оптимизацией производительности — ручное вмешательство не требуется.

Диапазоны IP для средств проверки работоспособности Route 53

Средства проверки работоспособности Route 53 выполняют запросы с набора опубликованных диапазонов IP в разделе ROUTE53_HEALTHCHECKS JSON-файла диапазонов IP AWS. Если Ваша конечная точка защищена брандмауэром или группой безопасности, ограничивающей входящий доступ, необходимо разрешить трафик из этих диапазонов IP, чтобы проверки работоспособности выполнялись успешно.

В качестве альтернативы используйте общедоступную конечную точку, которая проксирует запросы к Вашей частной внутренней системе (например, ALB). Группе безопасности ALB достаточно разрешить диапазоны IP Route 53, а группа безопасности внутренней системы должна разрешать доступ только от группы безопасности ALB. Так сохраняется многоуровневая защита.

# Fetch Route 53 health checker IP ranges
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | \
  python3 -c "
import json,sys
data=json.load(sys.stdin)
ranges=[p['ip_prefix'] for p in data['prefixes'] if p['service']=='ROUTE53_HEALTHCHECKS']
print('\n'.join(ranges))
"

Рекомендации по проверкам работоспособности

Рекомендации по проверкам работоспособности Route 53:

  • Создайте отдельную конечную точку /health, которая проверяет все критически важные зависимости (подключение к базе данных, доступность кэша) и возвращает 200 только при полной работоспособности
  • Используйте интервал запросов 10 секунд для критически важных конечных точек в рабочей среде, чтобы быстрее обнаруживать отказы
  • Отслеживайте в CloudWatch показатель HealthCheckPercentageHealthy — частичный отказ (когда не все, а только некоторые средства проверки Route 53 завершаются ошибкой) может указывать на региональную проблему сети или непериодический сбой
  • Для ресурсов, закрытых внутри VPC, используйте проверки работоспособности по сигналам тревоги CloudWatch на основе метрик приложения
  • Проверяйте переключение при отказе в средах, не предназначенных для рабочей эксплуатации, прежде чем полагаться на него в рабочей среде

Быстрая проверка

Проверьте своё понимание концепций AWS Solutions Architect (SAA-C03), рассмотренных в этом уроке.

Итоги урока

В этом уроке Вы узнали: проверки работоспособности конечных точек выполняют проверку HTTP/HTTPS/TCP из внешних средств проверки Route 53, проверки работоспособности по сигналам тревоги CloudWatch позволяют отслеживать частные ресурсы VPC, а вычисляемые проверки работоспособности объединяют несколько сигналов с помощью логики Boolean. Скорость переключения DNS при отказе зависит от интервала проверки работоспособности, порога отказов и TTL. Далее мы рассмотрим дистрибутивы и источники CloudFront.

Часто задаваемые вопросы

Урок «Проверки работоспособности и отказоустойчивость DNS» бесплатный?

Да — полный текст урока «Проверки работоспособности и отказоустойчивость DNS» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Чему я научусь в уроке «Проверки работоспособности и отказоустойчивость DNS»?

Настройте проверки работоспособности конечных точек, вычисляемые проверки и проверки аварий CloudWatch, чтобы Route 53 автоматически перенаправлял трафик от неработающих конечных точек. Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?

Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Проверки работоспособности и отказоустойчивость DNS»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?

Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Размещённые зоны и типы записей DNS
  2. Политики маршрутизации: простая, взвешенная и по задержке
  3. Отказоустойчивость и географическая маршрутизация
  4. Проверки работоспособности и отказоустойчивость DNS
← Назад к Cloud & IT Cert Prep