← Cloudflare Load Balancing / load-balancing / pools
Используйте Pages в качестве источника для балансировки нагрузки
Этот учебник представляет собой вводный пример использования глобального управления трафиком Cloudflare.
Следующие разделы помогут вам настроить active-passive failover балансировщик нагрузки с Cloudflare Pages в качестве одного из конечные точки, а также подробно рассматривает работу с Load Balancing на панели управления, важные значения полей и устранение неполадок.
Сценарии использования
Такая настройка может быть полезна, если вы переносите рабочий веб-сайт или приложение на Pages, либо если вам просто нужна резервная или персонализированная веб-страница на случай отказа основного источника.
Перед началом работы
Убедитесь, что вы:
- Знакомы с Cloudflare Компоненты балансировки нагрузки.
- Владеть доменом и использовать Cloudflare в качестве основной DNS-провайдер.
- Иметь развернули веб-сайт или приложение с Cloudflare Pages.
- Иметь включили Load Balancing в вашем аккаунте.
Создание монитора проверки работоспособности
Хотя все компоненты можно создать в Create Load Balancer workflow, используя Управление мониторами и Управление пулами разделов по отдельности упрощает тестирование и отладку конфигурации каждого из этих компонентов, прежде чем объединить их в балансировщике нагрузки.
Мониторы задают критерии, по которым определяется исправность конечной точки. Начните с настройки монитора, как показано ниже.
-
На панели управления Cloudflare перейдите к разделу Load Balancing страницу.
Перейдите в Load Balancing ↗ -
Выберите Мониторы вкладку, а затем Создание монитора.
-
Дайте монитору понятное описательное имя и убедитесь, что остальные поля заполнены следующим образом:
| Поле | Значение |
|---|---|
| Тип | HTTP |
| Путь | / |
| Порт | 80 |
-
В разделе Дополнительные настройки проверки работоспособности, оставьте значения по умолчанию и включите Follow Redirects опцию.
Если вы используете сервис вроде Cloudflare Pages, запросы от монитора работоспособности, как и запросы ваших посетителей, могут перенаправляться до того, как достигнут цели. Включение этой опции не позволяет монитору сообщать о неработоспособности конечной точки, которая на самом деле была лишь перенаправлена (с кодом
301код, например).
- Выберите Save для подтверждения.
Создание пулов
Пулы содержат информацию о том, куда будут направляться запросы монитора работоспособности и запросы ваших посетителей.
Для поддержки сценарии использования упомянутый выше, и если предположить, что у вас есть только один исходный сервер для рабочего веб-сайта и один для экземпляра Cloudflare Pages, создайте два пула с одним конечным узлом в каждом:
-
На панели управления Cloudflare перейдите к разделу Load Balancing страницу.
Перейдите в Load Balancing ↗ -
Выберите Пулы вкладку, а затем Создание монитора.
-
Для первого пула начните с заполнения следующих полей:
- Имя пула (должно быть уникальным). Предложение:
primary - Описание, уточняющее имя. Предложение:
production website
-
Оставьте выбор для Балансировка трафика между конечными точками как есть. Поскольку в каждом пуле будет только один эндпоинт, этот метод управления трафиком в данном случае не окажет влияния.
-
Добавьте ваш origin server в качестве конечной точки со следующими сведениями:
-
Имя конечной точки (должно быть уникальным). Предложение:
my-website. -
IP-адрес или имя хоста конечной точки.
-
Конечная точка вес, который можно задать равным
1. Поскольку в каждом пуле будет только одна конечная точка, вес конечной точки в этом случае не имеет значения. -
A имя хоста выбрав Добавьте заголовок Host.
- Завершите настройку первого пула, указав следующую информацию:
- Оставьте Порог работоспособности имеет значение
1. Поскольку в каждом пуле будет только одна конечная точка, это единственное возможное значение для этого поля. - Выберите Мониторинг настроенный на предыдущем шаге.
- Выберите Health Check Regions выбрать, из какого местоположения Cloudflare должен отправлять запросы монитора для периодической проверки работоспособности эндпоинта.
-
Выберите Save
-
Повторите процесс для второго пула, используя следующие значения:
| Поле | Значение |
|---|---|
| Имя пула | 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> |
Проверьте статус работоспособности конечных точек
Перед настройкой балансировщика нагрузки:
-
На панели управления Cloudflare перейдите к разделу Load Balancing страницу.
Перейдите в Load Balancing ↗ -
Перейдите в Пулы на вкладке.
-
Найдите созданные вами пулы в списке и проверьте, что их статус
Healthy. Возможно, потребуется обновить страницу. -
Разверните каждую запись пула и убедитесь, что статус работоспособности эндпоинтов внутри них также
Healthy.
Основной принцип таков: если и ваш рабочий сайт, и проект Cloudflare Pages активны и напрямую доступны через браузер, мониторы также должны получать 200 код в качестве ответа HTTP.
Проверьте настройки пулов и мониторов и убедитесь, что они соответствуют приведённым выше инструкциям. Если проблема сохраняется, обратитесь к Устранение неполадок или Часто задаваемые вопросы.
Создать балансировщик нагрузки
После того как вы убедитесь, что конечные точки и мониторы настроены правильно и возвращают ожидаемый статус работоспособности, создайте балансировщик нагрузки:
-
На панели управления Cloudflare перейдите к разделу Load Balancing страницу.
Перейдите в Load Balancing ↗ -
Выберите Создать балансировщик нагрузки.
-
На Имя хоста странице настройте следующее и выберите Далее.
- Введите Имя хоста, это DNS-имя, по которому доступен балансировщик нагрузки. Совет: пока можно просто добавить временное имя хоста, например
lb(то есть полное значение поля будет выглядеть следующим образом:lb.<your_domain>). - Переключите иконку оранжевого облака, чтобы обновить режим прокси, что влияет на маршрутизацию трафика и на то, какие IP-адреса анонсируются.
- Выберите нужный вариант для привязка сессии и Adaptive Routing.
- Введите Имя хоста, это DNS-имя, по которому доступен балансировщик нагрузки. Совет: пока можно просто добавить временное имя хоста, например
-
На Add a Pool странице настройте следующее и выберите Далее.
- Выберите первый пул, созданный ранее, и нажмите Add Pool.
- Сделайте то же самое для второго пула и при необходимости измените их порядок. В рамках этого руководства пул продакшн-сайта будет первым (
primary) а пул Cloudflare Pages был бы вторым (secondary). - При необходимости обновите Резервный пул. Для целей этого руководства можно оставить этот параметр указывающим на ваш вторичный пул.
-
На Мониторы странице просмотрите мониторы, привязанные к вашим пулам, и ожидаемый статус работоспособности, затем выберите Далее.
-
На Балансировка трафика странице убедитесь, что Off выбран. Это означает, что балансировщик нагрузки будет следовать порядку, заданному на Add a Pool раздела (шаг 3 выше), достигая Active - Passive Failover конфигурации.
-
В рамках этого руководства оставьте Custom Rules параметр пустым.
-
На Проверить странице просмотрите конфигурацию и выберите Save as Draft.
DNS-запись типа LB будет создан в DNS > Записи ↗ с заданным вами именем хоста, и соответствующий балансировщик нагрузки будет добавлен в Load Balancing ↗
Необязательно: развёртывание на тестовом имени узла
Если вы использовали временное имя хоста для своего балансировщика нагрузки, выполните приведённые ниже шаги, чтобы развернуть и протестировать его.
-
На панели управления Cloudflare перейдите к разделу Load Balancing страницу.
Перейдите в Load Balancing ↗ -
В Load Balancers список, найдите созданный вами балансировщик нагрузки с тестовым именем хоста (например,
lb) и включите эту опцию. -
В браузере запросите временное имя узла (
lb.example.com). Вы должны увидеть веб-сайт или приложение, размещённое на вашем основном origin-сервере. -
Вернуться к Управление балансировщиками нагрузки список, разверните тестовый балансировщик нагрузки и отключите основной пул.
-
В новом окне браузера в режиме инкогнито повторно запросите временное имя узла. На этот раз вы должны увидеть сайт или приложение, размещённые на вашем вторичном исходном сервере.
Если вы обнаружите проблемы, пересмотрите конфигурации пулов, монитора и балансировщика нагрузки, чтобы убедиться, что они соответствуют инструкциям, приведённым выше. Также ознакомьтесь с Устранение неполадок или Часто задаваемые вопросы при необходимости.
Маршрутизация производственного трафика на балансировщик нагрузки
После того как балансировщик нагрузки настроен и вы убедились, что всё работает корректно, его можно подключить к реальному домену или поддомену:
-
Убедитесь, что у вашего рабочего имени хоста указан правильный порядок приоритета DNS-записей и покрывается SSL/TLS-сертификат.
Если у вас аккаунт уровня Enterprise, также проверьте своё приложение на наличие исключённых путей. Например, вы можете не захотеть, чтобы балансировщик нагрузки распределял запросы, направленные на
/adminпуть. Для любых исключений настройте Origin rule. -
Настройте балансировщик нагрузки на приём рабочего трафика, изменив Имя хоста вашего существующего балансировщика нагрузки.