Как использовать балансировщики нагрузки DigitalOcean между виртуальными машинами — CloudSavvy IT

Логотип Digital Ocean

Как многие системные администраторы узнали за многие годы, обеспечение высокой доступности системы имеет решающее значение для производственной операции. Управление балансировщиком нагрузки и его обслуживание часто может быть сложной задачей. 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 на балансировщиках нагрузки не поддерживает подстановочные сертификаты

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

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

Выберите регион, в котором будет создан Load Balancer и который будет совмещен с каплями для балансировки нагрузки.

Затем нам нужно определить ресурсы, которые нужно добавить в балансировщик нагрузки. Лучший способ сделать это — использовать теги, так как любой новый помеченный ресурс будет добавлен в балансировщик нагрузки. Поскольку существует ограничение в 10 капель, которые могут быть добавлены по отдельности, использование тегов — отличный способ обойти это ограничение, поскольку оно не ограничивает количество добавляемых капель.

Определите ресурсы для добавления в балансировщик нагрузки

После добавления ресурсов необходимо создать все необходимые правила переадресации трафика. В этом примере мы просто используем стандартный веб-сервер и трафик без SSL. Поэтому все, что нам нужно, это простое правило для перенаправления на порт 80.

  Создайте все необходимые правила переадресации трафика

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

Расширенные настройки

Наконец, выберите имя для балансировщика нагрузки и нажмите «Создать балансировщик нагрузки».

Выберите имя для балансировщика нагрузки и нажмите «Создать балансировщик нагрузки».

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

Перейдите, чтобы увидеть назначенные ресурсы и их статус

Чтобы увидеть, как это работает, сначала перейдите к IP-адресу каждой отдельной капли. В этом случае мы просто установили Nginx и создали index.html файл в /var/www/html с идентифицирующим текстом для каждого сервера.

Перейдите к IP-адресу каждой отдельной капли.

Перейдите к IP-адресу каждой отдельной капли.

Как видите, каждый сервер показывает правильный текст, которого мы ожидали. Теперь мы хотим проверить, что происходит, когда мы переходим на IP-адрес самого балансировщика нагрузки. После нескольких перезагрузок вы увидите, что обе страницы будут открываться на одном и том же IP-адресе, поскольку соединения маршрутизируются между соответствующими каплями.

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

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

Состояние внутреннего подключения

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

Как вы можете видеть на скриншоте ниже, после выключения lc-test-02, балансировщик нагрузки перестал направлять туда соединения. После обновления страницы вы получите только страницу с тестового сервера 1.

После выключения lc-test-02 load-balancer перестал направлять туда соединения.

Вывод

Как видите, балансировщики нагрузки DigitalOcean — невероятно полезный и недорогой способ легко балансировать нагрузку на соединения по любому количеству капель. С добавлением поддержки HTTP / 2, сквозной передачи и завершения SSL, а также поддержки Let’s Encrypt с помощью балансировщиков нагрузки DigitalOcean, вы легко добавите высокую доступность и возможность балансировки нагрузки для многих приложений.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.