Эта статья объясняет, как настроить сайт с двумя vSocket для обеспечения высокой доступности (HA) в облаке Microsoft Azure.
Обзор высокой доступности vSocket в Azure
Для обеспечения резервирования vSocket на сайте Azure разверните два vSocket в одной виртуальной сети Azure (VNet) и настройте их для работы в конфигурации высокой доступности. Сокеты работают в активном/пассивном режиме, и ссылки LAN используются для отправки keepalive-сообщений между сокетами.
Конфигурация HA в Azure использует плавающий IP-адрес, который привязан к LAN-интерфейсу активного сокета. При аварийном переключении плавающий IP перемещается на вторичный LAN интерфейс vSocket. Таблицы маршрутизации используют этот Плавающий IP как следующий переход для трафика, отправляемого через Cato Cloud.
HA Azure поддерживает несколько зон доступности. Или, вы можете использовать Наборы Доступности, чтобы убедиться, что оба vSockets развернуты в разных Доменах Сбоев и Обновлений в Azure.
Пример диаграммы виртуальной сети HA Azure
Следующая диаграмма сети показывает пример конфигурации HA vSocket для сайта Azure.

Основной и вторичный vSocket находятся в одном VNet. Интерфейсы LAN: 10.102.2.10 (основной) и 10.102.2.11 (вторичный). Плавающий IP: 10.102.2.200 и он настроен как следующий переход для таблицы маршрутизации LAN.
Обычный поток трафика для этой сети:
VM1 отправляет трафик в Интернет.
Согласно таблице маршрутизации LAN, следующий переход для трафика — это 10.102.2.200, который настроен как вторичный IP-адрес для LAN-интерфейса основного сокета.
Основной сокет активен и передаёт трафик через WAN-интерфейс в интернет.
Процесс отказоустойчивости Azure vSocket
Это рабочий процесс, когда основной активный vSocket переключается на вторичный резервный vSocket на сайте Azure. Следующая диаграмма иллюстрирует аварийное переключение, числа соответствуют элементам в шагах ниже:

В нормальной операции основной vSocket имеет активную роль, а вторичный vSocket имеет роль ожидания.
Плавающий IP (вторичный адрес IP на интерфейсе LAN) привязан к основному vSocket (элемент 1a).
Префиксы таблицы маршрутизации LAN используют плавающий IP в качестве следующего перехода (элемент 1b).
Основной (активный) vSocket не работает (элемент 2).
Вторичный (резервный) vSocket прекращает получать пакеты keepalive от основного vSocket (элемент 2a).
Вторичный vSocket выполняет вызов API к шлюзу Azure API для внесения следующих изменений в интерфейсы LAN на каждом vSocket:
Удалить плавающий IP (вторичный адрес IP) из интерфейса LAN на основном vSocket (элемент 3a).
Добавить плавающий IP как вторичный адрес IP для интерфейса LAN на вторичном vSocket (элемент 3b).
Вторичный vSocket теперь является активным vSocket и пропускает трафик для сайта в обоих направлениях (элемент 4).
Когда основной сокет восстанавливается, он возобновляет активную роль, а вторичный сокет возвращается в режим ожидания. (Основной сокет выполняет вызов API для перемещения плавающего IP-адреса обратно в качестве вторичного IP-адреса для его LAN-интерфейса.)
Заметка:
По причинам, связанным с инфраструктурой Azure, обновление конфигурации сетевого интерфейса может занять до 120 секунд и может вызвать задержку в переключении HA.
Предварительные условия для высокой доступности Azure
Высокая доступность в Azure поддерживается для vSocket, использующих Версии сокетов 11.0 или выше.
Скачайте скрипт конфигурации HA Azure из репозитория Cato, смотрите Копирование изображения VHD Azure vSocket с SAS
Оба сокета должны быть одинакового типа экземпляра Azure VM (например, D2s v4)
vSocket Azure должны иметь доступ к публичному DNS серверу. Убедитесь, что VNet не настроен на использование только частного DNS-сервера
Примечание: Виртуальная машина vSocket должна быть перезапущена после любых изменений DNS, внесенных в VNET, использованные vSocket.Если используются отдельные группы ресурсов для VNet и VM vSocket, убедитесь, что контейнер блоб хранения находится в той же группе ресурсов, что и VM и образ VHD
Каждому vSocket необходим исходящий доступ к следующим ресурсам:
VirtualNetwork - DNS и HTTP
Управление ресурсами Azure - HTTPS
Интерфейс управления требует доступ к Интернету для общедоступных DNS-серверов (если настроено, UDP/53) и management.azure.com (TCP/443)
Настройка прав администратора для конфигурации высокой доступности
В этом разделе объясняются правильные разрешения Cato и Azure для администратора для настройки vSocket HA. Если у вас нет правильных разрешений, то возможно сценарий Cato HA не сможет создать HA конфигурацию между vSocket.
Должны быть административные разрешения для Приложение управления Cato и разрешения владельца для Azure
Если вы используете привилегированное управление идентификацией (PIM) или любой механизм токена идентификации в Azure, назначьте максимальные привилегии необходимой группе ресурсов до запуска сценария HA
Если есть несколько групп ресурсов Azure, то вы должны иметь разрешения владельца для обеих групп ресурсов
Использование зон доступности для конфигураций высокой доступности в Azure
Вы можете выбрать назначение каждой VM другой Зоне Доступности Azure как часть сценария конфигурации HA, чтобы защитить ваши Приложения и Данные от сбоев в Дата-Центрах Azure. Создайте зоны доступности до запуска сценария HA.
Вы не можете назначать VM различным зонам доступности, использующим разные наборы доступности.
Заметка:
Azure поддерживает только стандартные SKU публичные IP-адреса для зон доступности (и других зональных избыточных конфигураций). Перед развертыванием конфигурации vSocket HA убедитесь, что вы настроили правильный SKU для IP-адресов.
Следующая схема сети показывает пример конфигурации HA vSocket с различными зонами доступности для сайта Azure.

Известные Ограничения услуг
Для версий Socket до v14.0 основной локальный IP-адрес vSocket используется для BGP-пиринга. Это не сохраняется при переключении на вторичный vSocket.
Начиная с версии v14.0 в конфигурациях vSocket HA используется плавающий IP для BGP-пиринга. Убедитесь, что плавающий IP определен в соседнем маршрутизаторе BGP.
По причинам, связанным с инфраструктурой Azure, обновление конфигурации сетевого интерфейса может занять до 120 секунд и может вызвать задержку в переключении HA.
Для существующих конфигураций, чтобы назначить VM зоне доступности, необходимо создать новые VM и повторно развернуть сокеты (см. Развертывание Azure vSockets из Marketplace)
Развертывание высокой доступности vSocket в Azure
Разверните vSockets на виртуальных машинах (VM) Azure в качестве основного и вторичного vSocket для сайта.
Для конфигураций Azure HA во время переключения происходит вызов API, который автоматически добавляет плавающий IP в LAN интерфейс резервного vSocket и удаляет настройки, сконфигурированные на LAN интерфейсе (включая LAN NSG). Не настраивайте вручную Плавающий IP на интерфейсе LAN vSocket. Скрипт Cato HA назначает плавающий IP основному интерфейсу сети vSocket, а затем перезагружает vSockets (см. шаги 7 и 8 ниже).
Это общий рабочий процесс процесса развертывания конфигурации vSocket HA.
Для новых сайтов создайте новый сайт в Приложение управления Cato и выполните сценарий Cato Azure vSocket для развертывания основного vSocket. (Для существующих сайтов пропустите этот шаг.)
После создания площадки, Приложение Управления Cato присваивает ей уникальный серийный номер (S/N). Мы рекомендуем копировать и вставлять серийный номер в текстовый файл.
Убедитесь, что основной vSocket работает с Версией Socket 11.0 или выше.
Добавьте вторичный vSocket к сайту в Приложение управления Cato.
Разверните вторичный vSocket с помощью сценария Cato Azure vSocket. Оба vSocket должны находиться в одной VNet.
Единственные виртуальные ресурсы, которые необходимо создать для вторичного сокета, это новые сетевые интерфейсы для подсетей WAN, LAN и MGMT.
Убедитесь, что и основной, и вторичный vSocket имеют подключение к Cato Cloud.
Запустите сценарий Cato HA, чтобы применить конфигурацию HA к vSocket.
Перезапустите как основной, так и вторичный vSocket.
Обновите таблицу маршрутизации Azure, чтобы использовать плавающий IP в качестве следующего перехода.
Подтвердите Статус HA для vSocket и выполните тест API из Веб-интерфейса сокета.
Заметка:
При настройке IP-адресов для сайта убедитесь, что вы не используете IP-адреса, зарезервированные Azure. Вы не можете использовать первые четыре IP-адреса и последний IP-адрес в блоке подсети CIDR.
Дополнительную информацию о зарезервированных IP-адресах Azure смотрите в документации Azure.
Развертывание основного сокета в Azure
Выполните следующие шаги, чтобы развернуть основной vSocket на VM. Для существующих площадок Azure обновите основной vSocket до версии 11.0 или выше. Если вы хотите назначить сокет группе доступности, смотрите ниже Назначение сокетов VM группе доступности (необязательно).
Затем продолжайте ниже с Добавление вторичного сокета на сайты Azure.
Чтобы развернуть основной vSocket для нового сайта:
Добавьте новую площадку Azure в Приложение Управления Cato.
Установите основной vSocket на VM.
Помните, что необходимо использовать ту же группу ресурсов для обеих VM vSocket.
При необходимости создайте Набор Доступности для виртуальных машин vSocket.
Подробнее о установке сокета в Azure см. Развертывание Azure vSockets из Marketplace.
Назначение сокетов VM в группе доступности (необязательно)
Сценарий vSocket (create_vm_from_vhd.sh) позволяет назначить vSocket набору доступности. Эта опция в основном используется в конфигурации HA vSocket, когда вы хотите убедиться, что оба vSocket назначены разным доменам сбоя и обновления. Вы должны создать набор доступности ПЕРЕД выполнением сценария CatovSocket.
Примечание:
Azure не позволяет назначить VM набору доступности после ее создания
Вы не можете назначить набор доступности VM, которые используют разные зоны доступности
Создайте новую группу доступности и настройте параметры следующим образом:
Назначьте его той же группе ресурсов, что и VM
Установите домен сбоя и домен обновления в 2
Следующий снимок экрана показывает пример группы доступности для vSocket:

Добавление вторичного сокета на сайты Azure
После того как приложение управления Cato обнаруживает обновление основного сокета до версии 11.0 или выше, опция Добавить вторичный сокет отображается на странице Сети > Площадки > Конфигурация сайта > Сокет.
Когда вы добавляете вторичный vSocket на площадку, открывается всплывающее окно, в котором вы вводите следующие настройки:
IP интерфейса LAN - IP адрес для интерфейса LAN вторичного vSocket
Плавающий IP LAN - IP адрес для Плавающего IP, который используется для конфигурации Azure HA
Приложение Управления Cato использует IP-адрес интерфейса LAN как адрес управления для вторичного vSocket. Этот интерфейс LAN также используется для пакетов keepalive HA.
После того как вы добавите вторичный vSocket на сайт, Приложение Управления Cato выполнит следующие действия:
Генерирует серийный номер vSocket для нового vSocket (этот серийный номер используется при запуске скрипта Cato для установки vSocket на ВМ)
Включает раздел Конфигурации высокой доступности для этого сайта
Изменяет раздел Сети Собственный диапазон, заменяя Локальный IP-адрес на Плавающий IP
Для дополнительной информации о сетевых сегментах на площадке HA, смотрите ниже Обзор сетевых сегментов высокой доступности Azure в приложении управления Cato.

Чтобы настроить сайт Azure для HA:
В навигационном меню выберите Сеть > Площадки, и выберите сайт Azure.
В навигационном меню выберите Конфигурация сайта > Сокет.
Щелкните Добавить вторичный сокет. Открывается окно Добавить вторичный vSocket (Высокая доступность).
Настройте IP-настройки LAN:
Введите IP-адрес интерфейса LAN. Это значение используется в качестве MGMT IP и для keepalive пакетов.
Введите Плавающий IP LAN.
Щелкните Применить. Настройки плавающего IP настроены и скопированы в раздел Сокет > Конфигурации высокой доступности.
Нажмите Save.
Скопируйте и сохраните серийный номер (S/N) для Вторичный vSocket.
Используйте этот S/N при установке вторичного vSocket на виртуальную машину.
Изменения на странице сокетов
После добавления вторичного vSocket на сайт, на странице Сокет пункт назначения для ссылки LAN1 автоматически устанавливается как LAN & HA.
Развертывание вторичного сокета в Azure
Создайте и разверните вторичный vSocket в том же Azure VNet, что и основной vSocket.
Убедитесь, что все виртуальные ресурсы для сайта находятся в одной группе ресурсов Azure.
В зависимости от требований вашей организации, вы можете назначить VNET одной группе ресурсов, а другие виртуальные ресурсы другой группе ресурсов.
При необходимости создайте набор доступности для VM vSocket.
Используйте одни и те же подсети для первичного и вторичного vSocket.
Создайте новые виртуальные интерфейсы для каждой подсети.
Убедитесь, что и основной, и вторичный vSocket имеют подключение к Cato Cloud.
Запустите скрипт Cato Azure vSocket:
Выберите ресурсы для вторичного vSocket.
Используйте серийный номер для вторичного vSocket в Azure, который был сгенерирован приложением управления Cato.
Подробнее о установке сокета в Azure см. Развертывание Azure vSockets из Marketplace.
Использование различных групп ресурсов для VNET и VM
Скрипт Cato HA (create_ha_settings.sh) позволяет вам назначить VNET одной группе ресурсов и использовать другую группу ресурсов для других виртуальных ресурсов (NIC, vSocket, контейнер хранения, таблицы маршрутов и т.д.). Во время выполнения скрипта Cato HA будут заданы отдельные вопросы о назначении группы ресурсов VNET и группы ресурсов VM.
Если используется одна и та же группа ресурсов для VNET и виртуальных машин, убедитесь, что выбрали ту же группу ресурсов для обоих параметров в скрипте Cato HA.
Заметка:
Убедитесь, что VHD-образ находится в контейнере хранения, который находится в группе ресурсов VM.
Запуск скрипта высокой доступности Cato
После развертывания вторичного vSocket в VNet, оба vSocket получают роль Главного (split-brain). Запустите скрипт Cato HA create_ha_settings.sh, чтобы применить конфигурацию HA к vSocket. Для получения дополнительной информации о загрузке файла со скриптом Cato HA, см. Изображения файлов Socket и vSocket (требуется войти в систему для просмотра этой статьи).
Скрипт HA Cato создаёт управляемую идентичность, которая затем назначается в роли участника VM (оба члена HA). Кроме того, скрипт Cato HA создает два пользовательских скрипта, по одному для каждого участника группы HA, которые создают конфигурационный файл со всей информацией, необходимой для ВМ в случае переключения. Это включает в себя идентификаторы подписки для имеющих доступ к Сетевым Интерфейсам, местоположение ВМ и многое другое.
Важно:
Важно: прежде чем запускать скрипт Cato HA:
Основной и вторичный vSocket должны иметь подключение к Cato Cloud
Убедитесь, что у вас есть правильные разрешения администратора Azure, смотрите выше Установка разрешений администратора для настройки высокой доступности
Чтобы запустить скрипт Cato HA:
В разделе Высокая доступность подтвердите, что основной и вторичный vSocket имеют подключение к Cato Cloud:
Статус Подключение к Cato Cloud для каждого vSocket показывает Подключено
Смотрите ниже, Показ статуса высокой доступности в приложении управления Cato
Запустите скрипт Cato HA create_ha_settings.sh, чтобы применить конфигурацию HA к vSocket.
Перезапустите ВМ с основным и вторичным vSocket.
Обновите соответствующие записи таблицы маршрутизации в Azure, чтобы использовать Плавающий IP как следующий переход.
Подтверждение статуса высокой доступности vSockets в Azure
После успешного запуска скрипта HA, убедитесь, что vSocket правильно настроены для функциональности HA:
Проверьте статус HA в разделе Высокая доступность
Из веб-интерфейса сокета, пинг Плавающий IP и тестирование вызовов HA API
Для помощи с проблемами, связанными с развертыванием конфигурации HA, см. Устранение неполадок развертывания HA в Azure.
Отображение статуса высокой доступности в приложении управления Cato
Раздел Высокая доступность для сайта показывает статус HA для vSocket. После развертывания вторичного vSocket, он автоматически подключается к сайту.
Для подтверждения статуса высокой доступности для сайта:
В навигационном меню приложения управления Cato щелкните Сеть > Сайты.
В навигационном меню нажмите Мониторинг сайта > Сетевая аналитика.
С верхней части страницы проверьте статус следующих элементов:
Статус равен Подключено
Статус HA равен Готово
Главный равен Основной
Сокет равен vSocket Azure

Подробнее о поведении HA и отказоустойчивости смотрите в статье Высокая доступность сокетов (HA): общий фон и условия отказоустойчивости.
Тестирование высокой доступности через WebUI сокета
Вы можете использовать Сетевые инструменты в веб-интерфейсе сокета для тестирования функциональности HA для vSocket. Вы можете пинговать плавающий IP для конфигурации HA, чтобы убедиться, что она настроена правильно. Раздел Высокая доступность показывает Плавающий IP-адрес LAN. Необходимо запустить тест как для основного, так и для вторичного vSocket.
vSocket выполняет API-вызов к прокси Azure API, чтобы проверить, что настройки роли и идентификации были правильно настроены скриптом HA. Он также проверяет, что vSocket может успешно связаться с прокси API.
Для получения дополнительной информации о использовании веб-интерфейса сокета см. доступ к веб-интерфейсу сокета.
Чтобы протестировать конфигурацию HA Azure:
Из меню навигации выберите Настройки сайта > Socket.
Из выпадающего меню Действия для Основного vSocket выберите Веб-интерфейс сокета.
Веб-интерфейс сокета открывается в новой вкладке.
Нажмите на вкладку Инструменты.
В разделе Сетевые инструменты нажмите на вкладку Пинг.
Пинг Плавающий IP:
В Маршрут через выберите LAN1.
В Имя хоста/IP введите Плавающий IP.
Нажмите Запустить. В окне отображается, успешен ли пинг или нет.
В разделе Сетевые инструменты нажмите вкладку Инструмент Тестирования API.
Нажмите Запустить тест. В окне отображается, успешен ли тест API HA или нет.
Повторите шаги 2-7 для вторичного vSocket.
Устранение неполадок с неудачным тестом API Azure
Если тест API Azure проваливается, отображается сообщение об ошибке, чтобы помочь вам устранить проблему.
Сообщение об ошибке теста API | Предлагаемые шаги по устранению неполадок |
|---|---|
Тест API Azure провалился — невозможно пройти аутентификацию на прокси API. Убедитесь, что настройки Контроль доступа Azure (IAM) корректны. | У администратора Azure недостаточно разрешений для внесения изменений в виртуальные ресурсы. Смотрите выше, Установка разрешений администратора для настройки высокой доступности. |
Тест API Azure провалился. Проверьте, что настройки NIC на экземпляре VM vSocket правильные. |
|
Работа с сегментами сети для сайтов высокой доступности Azure
Этот раздел объясняет, как использовать раздел Сети для управления сетевыми сегментами для сайта Azure ВРО.
Обзор сегментов сети высокой доступности Azure в приложении управления Cato
Когда вы добавляете вторичный vSocket в Приложение Управления Cato, сетевые сегменты в разделе Сети автоматически обновляются для включения настроек для Плавающего IP. Плавающий IP заменяет Локальный IP-адрес для Собственного диапазона для сайта.
Добавление маршрутизируемых диапазонов (статические маршруты)
Вы можете добавить Маршрутизируемые диапазоны к сайту Azure ВРО так же, как и для физического сайта Socket.
IP-адрес для маршрутизатора Azure по умолчанию (маршрутизатор VNet) - это первый IP-адрес хоста подсети Собственного диапазона
Если вы используете стороннюю виртуальную утилиту (например, файервол) в вашей среде Azure, убедитесь, что IP-адрес находится в пределах Собственного диапазона для сайта
Вы можете настроить Плавающий IP-адрес в Приложении Управления Cato в разделе Настройки Сайта > Сокеты > Конфигурация Высокой Доступности для сайта
Управление высокой доступностью в Azure
Этот раздел объясняет, как управлять ВРО для сайта Azure:
Отобразите статус HA для каждого vSocket
Изменить Плавающий IP для сайта
Измените IP-адреса управления для vSockets
Отключите HA для сайта и удалите вторичный vSocket
Показ информации о высокой доступности и статусе
Страница Сеть > Сайты > Сокет для сайта показывает статус HA для основного и вторичного vSocket.
Элемент | Описание |
|---|---|
Статус HA | Статус высокой доступности для площадки (Готово или Не готово), показывает Готово только когда каждый индикатор статуса HA в порядке |
Подключено (индикатор состояния) | Статус |
Keepalive (индикатор состояния) | Статус |
Та же версия (индикатор состояния) | Статус |
Изменение настроек IP для сайта
Если вы изменяете настройки IP-адресов для vSockets в Azure, необходимо обновить те же настройки в Приложении Управления Cato. Вот те настройки, которые вы можете конфигурировать:
Собственный диапазон подсети - Используйте раздел Сети для сайта
Плавающий IP - Используйте раздел Сети или Высокая Доступность для сайта (новое значение автоматически обновляется в другом разделе)
IP управление - Используйте раздел Высокая доступность для сайта
Изменение собственного диапазона подсети
Используйте раздел Сети для изменения собственного диапазона подсети.
Чтобы изменить собственный диапазон подсети для сайта:
Из меню навигации нажмите Сеть > Сайты и выберите сайт Azure.
Из меню навигации выберите Конфигурация сайта > Сети.
Редактируйте Собственный диапазон, введите новое значение для Подсети.
Кликните Применить. Панель Редактировать диапазон IP закрывается.
Кликните Сохранить.
Изменение плавающего IP и IP-адреса управления
Используйте раздел Высокая Доступность для изменения Плавающего IP и Управляющего IP. Вы также можете изменить Плавающий IP в разделе Сети.
Чтобы изменить Плавающий или Управляющий IP для сайта:
Из меню навигации нажмите Сеть > Сайты и выберите сайт Azure.
В меню навигации нажмите Настройка сайта > Сокет.
Разверните раздел Конфигурации высокой доступности.
Введите новый Основной IP управления.
Введите новый Вторичный IP управления.
Введите новый Плавающий IP-адрес LAN.
Нажмите Save.
Отключение высокой доступности для сайта Azure
Вы можете удалить вторичный vSocket с сайта Azure и отключить HA для этого сайта. После удаления вторичного vSocket из приложения управления Cato, развернутый vSocket больше не сможет подключиться к Cato Cloud. Настройки сайта восстанавливаются к конфигурации для одного vSocket:
Раздел Высокая доступность отключен и больше не показывается на странице.
В разделе Сети локальный IP заменяет Плавающий IP
Заметка:
Примечание: Вы не можете отменить действие Отвязать сокет. Серийный номер для вторичного vSocket больше не действителен.
Если вы хотите добавить вторичный vSocket снова, вам необходимо установить новый vSocket на ВМ с новым серийным номером.
Чтобы отключить HA для сайта Azure:
Из меню навигации нажмите Сеть > Сайты и выберите сайт Azure.
В меню навигации нажмите Настройка сайта > Сокет.
От Действия меню Вторичный vSocket, нажмите Отвязать сокет.
В окне Предупреждение нажмите ОК. HA отключена для сайта, и вторичный vSocket удален из него.
Анализ событий высокой доступности
Страница событий показывает все события подключения HA для вашей учётной записи.
Объяснение полей событий высокой доступности
Поля и события одинаковы для Сокет HA и для vSocket HA. Это события HA:
Поле | Описание |
|---|---|
Роль сокета | Показывает, было ли событие сгенерировано основным или вторичным vSocket |
Подтип события - отказ сокета | Процесс переключения начат для сайта |
Для получения дополнительной информации о событиях, которые генерируются в рамках процесса отказа, см. События отказа Socket HA.