Site icon 8HOST.COM

Использование плавающих IP-адресов

Плавающий IP – публичный статический IP-адрес, который можно присвоить одному из ваших серверов. Плавающие IP-адреса быстро переназначать (обычно с помощью панели управления или API) – передавать между машинами в одном датацентре. Эта функция мгновенного переопределения даёт возможность проектировать и создавать инфраструктуру серверов высокой доступности (HA), не имеющую единой точки отказа, путем добавления избыточности к точке входа или шлюзу.

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

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

В данной статье охвачены следующие темы:

Базовая настройка высокой доступности.

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

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

Пользователь

Плавающий IP-адрес
________________|         :...................
↓                                            ↓
Балансировщик 1                       Балансировщик 2
(активный)                                 (пассивный)
|                                                   |
↓                                                   ↓
Сервер приложения 1                Сервер приложения 2
|                                                   |
↓                                                   ↓
Сервер баз данных 1                Сервер баз данных 2
↑                          ↑
|__________________________|
Репликация

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

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

Метаданные плавающих IP-адресов

Сервер узнаёт о наличии плавающего IP-адреса с помощью своих метаданных. Если вы присвоили серверу плавающий IP-адрес, сервер может извлечь его. Эта информация может пригодиться при настройке высокой доступности.

Любые метаданные обычно можно извлечь с помощью команды curl.

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

curl -s http://169.254.169.254/metadata/v1/floating_ip/ipv4/active

Если у сервера есть плавающий IP, вы можете извлечь его:

curl -s http://169.254.169.254/metadata/v1/floating_ip/ipv4/ip_address

Реализация высокой доступности

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

Ниже вы найдёте список полезных инструментов и приложений, которые помогут собрать инфраструктуру с высокой доступностью:

Другие варианты использования плавающих IP-адресов

Еще один вариант реализации плавающих IP-адресов – это blue/green deployment.

Blue/green deployment – это стратегия развертывания программного обеспечения, которая основана на двух идентичных производственных конфигурациях, которые чередуются (одна находится в активной фазе, а вторая – в пассивной). Одна среда называется blue, а дублирующая среда – green. Две среды, blue и green, могут обрабатывать всю производственную нагрузку и использоваться поочередно, а не как основное и дополнительное пространство. Если одна среда является активной, то другая находится в режиме ожидания (такую среду можно использовать для тестирования).

Заключение

Теперь у вас есть базовые навыки работы с плавающими IP-адресами и построения высокодоступных инфраструктур.

Читайте также: