Как использовать балансировщики нагрузки DigitalOcean между виртуальными машинами – CloudSavvy IT
Как многие системные администраторы узнали за многие годы, обеспечение высокой доступности системы имеет решающее значение для производственной операции. Управление балансировщиком нагрузки и его обслуживание часто может быть сложной задачей. DigitalOcean предлагает Балансировщик нагрузки продукт всего за 10 долларов в месяц, что значительно упрощает задачу управления и обслуживания балансировщика нагрузки.
Каковы особенности балансировщика нагрузки DigitalOcean? Доступно множество опций, которые могут повлиять на то, насколько хорошо работает балансировщик нагрузки.
- Резервные балансировщики нагрузки – настроены с автоматическим переключением при отказе
- Добавить ресурсы по имени или тегу
- Поддерживаемые протоколы: HTTP (s), HTTP / 2, TCP
- LetsEncrypt SSL-сертификаты (если DigitalOcean является вашим поставщиком DNS)
- Поддержка протокола PROXY
- Прикрепленные сеансы через файлы cookie
- Настраиваемые проверки работоспособности серверных капель
- Алгоритм: циклический перебор или наименьшее количество соединений
- SSL Redirect для принудительного перехода всего HTTP на HTTPS
- Backend Keepalive для повышения производительности
Ограничения балансировщиков нагрузки DigitalOcean
Балансировщики нагрузки DigitalOcean имеют ряд ограничений, о которых необходимо знать.
- Входящие подключения поддерживают только TLS 1.2, но подключения к каплям поддерживают TLS 1.1 и TLS 1.2.
- Нет поддержки IPv6
- Сквозная передача SSL не поддерживает заголовки, такие как
X-Forwarded-Proto
илиX-Forwarded-For
, так как это работает только для HTTP или HTTPS с сертификатом - Прикрепленные сеансы не видны за балансировщиком нагрузки, файлы cookie устанавливаются и удаляются на краю и не передаются
- Когда включен keep-alive, ограничение по времени составляет 60 секунд.
- Балансировщики нагрузки поддерживают 10 000 одновременных подключений, распределенных между всеми ресурсами (т. Е. 5000 для двух разных капель)
- Проверки работоспособности отправляются как HTTP 1.0
- Плавающие IP-адреса не могут быть назначены балансировщикам нагрузки
- Порт
50053
к50055
зарезервированы для балансировщика нагрузки - Let’s Encrypt поддерживается только тогда, когда DigitalOcean используется в качестве DNS.
- Let’s Encrypt на балансировщиках нагрузки не поддерживает подстановочные сертификаты
Создание балансировщика нагрузки
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
После выбора создания нового балансировщика нагрузки необходимо выбрать регион, в котором будет создан балансировщик нагрузки и который будет совмещен с каплями для балансировки нагрузки. Балансировка нагрузки не работает в разных регионах центра обработки данных, поэтому все капли должны быть расположены вместе.
Затем нам нужно определить ресурсы, которые нужно добавить в балансировщик нагрузки. Лучший способ сделать это – использовать теги, так как любой новый помеченный ресурс будет добавлен в балансировщик нагрузки. Поскольку существует ограничение в 10 капель, которые могут быть добавлены по отдельности, использование тегов – отличный способ обойти это ограничение, поскольку оно не ограничивает количество добавляемых капель.
После добавления ресурсов необходимо создать все необходимые правила переадресации трафика. В этом примере мы просто используем стандартный веб-сервер и трафик без SSL. Поэтому все, что нам нужно, это простое правило для перенаправления на порт 80.
Есть расширенные настройки, которые вы можете установить, но при необходимости их также можно будет изменить позже. Эти настройки относятся к алгоритму, закрепленным сеансам, проверкам работоспособности, перенаправлению SSL, поддержке прокси-протокола и включению поддержки активности на сервере.
Наконец, выберите имя для балансировщика нагрузки и нажмите «Создать балансировщик нагрузки».
После создания балансировщика нагрузки вы можете просматривать назначенные ресурсы и их статус. Если вы применили брандмауэры к каплям, убедитесь, что вы открыли правильные входящие порты, чтобы проверки работоспособности работали.
Чтобы увидеть, как это работает, сначала перейдите к IP-адресу каждой отдельной капли. В этом случае мы просто установили Nginx и создали index.html
файл в /var/www/html
с идентифицирующим текстом для каждого сервера.
Как видите, каждый сервер показывает правильный текст, которого мы ожидали. Теперь мы хотим проверить, что происходит, когда мы переходим на IP-адрес самого балансировщика нагрузки. После нескольких перезагрузок вы увидите, что обе страницы будут открываться на одном и том же IP-адресе, поскольку соединения маршрутизируются между соответствующими каплями.
Состояние внутреннего подключения
Проверка работоспособности соединения выполняется постоянно в зависимости от установленного расписания. Как только будет определено, что серверная капля не работает, балансировщик нагрузки прекратит направлять соединения на сломанную внутреннюю каплю.
Как вы можете видеть на скриншоте ниже, после выключения lc-test-02
, балансировщик нагрузки перестал направлять туда соединения. После обновления страницы вы получите только страницу с тестового сервера 1.
Вывод
Как видите, балансировщики нагрузки DigitalOcean – невероятно полезный и недорогой способ легко балансировать нагрузку на соединения по любому количеству капель. С добавлением поддержки HTTP / 2, сквозной передачи и завершения SSL, а также поддержки Let’s Encrypt с помощью балансировщиков нагрузки DigitalOcean, вы легко добавите высокую доступность и возможность балансировки нагрузки для многих приложений.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)