INTEGRITY Документация

Используйте Pages в качестве источника для балансировки нагрузки

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

Следующие разделы помогут вам настроить active-passive failover балансировщик нагрузки с Cloudflare Pages в качестве одного из конечные точки, а также подробно рассматривает работу с Load Balancing на панели управления, важные значения полей и устранение неполадок.

Сценарии использования

Такая настройка может быть полезна, если вы переносите рабочий веб-сайт или приложение на Pages, либо если вам просто нужна резервная или персонализированная веб-страница на случай отказа основного источника.

Перед началом работы

Убедитесь, что вы:

Создание монитора проверки работоспособности

Хотя все компоненты можно создать в Create Load Balancer workflow, используя Управление мониторами и Управление пулами разделов по отдельности упрощает тестирование и отладку конфигурации каждого из этих компонентов, прежде чем объединить их в балансировщике нагрузки.

Мониторы задают критерии, по которым определяется исправность конечной точки. Начните с настройки монитора, как показано ниже.

  1. На панели управления Cloudflare перейдите к разделу Load Balancing страницу.

    Перейдите в Load Balancing ↗
  2. Выберите Мониторы вкладку, а затем Создание монитора.

  3. Дайте монитору понятное описательное имя и убедитесь, что остальные поля заполнены следующим образом:

Поле Значение
Тип HTTP
Путь /
Порт 80
  1. В разделе Дополнительные настройки проверки работоспособности, оставьте значения по умолчанию и включите Follow Redirects опцию.

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

  1. Выберите Save для подтверждения.

Создание пулов

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

Для поддержки сценарии использования упомянутый выше, и если предположить, что у вас есть только один исходный сервер для рабочего веб-сайта и один для экземпляра Cloudflare Pages, создайте два пула с одним конечным узлом в каждом:

  1. На панели управления Cloudflare перейдите к разделу Load Balancing страницу.

    Перейдите в Load Balancing ↗
  2. Выберите Пулы вкладку, а затем Создание монитора.

  3. Для первого пула начните с заполнения следующих полей:

  1. Оставьте выбор для Балансировка трафика между конечными точками как есть. Поскольку в каждом пуле будет только один эндпоинт, этот метод управления трафиком в данном случае не окажет влияния.

  2. Добавьте ваш origin server в качестве конечной точки со следующими сведениями:

  1. Завершите настройку первого пула, указав следующую информацию:
  1. Выберите Save

  2. Повторите процесс для второго пула, используя следующие значения:

Поле Значение
Имя пула secondary
Описание Pages version
Управление выбором конечных точек <default>
Имя конечной точки my-pages-website
Адрес конечной точки <your custom domain or Pages subdomain>
Вес 1
Host (Добавьте заголовок Host) <your custom domain or Pages subdomain>
Порог работоспособности 1
Мониторинг <monitor defined on previous step>
Регионы проверки работоспособности <select region of your choice>

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

Перед настройкой балансировщика нагрузки:

  1. На панели управления Cloudflare перейдите к разделу Load Balancing страницу.

    Перейдите в Load Balancing ↗
  2. Перейдите в Пулы на вкладке.

  3. Найдите созданные вами пулы в списке и проверьте, что их статус Healthy. Возможно, потребуется обновить страницу.

  4. Разверните каждую запись пула и убедитесь, что статус работоспособности эндпоинтов внутри них также Healthy.

Основной принцип таков: если и ваш рабочий сайт, и проект Cloudflare Pages активны и напрямую доступны через браузер, мониторы также должны получать 200 код в качестве ответа HTTP.

Проверьте настройки пулов и мониторов и убедитесь, что они соответствуют приведённым выше инструкциям. Если проблема сохраняется, обратитесь к Устранение неполадок или Часто задаваемые вопросы.

Создать балансировщик нагрузки

После того как вы убедитесь, что конечные точки и мониторы настроены правильно и возвращают ожидаемый статус работоспособности, создайте балансировщик нагрузки:

  1. На панели управления Cloudflare перейдите к разделу Load Balancing страницу.

    Перейдите в Load Balancing ↗
  2. Выберите Создать балансировщик нагрузки.

  3. На Имя хоста странице настройте следующее и выберите Далее.

    • Введите Имя хоста, это DNS-имя, по которому доступен балансировщик нагрузки. Совет: пока можно просто добавить временное имя хоста, например lb (то есть полное значение поля будет выглядеть следующим образом: lb.<your_domain>).
    • Переключите иконку оранжевого облака, чтобы обновить режим прокси, что влияет на маршрутизацию трафика и на то, какие IP-адреса анонсируются.
    • Выберите нужный вариант для привязка сессии и Adaptive Routing.
  4. На Add a Pool странице настройте следующее и выберите Далее.

    • Выберите первый пул, созданный ранее, и нажмите Add Pool.
    • Сделайте то же самое для второго пула и при необходимости измените их порядок. В рамках этого руководства пул продакшн-сайта будет первым (primary) а пул Cloudflare Pages был бы вторым (secondary).
    • При необходимости обновите Резервный пул. Для целей этого руководства можно оставить этот параметр указывающим на ваш вторичный пул.
  5. На Мониторы странице просмотрите мониторы, привязанные к вашим пулам, и ожидаемый статус работоспособности, затем выберите Далее.

  6. На Балансировка трафика странице убедитесь, что Off выбран. Это означает, что балансировщик нагрузки будет следовать порядку, заданному на Add a Pool раздела (шаг 3 выше), достигая Active - Passive Failover конфигурации.

  7. В рамках этого руководства оставьте Custom Rules параметр пустым.

  8. На Проверить странице просмотрите конфигурацию и выберите Save as Draft.

DNS-запись типа LB будет создан в DNS > Записи ↗ с заданным вами именем хоста, и соответствующий балансировщик нагрузки будет добавлен в Load Balancing ↗

Необязательно: развёртывание на тестовом имени узла

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

  1. На панели управления Cloudflare перейдите к разделу Load Balancing страницу.

    Перейдите в Load Balancing ↗
  2. В Load Balancers список, найдите созданный вами балансировщик нагрузки с тестовым именем хоста (например, lb) и включите эту опцию.

  3. В браузере запросите временное имя узла (lb.example.com). Вы должны увидеть веб-сайт или приложение, размещённое на вашем основном origin-сервере.

  4. Вернуться к Управление балансировщиками нагрузки список, разверните тестовый балансировщик нагрузки и отключите основной пул.

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

    Если вы обнаружите проблемы, пересмотрите конфигурации пулов, монитора и балансировщика нагрузки, чтобы убедиться, что они соответствуют инструкциям, приведённым выше. Также ознакомьтесь с Устранение неполадок или Часто задаваемые вопросы при необходимости.

Маршрутизация производственного трафика на балансировщик нагрузки

После того как балансировщик нагрузки настроен и вы убедились, что всё работает корректно, его можно подключить к реальному домену или поддомену:

  1. Убедитесь, что у вашего рабочего имени хоста указан правильный порядок приоритета DNS-записей и покрывается SSL/TLS-сертификат.

    Если у вас аккаунт уровня Enterprise, также проверьте своё приложение на наличие исключённых путей. Например, вы можете не захотеть, чтобы балансировщик нагрузки распределял запросы, направленные на /admin путь. Для любых исключений настройте Origin rule.

  2. Настройте балансировщик нагрузки на приём рабочего трафика, изменив Имя хоста вашего существующего балансировщика нагрузки.