← Cloudflare Load Balancing / load-balancing / pools
Управление пулами
В Cloudflare пулы представляют собой ваши конечные точки и то, как они организованы. Так, пул может объединять несколько конечных точек, а может содержать только одну, например один исходный сервер.
Если вы знакомы с терминологией DNS, воспринимайте пул как «набор записей», с той разницей, что Cloudflare возвращает только адреса, которые считаются исправными. К отдельным пулам можно подключать мониторы для индивидуальной настройки проверки. К пулу можно подключить либо один монитор, либо группу мониторов, но не то и другое одновременно.
Дополнительные сведения о пулах приведены в Пулы.
Уникальность адресов эндпоинтов
В пределах одного пула каждая конечная точка должна быть уникальной. Конечные точки могут иметь одинаковый IP-адрес, если они различаются портом или виртуальная сеть , что является распространённым сценарием для приватных конечных точек, доступных по одному IP в разных внутренних сетях.
Создать пул
Вы можете создать пул в процесс работы с балансировщиком нагрузки или в Пулы на вкладке:
-
Перейдите в Load Balancing.
-
Выберите Пулы вкладку, а затем Создание пула.
-
Для своего пула укажите следующие сведения:
- Имя (должно быть уникальным)
- Описание, уточняющее имя
- Выбор для Балансировка трафика между конечными точками, что влияет на то, как ваш пул распределяет трафик между конечными точками
-
Для каждой конечной точки укажите следующие сведения:
- Имя (должно быть уникальным)
- Адрес конечной точки или связанное с ней имя хоста
- (Необязательно) Виртуальная сеть. Обязательно, если у конечной точки приватный IP-адрес.
- A Вес
- (Необязательно) имя хоста нажав Добавьте заголовок Host
- (Необязательно) Порт назначения, на который будет направляться трафик.
-
Повторите этот процесс для остальных конечных точек в пуле.
-
(Необязательно) Настройте координаты для Proximity Steering на пуле.
-
В пуле обновите следующие сведения:
- Порог работоспособности:
Health Threshold обозначает количество работоспособных конечных точек, при котором пул в целом считается Исправно и получать трафик в соответствии с порядком пулов в балансировщике нагрузки. Увеличение этого числа делает пул более надёжным, но также повышает вероятность того, что он станет неработоспособным.
- Мониторинг: подключите монитор
- Регионы монитора работоспособности: выберите, следует ли проверять состояние пула из нескольких локациях, что повышает точность, но может привести к появлению проверочного трафика к вашей конечной точке
- Уведомления о пуле: вы можете настроить новые оповещения (и просматривать уже существующие), чтобы получать уведомления о включении и отключении пулов, а также об изменениях в статус работоспособности.
- Порог работоспособности:
-
Когда завершите, выберите Save.
Полный список свойств приведён в Создание пула. Если вам нужна помощь с аутентификацией через API, см. Документация по API Cloudflare.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Load Balancing: Monitors and Pools Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/load_balancers/pools" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "Primary data center - Provider XYZ",
"name": "primary-dc-1",
"enabled": false,
"load_shedding": {
"default_percent": 0,
"default_policy": "random",
"session_percent": 0,
"session_policy": "hash"
},
"minimum_origins": 2,
"monitor": "f1aba936b94213e5b8dca0c0dbf1f9cc",
"check_regions": [
"WEU",
"ENAM"
],
"origins": [
{
"name": "app-server-1",
"address": "0.0.0.0",
"enabled": true,
"weight": 0.56,
"header": {
"Host": [
"example.com"
]
}
}
],
"origin_steering": {
"policy": "random"
},
"notification_filter": {
"origin": {
"disable": false,
"healthy": null
},
"pool": {
"disable": false,
"healthy": null
}
}
}'Ответ содержит полное описание нового пула.
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "17b5962d775c646f3f9725cbc7a53df4",
"created_on": "2021-01-01T05:20:00.12345Z",
"modified_on": "2021-01-01T05:20:00.12345Z",
"description": "Primary data center - Provider XYZ",
"name": "primary-dc-1",
"enabled": false,
"load_shedding": {
"default_percent": 0,
"default_policy": "random",
"session_percent": 0,
"session_policy": "hash"
},
"minimum_origins": 2,
"monitor": "f1aba936b94213e5b8dca0c0dbf1f9cc",
"check_regions": [
"WEU",
"ENAM"
],
"origins": [
{
"name": "app-server-1",
"address": "0.0.0.0",
"enabled": true,
"weight": 0.56,
"header": {
"Host": [
"example.com"
]
}
}
],
"origin_steering": {
"policy": "random"
},
"notification_filter": {
"origin": {
"disable": false,
"healthy": null
},
"pool": {
"disable": false,
"healthy": null
}
}
}
}После создания пула вы также захотите создать новое уведомление со следующими указанными параметрами:
"alert_type": "load_balancing_health_alert",
"filters": {
"pool_id": <<ARRAY_OF_INCLUDED_POOL_IDS>>,
"new_health": <<ARRAY_OF_STATUS_TRIGGERS>> ["Unhealthy", "Healthy"],
"event_source": <<ARRAY_OF_OBJECTS_WATCHED>> ["pool", "origin"]
}Редактирование пула
Чтобы изменить пул на панели управления:
- Перейдите в Load Balancing.
- Выберите Пулы на вкладке.
- В конкретном пуле выберите Изменить.
- Обновите настройки по мере необходимости.
- Выберите Save.
Удаление пула
Вы не можете удалить пулы, которые используются балансировщиками нагрузки. Это касается в том числе регионы geo steering пулы, а также резервные пулы.
Если при попытке удалить пул возникает ошибка, обратите внимание на имена хостов, указанные в ней, и изменить соответствующие балансировщики нагрузки, обязательно удалив все ссылки на этот пул.
Чтобы удалить пул на панели управления:
- Перейдите в Load Balancing.
- Выберите Пулы на вкладке.
- В конкретном пуле выберите Удалить.
Чтобы удалить пул через API, отправьте DELETE запрос.
Настройка оповещений
Вы можете настроить оповещения, чтобы получать уведомления об изменении статуса ваших пулов.
Включение пула
Для кого это предназначено?Клиенты, которые хотят получать предупреждения об изменениях статуса (включено/отключено) в своих пулах.
Другие параметры / фильтрыДоступные фильтры включают:
- Вы можете искать и добавлять пулы из списка своих пулов. Если ни один пул не выбран, оповещение будет применяться ко всем пулам в аккаунте.
- Вы также можете выбрать триггер, который запускает уведомление, когда пул Load Balancing становится включено, disabled, а также включено или отключено.
Покупка Load Balancing.
Что делать при получении такого уведомления?Действие не требуется.
Load Balancing Health Alert
Для кого это предназначено?Клиенты, которые хотят получать предупреждения об изменения статуса работоспособности в своих пулах или источниках.
Другие параметры / фильтрыДоступные фильтры включают:
- Вы можете искать и добавлять пулы из списка своих пулов, а также Включать будущие пулы (если выбраны все пулы).
- Вы можете выбрать триггер, который запускает уведомление, когда статус работоспособности становится неработоспособный, исправен, или либо неработоспособен, либо работоспособен
- Вы можете выбрать триггер, который запускает уведомление при изменении статуса работоспособности источника события в пул, источник, или либо pool, либо origin.
Покупка Load Balancing.
Что делать при получении такого уведомления?Оцените аналитика балансировки нагрузки чтобы отслеживать изменения статуса работоспособности с течением времени.
См. Cloudflare Notifications для получения дополнительной информации о настройке оповещения.