Балансировщики нагрузки — FAQ

Что такое балансировщик нагрузки и почему он может быть мне полезен?

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

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

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

Как вы выставляете счет за балансировщики нагрузки?

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

Какой производительности я могу ожидать от балансировщиков нагрузки?

Это сильно зависит от вашей конфигурации. От нашего самого маленького балансировщика нагрузки типа LB11 вы должны ожидать производительности, примерно эквивалентной запуску популярного программного обеспечения для балансировки нагрузки на облачном сервере CX11.

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

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

Какие протоколы поддерживают балансировщики нагрузки?

Наши балансировщики нагрузки способны обрабатывать любой трафик на основе TCP, а также HTTP и HTTPS. По умолчанию они используют HTTP / 2, в зависимости от возможностей клиента.

Что такое проверки здоровья?

Проверки работоспособности защищают ваше приложение от сбоев одного сервера, гарантируя, что трафик направляется только к работоспособным целям. Есть два типа проверки работоспособности: активная и пассивная. Наши балансировщики нагрузки поддерживают оба.

Активные проверки работоспособности настраиваются и через определенные интервалы времени активно проверяют, живы ли целевые объекты балансировщиков нагрузки и отвечают на запросы.

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

Что означает протокол прокси и нужно ли его включать?

!! Включение протокола прокси для целей, которые НЕ поддерживают его, сделает всю службу недоступной !!

ProxyProtocol используется для передачи информации о соединении через несколько уровней соединений. Его можно использовать для пересылки исходного IP-адреса клиента целевой службе. Чтобы это работало, ваше программное обеспечение для прослушивания на цели должно поддерживать эту функцию и иметь ее явную активацию.

Вот пример включения его для nginx: https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/

Пересылают ли балансировщики нагрузки специальные заголовки HTTP?

Если вы выберете протокол http или https, балансировщик нагрузки добавит эти заголовки в перенаправленный запрос:

  • X-Forwarded-For — содержит IP-адрес исходного клиента, отправившего запрос
  • X-Forwarded-Port — содержит порт прослушивания службы балансировки нагрузки. Поэтому, если ваш балансировщик нагрузки прослушивает порт 80, он будет содержать 80.
  • X-Forwarded-Proto — содержит протокол, который клиент использовал для связи с балансировщиком нагрузки. Может быть http или https.

Как определить, с какого IP-адреса исходил запрос?

Для сервисных протоколов http и https заголовок HTTP «X-Forwarded-For» содержит IP-адрес запрашивающего клиента.

Если ваша целевая служба поддерживает это, вы можете изучить возможность использования функции ProxyProtocol для достижения этой цели.

Могу ли я назначить плавающий IP-адрес своему балансировщику нагрузки?

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

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

Как я могу добавить сертификат, включая промежуточные сертификаты?

Чтобы добавить сертификат сервера со всеми необходимыми промежуточными сертификатами, вам необходимо объединить сертификаты. Вот как это работает:

-----BEGIN CERTIFICATE-----
(Your Primary SSL certificate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Your Intermediate certificate(s))
-----END CERTIFICATE-----

Этот комбинированный сертификат можно вставить в форму сертификата.

Постоянный плавающий IP-адрес

Если вы используете более одного плавающего IP-адреса, то номер интерфейса (eth0: 1 ) будет увеличен (например, eth0: 2 ).

В дистрибутивах на основе Debian (Ubuntu — до 20.04, Debian):

  1. Доступ к серверу через SSH
  2. Создайте файл конфигурации и откройте редакторtouch /etc/network/interfaces.d/60-my-floating-ip.cfg nano /etc/network/interfaces.d/60-my-floating-ip.cfg
  3. Вставьте следующую конфигурацию в редактор и замените  your.Float.ing.IP  своим плавающим IP-адресом.

IPv4:

 auto eth0:1
 iface eth0:1 inet static
     address your.Float.ing.IP
     netmask 32

IPv6:

 auto eth0:1
 iface eth0:1 inet6 static
     address one IPv6 address of the subnet, e.g. 2a01:4f9:0:2a1::2
     netmask 64
  1. Теперь вам следует перезапустить вашу сеть. Внимание: это сбросит ваше сетевое соединение.sudo service networking restart

Ubuntu 20.04:

  1. Доступ к серверу через SSH
  2. Создайте файл конфигурации и откройте редакторtouch /etc/netplan/60-floating-ip.yaml nano /etc/netplan/60-floating-ip.yaml
  3. Вставьте следующую конфигурацию в редактор и замените  your.Float.ing.IP  своим плавающим IP-адресом.

IPv4:

 network:
   version: 2
   ethernets:
     eth0:
       addresses:
       - your.float.ing.ip/32

IPv6:

 network:
   version: 2
   ethernets:
     eth0:
       addresses:
       - your.float.ing.ip/64
  1. Теперь вам следует перезапустить вашу сеть. Внимание: это сбросит ваше сетевое соединение.sudo netplan apply

В дистрибутивах на основе RHEL (Fedora, CentOS):

  1. Доступ к серверу через SSH
  2. Создайте файл конфигурации и откройте редакторtouch /etc/sysconfig/network-scripts/ifcfg-eth0:1 vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
  3. Вставьте следующую конфигурацию в редактор и замените  your.Float.ing.IP своим плавающим IP-адресом.

IPv4:

 BOOTPROTO=static
 DEVICE=eth0:1
 IPADDR=your.Float.ing.IP
 PREFIX=32
 TYPE=Ethernet
 USERCTL=no
 ONBOOT=yes

IPv6:

 BOOTPROTO=none
 DEVICE=eth0:1
 ONBOOT=yes
 IPV6ADDR=one IPv6 address of the subnet, e.g. 2a01:4f9:0:2a1::2/64
 IPV6INIT=yes
  1. Теперь вам следует перезапустить вашу сеть. Внимание: это сбросит ваше сетевое соединение.systemctl restart network

Плавающие IP — FAQ

Что такое плавающие IP-адреса и как они работают?

Каждый сервер Hetzner Cloud автоматически поставляется с одной сетью IPv4 и одной сетью IPv6 (/ 64). Вы также можете добавить плавающие IP-адреса за небольшую плату.

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

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

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

Чтобы временно настроить плавающий IPv4 «1.2.3.4», вы можете запустить

ip addr add 1.2.3.4/32 dev eth0

Обратите внимание, что эта конфигурация не выдержит перезагрузки.

Чтобы настроить первый IPv6-адрес плавающего сетевого блока IPv6 2a01: 4f8: 2c17: 2c :: / 64, вы должны запустить:

ip addr add 2a01:4f8:2c17:2c::1/128 dev eth0

Как постоянно настроить плавающий айпи?

Чтобы узнать, как настроить постоянный плавающий IP-адрес, прочитайте наш учебник

API — FAQ

Могу ли я получить доступ к вашей службе через API?

Конечно! Вы можете найти нашу документацию по API на docs.hetzner.cloud .

Если вы разрабатываете что-то против нашего API, мы будем благодарны за отзывы через форму поддержки облачной консоли.

Вы спонсируете усилия по интеграции Hetzner Cloud в библиотеки с открытым исходным кодом?

Да, мы делаем: если вы разрабатываете интеграцию на основе нашего API, и ваш продукт является открытым исходным кодом, вы можете иметь право на бесплатный одноразовый кредит в размере 50 евро (без НДС) для вашей учетной записи. Свяжитесь с нами через страницу поддержки в облачной консоли и сообщите нам следующее:

  • Тип интеграции, которую вы хотели бы разработать
  • Ссылка на репозиторий GitHub, который вы будете использовать для проекта
  • Ссылка на другую работу с открытым исходным кодом, которую вы уже сделали (если вы это сделали). Список интеграций, которые уже выполнены или над которыми работают, можно найти здесь:
https://github.com/hetznercloud/awesome-hcloud

Мы хотели бы услышать от вас! 🙂

Есть ли инструмент командной строки (CLI) для доступа к Hetzner Cloud?

Да. Он представлен здесь как проект с открытым исходным кодом: https://github.com/hetznercloud/cli

Если вы хотите внести свой вклад или расширить его, сделайте это, открыв запросы на вытягивание.

Есть ли библиотека для доступа к Hetzner Cloud с моего языка программирования?

В настоящее время мы предоставляем библиотеки для Go и Python с открытым исходным кодом.

Вы можете найти неофициальные библиотеки для многих языков в нашем списке интеграций: https://github.com/hetznercloud/awesome-hcloud

Поскольку наш API очень прост в использовании, вам может даже не потребоваться полная библиотека, и может быть достаточно быстрого запроса HTTPS; ознакомьтесь с нашей документацией по API на docs.hetzner.cloud .

Облако — F.A.Q

Что такое снимки и резервные копии?

Снимки и резервные копии — это копии диска вашего сервера.

Вы можете создавать моментальные снимки, когда они вам нужны, и хранить их вечно или до тех пор, пока вы не решите их удалить. Мы в Hetzner Online будем хранить снимки, даже если вы удалите сервер, с которого был сделан снимок. Мы выставляем счет за моментальные снимки из расчета на гигабайт в месяц. Дополнительную информацию можно найти в разделе часто задаваемых вопросов по биллингу.

Резервные копии — это ежедневные копии диска вашего сервера. Наша система автоматически выберет период времени, в течение которого будут создаваться резервные копии после активации функции. Им выставляется фиксированная плата за сервер. См. Здесь в FAQ по биллингу. Резервные копии привязаны к одному серверу и будут автоматически удалены, если вы удалите сервер. Для каждого сервера предусмотрено семь слотов для резервного копирования. Если все слоты заполнены, и вы создаете дополнительный, то самая старая резервная копия будет удалена.

Чтобы получить доступ к моментальному снимку или резервной копии, вам необходимо:

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

При создании снимков или резервных копий мы рекомендуем выключить сервер, чтобы обеспечить целостность данных на диске. Однако вы также можете создать их из работающей системы. В этом случае мы попытаемся очистить дисковые кеши вашей операционной системы с помощью Qemu Guest Agent перед созданием снимков. Однако в этом случае мы не можем гарантировать целостность данных.

Важное примечание: снимки и резервные копии не включают томов, подключенных к вашему серверу.

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

Что такое проекты и как их использовать?

Вы можете сгруппировать свои серверы и другие ресурсы в проекты. Для каждого проекта вы можете пригласить других пользователей присоединиться и, следовательно, работать с вами над проектом через Cloud Console. Чтобы пригласить пользователя, выберите «Безопасность; Участники; Добавить участника».

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

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

Вы всегда можете отозвать доступ к проекту или изменить роль другого участника, перейдя в «Безопасность; Участники в вашей облачной консоли».

Роль каждого участника в проекте определяет, что им разрешено:

РольРазрешения
ВладелецВысший уровень доступа. Может делать все, что умеет администратор. Можно перенести серверы в другие проекты. Будет выставлен счет за все ресурсы в проекте, независимо от того, кто их создал. У каждого проекта может быть только один владелец.
АдминМожет делать все, что может сделать участник. Дополнительно можно управлять участниками проекта (добавлять / удалять / изменять роль) и токенами API.
ЧленМожет создавать, изменять и удалять все ресурсы в проекте, такие как серверы, плавающие IP-адреса, изображения, тома и т. Д.
ОграниченныйМожет создавать, изменять и удалять все ресурсы в проекте, кроме:создание или удаление серверовсоздание снимковудаление снимков или резервных копийпреобразование резервных копий в снимкивключение или выключение резервного копирования для серверасоздание плавающих IP-адресовизменение типов серверовсоздание или удаление томов

Как я могу переместить ресурс (сервер / том / плавающий ip) в другую учетную запись?

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

Следовательно, целевая учетная запись должна пригласить текущего владельца ресурса в проект и предоставить текущей учетной записи как минимум права на участие. Затем действуйте, как описано в разделе «Как переместить ресурс в другой проект?».

Как я могу переместить ресурс (сервер / том / плавающий IP-адрес) в другой проект?

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

Чтобы переместить ресурс, нажмите на три точки в соответствующем списке и выберите «Перенести в проект». Обратите внимание, что владелец целевого проекта теперь должен будет платить за ресурс.

Есть ли ограничения на количество ресурсов, которые я могу получить?

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

Эти ограничения можно найти на вкладке «Лимиты» на странице обзора. Если вы хотите, чтобы мы увеличили лимиты ресурсов, используйте кнопку «Запросить изменение лимита» на вкладке «Лимиты».