Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Истории успеха
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Архитектурные решения
  • Рекомендации по отказоустойчивости в Yandex Cloud
  • Развертывание веб-приложения в отказоустойчивой конфигурации в Yandex Cloud
    • Тестирование инфраструктуры на основе Application Load Balancer
    • Тестирование инфраструктуры на основе Network Load Balancer

В этой статье:

  • Цели тестирования
  • Подготовка к тестированию
  • Среда тестирования
  • Рекомендации к проведению тестирования
  • Инструменты тестирования
  • Методика проведения тестирования
  • Подготовка
  • Запуск тестирования
  • Оценка состояния
  • Завершение тестирования
  • Заключение
  1. Тестирование отказоустойчивости в Yandex Cloud
  2. Тестирование инфраструктуры на основе Network Load Balancer

Тестирование отказоустойчивости в инфраструктуре Yandex Cloud на основе Yandex Network Load Balancer

Статья создана
Yandex Cloud
Обновлена 2 февраля 2026 г.
  • Цели тестирования
  • Подготовка к тестированию
    • Среда тестирования
    • Рекомендации к проведению тестирования
    • Инструменты тестирования
  • Методика проведения тестирования
    • Подготовка
    • Запуск тестирования
    • Оценка состояния
    • Завершение тестирования
  • Заключение

Данное руководство описывает практическую часть рекомендаций по тестированию отказоустойчивости, которые содержатся в статье Рекомендации по отказоустойчивости в Yandex Cloud, применительно к инфраструктуре Yandex Cloud, реализованной на основе сетевых балансировщиков нагрузки Yandex Network Load Balancer. Предполагается, что принципы построения тестируемой инфраструктуры не противоречат принципам, изложенным в статье.

Цели тестированияЦели тестирования

В данном руководстве описывается методология проведения учений по отказу одной зоны доступности в облаке, которая позволит:

  • Исследовать поведение системы во время отказа.
  • Оценить способность системы переживать отключение одной зоны доступности.
  • Выявить неявные зависимости и уязвимости.
  • Собрать информацию о симптомах отказа.
  • Проверить способность системы к быстрому восстановлению.

Исследование отказа ограничено случаем полного отказа зоны доступности. Частичные отказы выходят за рамки данного руководства из-за их многообразия.

Подготовка к тестированиюПодготовка к тестированию

Среда тестированияСреда тестирования

  1. Соответствие продуктовой среде:

    Важно

    Не рекомендуется проводить тестирование сразу в рабочей (продуктовой) среде, сначала следует провести учения в тестовой среде.

    • Тестовую среду рекомендуется сделать максимально приближенной по конфигурации к продуктовой среде.
    • Рекомендуется, чтобы нагрузка на тестовую среду имитировала нагрузку на продуктовую. Для имитации нагрузки вы можете использовать инструменты нагрузочного тестирования, например, Yandex Load Testing.
    • Для автоматизации создания тестовых сред рекомендуется применять подход Infrastructure as Code.
  2. Для оптимизации затрат при развертывании ресурсов в тестовой среде рекомендуется:

    • Использовать NRD-диски вместо SSD-IO дисков.
    • Использовать прерываемые виртуальные машины.
    • Динамически создавать ресурсы только на время тестирования.
    • Автоматически освобождать ресурсы после завершения тестов.
    • Использовать компоненты без SLA для снижения затрат.

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

  1. Наличие системы мониторинга, которая позволит оценить результаты тестирования.
  2. Сохранение результатов тестирования для ретроспективного анализа.
  3. Рекомендуется проводить тестирование на регулярной основе.
  4. Использовать при проведении тестирования инструмент CLI Yandex Cloud версии 0.154.0 и выше.

Инструменты тестированияИнструменты тестирования

В данном руководстве рассматривается тестирование отказоустойчивости с помощью инструментов отключения балансировки нагрузки в отдельной зоне доступности для Network Load Balancer.

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

Важно: при использовании групп безопасности VPC следует учитывать следующие особенности их работы:

  • В группах безопасности поддерживаются только разрешающие правила, поэтому для блокировки трафика необходимо предусмотреть отдельный набор правил, разрешающих трафик между зонами; для организации блокировки эти правила потребуется удалить.
  • Удаление разрешающих правил из группы безопасности блокирует установку новых сетевых соединений, но не разрывает уже установленные соединения.

Методика проведения тестированияМетодика проведения тестирования

ПодготовкаПодготовка

  1. Если требуется, подготовьте окружение к проведению тестирования.

  2. Выберите зону доступности, которая будет отключаться (из которой будет уводиться трафик). Например, kz1-b.

  3. Определите продолжительность теста. Отключение зоны балансировщика может быть как постоянным, так и на заданный период времени (от 1 минуты до 72 часов). Например, 30 минут.

  4. Получите список балансировщиков, которые будут принимать участие в тестировании:

    yc load-balancer nlb list
    

Запуск тестированияЗапуск тестирования

Отключите доставку трафика в выбранную зону доступности для каждого балансировщика из списка. Для отключения балансировки трафика в выбранной зоне доступности используется команда disable-zones.

Чтобы отключить балансировку трафика в зоне доступности kz1-b для определенного балансировщика нагрузки на 30 минут, выполните команду:

yc load-balancer nlb disable-zones <имя_или_идентификатор_балансировщика> \
  --zones=kz1-b \
  --duration 30m

Примерный результат выполнения команды (обратите внимание на блок disable_zone_statuses):

id: enpmq********
...
disable_zone_statuses:
  - zone_id: kz1-b
    disabled_until: "2025-07-17T15:30:18.176751322Z"

Команда поддерживает одновременное отключение сразу нескольких зон доступности, которые можно перечислить через запятую.

При повторном выполнении команды период времени блокировки будет обновлен — 30 минут от текущего момента.

Если в команде не указывать параметр --duration, то балансировка трафика в выбранных зонах доступности будет заблокирована без ограничения по времени.

Важно

Команда disable-zones отключает только балансировку трафика в выбранную зону доступности и только для указанного балансировщика нагрузки. Эта команда не влияет на сетевой трафик внутри зоны и между зонами доступности в любых других сервисах облака. При необходимости такой широкой блокировки трафика можно использовать группы безопасности VPC на соответствующих сетевых интерфейсах облачных ресурсов.

Оценка состоянияОценка состояния

  1. Чтобы получить информацию о состоянии блокировки ресурсов за отдельным балансировщиком нагрузки, выполните команду:

    yc load-balancer nlb get <имя_или_идентификатор_балансировщика>
    

    Примерный результат выполнения команды:

     id: enpmq********
     folder_id: b1g********
     created_at: "2025-07-17T13:42:24Z"
     name: ...
     region_id: kz1
     status: ACTIVE
     type: EXTERNAL
     listeners:
       - name: ...
         ...
     attached_target_groups:
       - target_group_id: enpn********
         health_checks:
           - name: ...
             ...
     disable_zone_statuses:
       - zone_id: kz1-b
         disabled_until: "2025-07-17T15:30:18.176751322Z"
    
  2. Убедитесь, что трафик перестал поступать в выбранную зону. Это можно сделать в сервисе мониторинга, выведя на график суммарный трафик на интерфейсах виртуальных машин с группировкой по зонам доступности.

    На текущий момент нет возможности получить одним простым запросом к сервису мониторинга график распределения трафика по зонам. Чтобы решить эту задачу:

    1. Создайте график в сервисе мониторинга.
    2. Составьте списки идентификаторов виртуальных машин для зоны kz1-a, например, с помощью команды
      yc compute instance list --jq '[.[] | select(.zone_id=="kz1-a") | .id ] | join("|")'`
      
      Результатом выполнения команды будет однострочный список идентификаторов виртуальных машин, разделенных |. Пример: fhm**********uv5|fhm**********aab|fhm**********ui1|....
    3. В графике мониторинга добавьте запрос
      alias(series_sum("network_received_packets"{folderId = "b1g**********", service = "compute", resource_type = "vm", resource_id = "<полученный_на_предыдущем_шаге_список_идентификаторов_виртуальных_машин_с_разделителем_|>"}), "kz1-a")`
      
    4. Повторите шаги 2 и 3 для зон kz1-b и kz1-d.
    5. Выполните запросы.

Завершение тестированияЗавершение тестирования

  1. Чтобы вернуть отключенную ранее зону доступности обратно в балансировку трафика, выполните команду enable-zones:

    yc load-balancer nlb enable-zones <имя_или_идентификатор_балансировщика> \
      --zones=kz1-b
    
  2. Убедитесь, что трафик начал поступать в выбранную зону доступности.

    Важно помнить, что существует ограничение по времени для операции повторного выключения балансировки после включения обратно. Повторное отключение после обратного включения можно выполнить не ранее чем через 2 минуты.

ЗаключениеЗаключение

Рекомендуется проводить тестирование отказоустойчивости на регулярной основе, документировать результаты и постоянно улучшать процессы на основе полученного опыта.

Была ли статья полезна?

Предыдущая
Тестирование инфраструктуры на основе Application Load Balancer
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»