Виртуальные IP-адреса
Виртуальный IP-адрес — это дополнительный IP-адрес, который можно назначить нескольким серверам. Виртуальный IP-адрес можно использовать в кластере серверов для балансировки нагрузки между серверами (при режиме active-active) или для отказоустойчивости (при режиме active-standby).
Создание виртуального IP-адреса
Чтобы создать виртуальный IP-адрес:
- Если нужно привязать виртуальный IP-адрес к MAC-адресу:
- Подключитесь к любому серверу кластера.
- Определите routerId для кластера серверов. Например, 30.
Примечание
Для каждого кластера в пределах одной сети (одного L2-сегмента) нужно назначить уникальный идентификатор — routerId.
- Определите vMAC-адрес кластера (данную команду можно выполнять как на сервере, так и на локальном компьютере):
- Если вы используете ОС Windows, запустите Windows PowerShell и выполните команду:
- Если вы используете ОС семейства Linux или macOS, выполните команду:
где 30 — routerId, определённый в пункте b.
- На каждом сервере кластера установите утилиту keepalived через пакетный менеджер (используйте версию keepalived 2.2.0 или выше):
- Подключитесь к серверу кластера.
- Выполните команду:
Создайте конфигурационный файл /etc/keepalived/keepalived.conf на каждом сервере кластера. Например:
где:interface — имя сетевого интерфейса в ОС сервера, на который назначается виртуальный IP-адрес. Например, ens8;
- unicast_src_ip — виртуальный IP-адрес сервера, на котором будет применён этот конфигурационный файл. Например:
- 1.2.3.1 — виртуальный IP-адрес первого сервера;
- 1.2.3.2 — виртуальный IP-адрес второго сервера;
- 1.2.3.3 — виртуальный IP-адрес третьего сервера;
unicast_peer — виртуальные IP-адреса других серверов в этом кластере;
- virtual_router_id — routerId, определённый в пункте b;
- virtual_ipaddress — виртуальный IP-адрес кластера. Например, 1.2.3.30.
- Выберите проект, в котором нужно создать виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- Нажмите на кнопку Создать и заполните поля:
- Имя * — название виртуального IP-адреса;
- Зона доступности * — зона доступности, в которой нужно создать виртуальный IP-адрес;
- Сети других проектов — активируйте переключатель, если нужно создать виртуальный IP-адрес в подсети другого проекта. Для этого в другом проекте нужно предоставить общий доступ к подсети;
- Сеть * — сеть, в которой нужно создать виртуальный IP-адрес. Сервер и виртуальный IP-адрес должны размещаться в одной сети;
- Подсеть * — подсеть, в которой нужно создать виртуальный IP-адрес;
- Задать IP-адрес сетевого интерфейса — активируйте переключатель, если нужно указать IP-адрес вручную. При вводе IP-адреса проверяется, не занят ли он, и принадлежность к выбранной подсети;
- Режим — режим распределения запросов между серверами:
- active-active — запросы распределяются между серверами по алгоритму Round-Robin (балансировка нагрузки);
- active-standby — запросы передаются только на один сервер. Используется при построении отказоустойчивого кластера (High-availability cluster). Если активный сервер выходит из строя, нагрузка переключается на другой сервер;
- Задействовать L2 — активируйте переключатель, чтобы задействовать MAC-адрес.
Если переключатель Задействовать L2 активирован, укажите виртуальный MAC-адрес в поле vMac-адрес * (определённый в пункте 1.c): - Разрешить доступ из интернет — активируйте переключатель, чтобы разрешить доступ к виртуальному IP-адресу из сети Интернет. Публичный IP-адрес назначается автоматически;
- Ограничение скорости, Мбит/сек — лимит пропускной способности канала. Значение должно быть кратно 100. Указывается, если активирован переключатель Разрешить доступ из интернет.
- Нажмите на кнопку Подтвердить. Созданный виртуальный IP-адрес отображается на портале:
- Подключите созданный виртуальный IP-адрес к сетевому интерфейсу каждого сервера в кластере.
- Если в поле Режим выбрано значение active-standby, проверьте работу nginx:
На каждом сервере кластера создайте одинаковые скрипты:
На всех серверах выдайте скриптам права «на исполнение», выполнив команду:
- На всех серверах перезапустите утилиту keepalived и проверьте её статус, выполнив команды:
Статус Active: active (running) — nginx работает.
Действия с виртуальным IP-адресом
Изменение ограничения скорости
Чтобы изменить ограничение пропускной способности канала:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
В строке с нужным виртуальным IP-адресом нажмите на кнопку и выберите пункт Изменить ограничение скорости.
Примечание
Если пункта Изменить ограничение скорости нет, разрешите доступ к виртуальному IP-адресу из сети Интернет.
- В поле Ограничение скорости, Мбит/сек выберите новое ограничение пропускной способности канала. Значение должно быть кратно 100:
- Нажмите на кнопку Подтвердить.
Ограничение скорости отображается в Основных параметрах виртуального IP-адреса:
Подключение виртуального IP-адреса к сетевому интерфейсу
Один виртуальный IP-адрес можно подключить к нескольким сетевым интерфейсам.
После создания виртуального IP-адреса подключите его к сетевому интерфейсу:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку и выберите пункт Подключить к сетевому интерфейсу.
- Заполните поля:
- Показать отключенные сетевые интерфейсы — активируйте переключатель, если нужно подключить виртуальный IP-адрес к сетевому интерфейсу, который не подключен к серверу;
- Сервер * — сервер, к сетевому интерфейсу которого нужно подключить виртуальный IP-адрес. Поле доступно, если переключатель Показать отключенные сетевые интерфейсы не активирован;
- Сетевой интерфейс — сетевой интерфейс, к которому нужно подключить виртуальный IP-адрес.
- Нажмите на кнопку Подтвердить.
Для направления трафика укажите виртуальный IP-адрес в ОС сервера.
В результате виртуальный IP-адрес подключится к сетевому интерфейсу.
Отключение виртуального IP-адреса от сетевого интерфейса
Чтобы отключить виртуальный IP-адрес от сетевого интерфейса:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку и выберите пункт Отключить от сетевого интерфейса.
- Выберите Сетевой интерфейс:
- Нажмите на кнопку Подтвердить.
В результате виртуальный IP-адрес будет отключен от сетевого интерфейса.
Доступ к виртуальному IP-адресу из сети Интернет
Чтобы разрешить доступ к виртуальному IP-адресу из сети Интернет:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку из интернет. и выберите пункт Разрешить доступ
- В открывшемся окне в поле Ограничение скорости, Мбит/сек выберите ограничение пропускной способности канала. Значение должно быть кратно 100.
- Нажмите на кнопку Подтвердить.
Чтобы отключить доступ к виртуальному IP-адресу из сети Интернет:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку и выберите пункт Отключить доступ из интернет.
- В открывшемся окне нажмите на кнопку Подтвердить.
Управление виртуальным MAC-адресом
Чтобы привязать виртуальный IP-адрес к MAC-адресу:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку и выберите пункт Управление L2.
- Укажите виртуальный MAC-адрес в поле vMac-адрес *:
- Нажмите на кнопку Подтвердить.
Чтобы отвязать виртуальный IP-адрес от MAC-адреса:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку и выберите пункт Управление L2.
- Нажмите на кнопку Подтвердить.
Удаление виртуального IP-адреса
Чтобы удалить виртуальный IP-адрес:
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку и выберите пункт Удалить.
- Введите Идентификатор для подтверждения удаления.
- Нажмите на кнопку Удалить.
Копирование ID виртуального IP-адреса
ID необходим для взаимодействия с виртуальным IP-адресом через API.
Чтобы скопировать ID виртуального IP-адреса (ITEM_ID):
- Выберите проект, в котором создан виртуальный IP-адрес.
- В главном меню портала перейдите в раздел Ресурсы → Cloud Engine → Виртуальные IP-адреса.
- В строке нужного IP-адреса нажмите на кнопку и выберите пункт Скопировать ID. ID сохраняется в буфер обмена вашего устройства.