Yandex Cloud. Эпизод 3. Отказоустойчивость на всех уровнях

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

Мы уже рассказывали, как архитектура наших ЦОДов обеспечивает бесперебойную работу физического оборудования Yandex Cloud. Теперь давайте перейдём к отказоустойчивости на уровне инфраструктуры и сервисов, а также поговорим о том, как дополнительно защитить критичные компоненты облачных ресурсов от минимальных простоев.

Отказоустойчивость на уровне инфраструктуры: IaaS‑модель

Представьте, что вы работаете с нами по модели IaaS (Infrastructure as a Service, инфраструктура как услуга). Это означает, что облачный провайдер предоставляет клиенту физическое оборудование: серверы, системы хранения и сетевые компоненты. Провайдер настраивает гипервизор — специальное ПО для создания виртуальных машин и дисков. А пользователи берут машины и диски в аренду.

По IaaS‑модели провайдер защищает сеть от атак киберпреступников, способных нарушить работоспособность ЦОДа. А клиент отвечает за сохранность и резервное копирование своих данных, будь то весь массив или критические компоненты, важные для бесперебойной работы облачной инфраструктуры.

Один из вспомогательных инструментов обеспечения отказоустойчивости Yandex Cloud — сервисы мониторинга различного уровня. Они помогают собирать и анализировать метрики, которые иногда указывают на высокую вероятность аварий. Например, анализируются события, влияющие на работоспособность компонентов инфраструктуры ЦОДа.

На уровне виртуальных машин, дисков, сетей и сервисов тоже есть свои инструменты мониторинга. Мы о них расскажем ниже.

Динамическая миграция виртуальных машин

Один из важнейших сервисов Yandex Cloud — виртуальные машины. Провайдер останавливает их, чтобы:

  • провести плановое техобслуживание и обновление оборудования;

  • провести внеплановое техобслуживание оборудования (в том числе CPU, сетевые карты, источники питания и т. д.);

  • обновить операционные системы, BIOS и встроенное программное обеспечение;

  • обеспечить обновления безопасности на стороне инфраструктуры провайдера.

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

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

ВМ перемещается в той же зоне доступности, в которой находилась. Её параметры — IP‑адреса, метаданные, состояние сетей, приложений и др. — не меняются.

Динамическая миграция подключена автоматически у всех клиентов Yandex Cloud и проходит почти бесшовно. Но техподдержка всё равно сообщает клиентам о плановых и внеплановых технических работах, которые могут сопровождаться миграцией виртуальных машин, и подсказывает, как уменьшить влияние работ на ресурсы клиентов.

Есть несколько типов ВМ, которые невозможно переместить с помощью динамической миграции:

  • ВМ с GPU и прерываемые ВМ. Их вручную перемещают после остановки.

  • ВМ управляемых СУБД с локальными SSD‑дисками.

Поэтому работу таких ВМ приостанавливают на время обслуживания оборудования.

Как обеспечить бесперебойную работу виртуальных машин

Пользователи сервиса Yandex Compute Cloud могут сами повысить отказоустойчивость своих ресурсов, если настроят Instance Groups. Этот компонент позволяет объединять однотипные виртуальные машины в группы и управлять ими. Говоря об отказоустойчивости, стоит упомянуть два типа проверок, которые можно провести, если настроить Instance Groups: это проверка состояния группы и приложений.

Проверка состояния группы

Она проводится, если клиент подключил сетевой балансировщик Yandex Network Load Balancer. Этот сервис проверяет доступность группы ВМ и равномерно распределяет входящий трафик между машинами. Интервалы проверок и пороги доступности настраивает пользователь.

В консоли управления Yandex Cloud будут отображаться следующие статусы:

  • Группа ВМ работает исправно: готова принимать трафик, с ней можно производить любые действия — масштабировать, изменять настройки и т. д.
  • ACTIVE
  • Группа ВМ не работает или в ней происходят изменения, ограничивающие её работоспособность.
  • PAUSED,
  • STOPPING,
  • STOPPED,
  • DELETING и др.

У каждой ВМ в группе тоже есть свой собственный статус. Весь список можно посмотреть в документации.

Проверки позволяют выявлять сбои в работе ресурсов, с минимальным простоем создавать работающие копии ВМ и перенаправлять на них трафик. Поэтому настройка компонента Instance Groups — один из лучших способов повысить отказоустойчивость вашей облачной инфраструктуры. Специалисты технической поддержки Yandex Cloud всегда подскажут, что делать, и ответят на любые ваши вопросы об Instance Groups.

Проверка приложений

Она нужна, чтобы проверить работоспособность приложений, запущенных на ВМ в работающей группе (со статусом ACTIVE). По умолчанию опция проверки приложений выключена. Её можно подключить вручную в настройках Compute Cloud. Интервал между проверками, время ожидания ответа, количество проверок тоже устанавливают в настройках.

Как снизить риск потери данных на дисках и в файловых хранилищах

Есть два типа сетевых дисков: реплицируемые и нереплицируемые. Когда пользователь создаёт облачные диски, он может выбрать один из них. Дальше мы расскажем, как обеспечить отказоустойчивость каждого типа.

Группы размещения нереплицируемых дисков

Для дисков этого типа система выделяет один физический носитель в одном из ЦОДов. При перебоях в его работе данные будут недоступны. Риск останется, даже если создать несколько таких дисков, и вот почему. Система автоматически распределяет их по физическому оборудованию в ЦОДе. Есть вероятность, что два или более диска окажутся в одной серверной стойке, чья работа может остановиться из‑за аварии или планового обслуживания.

Чтобы снизить риск того, что сразу несколько дисков выйдут из строя, мы рекомендуем объединять нереплицируемые диски в группы. Для этого используют компонент Placement Groups сервиса Compute Cloud. Создание групп не влияет на скорость операций, поскольку все компоненты группы размещаются в одной зоне доступности.

Если вам нужны дополнительные инструменты резервного копирования данных, воспользуйтесь сервисом Yandex Cloud Backup. С его помощью настраивается автоматическое резервное копирование виртуальных машин и дисков.

Реплицируемые диски

Реплицируемый диск — это диск, копии (реплики) которого могут храниться на разных физических носителях, образуя кластер. Если один носитель выйдет из строя, копии останутся на другом. Если для размещения файлов выбран реплицируемый диск, то основной способ обеспечить его безотказную работу — создавать снимки или образы.

Снимок и образ — это копии файловой системы. Они нужны, чтобы сохранять текущее состояние диска.

Обратите внимание на различие. Снимки подойдут, чтобы создавать копии дисков с разным содержимым. Образы — чтобы создавать много дисков с одинаковым содержимым. На основе образа можно быстро развернуть несколько виртуальных машин. Надо учитывать, что при неисправности образы и снимки не будут развёрнуты автоматически. Придётся вручную развернуть из них диск, чтобы восстановить данные.

Отказоустойчивость виртуальных облачных сетей

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

Для управления облачными сетями в Yandex Cloud применяют сервис Yandex Virtual Private Cloud (/services/vpc). С его помощью можно создавать сети и подсети, настраивать IP‑адреса и фильтрацию трафика.

Резервирование сетевых компонентов

С помощью Yandex Cloud Interconnect можно организовать каналы связи между оборудованием в дата‑центре клиента и инфраструктурой Yandex Cloud. Для отказоустойчивости рекомендуем использовать подключение на двух точках.

Кроме этого, Yandex Cloud Interconnect собирает метрики для мониторинга состояния физического канала и количества анонсируемых по протоколу BGP префиксов. Полученная информация позволяет оценить состояние соединений в облачной сети и подключение в точке присутствия Yandex Cloud.

Резервирование физических каналов

А ещё с помощью сервиса Yandex Cloud Interconnect можно настроить маршрутизацию трафика между облачными и клиентскими ресурсами. Сервис позволяет управлять движением трафика в различных направлениях. Существуют разные схемы маршрутизации, выбор происходит с учётом специфики задач клиента.

Для отказоустойчивого доступа к облачным ресурсам в рамках сервиса Yandex Cloud Interconnect рекомендуем организовать два физических соединения между инфраструктурой клиента и оборудованием Yandex Cloud на разных точках присутствия. Если это невозможно — зарезервируйте подключение Yandex Cloud Interconnect с помощью VPN‑соединения через интернет: подробности в документации сервиса.

Отказоустойчивость на уровне сервисов: PaaS‑модель

Yandex Cloud обеспечивает отказоустойчивость при работе с сервисами по модели PaaS — Platform as a Service (платформа как услуга). При таком типе обслуживания провайдер предоставляет пользователям виртуальные машины и сервисы для работы над определённым видом задач. Ниже мы кратко расскажем о том, как Yandex Cloud обеспечивает бесперебойную работу большинства PaaS и что для этого может дополнительно сделать клиент. Читайте подробности и информацию о каждом сервисе на сайте Yandex Cloud и в документации.

Автоматическая репликация

PaaS‑сервисы можно развернуть в трёх зонах доступности. Зона доступности — это инфраструктура внутри одного из трёх ЦОДов Yandex Cloud. ЦОДы находятся во Владимирской, Рязанской и Московской областях. Они полностью аппаратно изолированы. Если даже два ЦОДа сразу перестанут работать, автоматически подключится третий. Пользователи ничего не заметят. Копии каждого объекта размещаются в разных зонах доступности.

Такое резервирование данных надёжно поддерживает отказоустойчивость сервисов. Поэтому оно подходит для работы с важными данными, для их хранения и резервного копирования.

Однако если пользователь не подумает заранее и не развернёт свои сервисы в отказоустойчивой конфигурации в трёх зонах доступности, инфраструктура не сделает это за него. Единственное исключение — Yandex Object Storage. Здесь данные заливаются в хранилище один раз и потом реплицируются во все три зоны. В остальных случаях, если пользователь создал ВМ в одной зоне и она отключилась, очевидно, что ВМ не поднимется сама в другом ЦОДе.

Подключение балансировщиков

Yandex Cloud предоставляет клиентам два сервиса для распределения нагрузки между облачными ресурсами: Yandex Network Load Balancer и Yandex Application Load Balancer. О сетевом балансировщике Yandex Network Load Balancer мы уже рассказали, а сейчас перейдём к балансировщику нагрузки уровня приложений Yandex Application Load Balancer. Его применяют для работы с приложениями, построенными на основе микросервисной архитектуры. Yandex Application Load Balancer позволяет распределять входящий трафик между разными сервисами или компонентами запущенных приложений. Yandex Managed Service for Kubernetes® даёт дополнительные инструменты, специально разработанные для этой системы управления контейнерными приложениями.

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

Итог

Мы в Yandex Cloud делаем всё, чтобы оборудование ЦОДов и программные компоненты облачных сервисов работали бесперебойно. А у пользователей есть инструменты, позволяющие дополнительно защитить критичные компоненты облачных ресурсов от минимальных простоев.

Напишите нам

Начать пользоваться Yandex Cloud

Тарифы

Узнать цены и рассчитать стоимость

Мероприятия

Календарь событий Yandex Cloud
Yandex Cloud. Эпизод 3. Отказоустойчивость на всех уровнях
Войдите, чтобы сохранить пост