Эта статья объясняет, как настроить сайт с двумя vSocket для обеспечения высокой доступности (HA) в облаке Microsoft Azure.
Для обеспечения резервирования vSocket на сайте Azure разверните два vSocket в одной виртуальной сети Azure (VNet) и настройте их для работы в конфигурации высокой доступности. Сокеты работают в активном/пассивном режиме, и ссылки LAN используются для отправки keepalive-сообщений между сокетами.
Конфигурация HA в Azure использует плавающий IP-адрес, который привязан к LAN-интерфейсу активного сокета. При аварийном переключении плавающий IP перемещается на вторичный LAN интерфейс vSocket. Таблицы маршрутизации используют этот плавающий IP как следующий переход для трафика, который отправляется через Cato Cloud.
HA Azure поддерживает несколько зон доступности. Кроме того, вы можете использовать наборы доступности, чтобы убедиться, что оба vSocket развернуты в разных доменах отказа и обновления в 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-интерфейс в интернет.
Это рабочий процесс, когда основной активный 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 поддерживается для 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, то вы должны иметь разрешения владельца для обеих групп ресурсов
Вы можете выбрать назначение каждой VM другой Зоне Доступности Azure как часть сценария конфигурации HA, чтобы защитить ваши Приложения и Данные от сбоев в Дата-Центрах Azure. Создайте зоны доступности до запуска сценария HA.
Вы не можете назначать VM различным зонам доступности, использующим разные наборы доступности.
Примечание
Примечание: Azure поддерживает только стандартные SKU публичные IP-адреса для зон доступности (и других зональных избыточных конфигураций). Перед развертыванием конфигурации vSocket HA убедитесь, что вы настроили правильный SKU для IP-адресов.
Следующая схема сети показывает пример конфигурации HA vSocket с различными зонами доступности для сайта Azure.
-
Для версий Socket старше v14.0 основной LAN IP vSocket используется для BGP соединения. Это не сохраняется при переключении на вторичный vSocket.
-
Начиная с версии v14.0, в конфигурациях HA vSocket для BGP соединения используется плавающий IP. Убедитесь, что в соседнем маршрутизаторе BGP определён плавающий IP.
По причинам, связанным с инфраструктурой Azure, обновление конфигурации сетевого интерфейса может занять до 120 секунд и может вызвать задержку в переключении HA.
-
-
Для существующих конфигураций, чтобы назначить VM зоне доступности, необходимо создать новые VM и повторно развернуть сокеты (см. Развертывание Azure vSockets из Marketplace)
Разверните 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.
Выполните следующие шаги, чтобы развернуть основной vSocket на VM. Для существующих площадок Azure обновите основной vSocket до версии 11.0 или выше. Если вы хотите назначить сокет группе доступности, смотрите ниже Назначение сокетов VM группе доступности (необязательно).
Затем продолжайте ниже с Добавление вторичного сокета на сайты Azure.
Чтобы развернуть основной vSocket для нового сайта:
-
Добавьте новую площадку Azure в Приложение Управления Cato.
-
Установите основной vSocket на VM.
-
Помните, что необходимо использовать ту же группу ресурсов для обеих VM vSocket.
-
При необходимости создайте набор доступности для VM vSocket.
Подробнее о установке сокета в Azure см. Развертывание Azure vSockets из Marketplace.
-
Сценарий vSocket (create_vm_from_vhd.sh) позволяет назначить vSocket набору доступности. Эта опция в основном используется в конфигурации HA vSocket, когда вы хотите убедиться, что оба vSocket назначены разным доменам сбоя и обновления. Вы должны создать набор доступности ПЕРЕД выполнением сценария CatovSocket.
Примечание
Примечания:
-
Azure не позволяет назначить VM набору доступности после ее создания
-
Вы не можете назначить набор доступности VM, которые используют разные зоны доступности
Создайте новый набор доступности и настройте параметры следующим образом:
-
Назначьте его той же группе ресурсов, что и VM
-
Установите домен сбоя и домен обновления в 2
На следующем скриншоте показан пример набора доступности vSocket:
После того как приложение управления Cato обнаруживает обновление основного сокета до версии 11.0 или выше, опция Добавить вторичный сокет отображается на странице Сети > Площадки > Конфигурация сайта > Сокет.
Когда вы добавляете вторичный vSocket на площадку, открывается всплывающее окно, в котором вы вводите следующие настройки:
-
IP-адрес интерфейса LAN - IP-адрес для LAN интерфейса вторичного vSocket
-
Плавающий IP-адрес LAN - IP-адрес для Плавающего IP, который используется для конфигурации Azure HA
Приложение Управления Cato использует IP-адрес интерфейса LAN в качестве управляемого IP-адреса для вторичного vSocket. Этот интерфейс LAN также используется для пакетов поддержания активного соединения 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-адреса настроены и скопированы в раздел Сокет > Конфигурации высокой доступности.
-
Нажмите Сохранить.
-
Скопируйте и сохраните серийный номер (S/N) для Вторичного vSocket.
Используйте этот S/N при установке вторичного vSocket на виртуальную машину.
Создайте и разверните вторичный vSocket в том же Azure VNet, что и основной vSocket.
-
Убедитесь, что все виртуальные ресурсы для сайта находятся в одной группе ресурсов Azure.
-
В зависимости от требований вашей организации, вы можете назначить VNET одной группе ресурсов, а другие виртуальные ресурсы другой группе ресурсов.
-
При необходимости создайте Набор Доступности для виртуальных машин vSocket.
-
-
Используйте одни и те же подсети для первичного и вторичного vSocket.
-
Создайте новые виртуальные интерфейсы для каждой подсети.
-
Убедитесь, что как первичный, так и вторичный vSocket имеют подключение к облаку Cato.
-
Запустите скрипт Cato Azure vSocket:
-
Выберите ресурсы для вторичного vSocket.
-
Используйте серийный номер для вторичного vSocket в Azure, который был сгенерирован приложением управления Cato.
-
Подробнее о установке сокета в Azure см. Развертывание Azure vSockets из Marketplace.
Скрипт Cato HA (create_ha_settings.sh) позволяет вам назначить VNET одной группе ресурсов и использовать другую группу ресурсов для других виртуальных ресурсов (NIC, vSocket, контейнер хранения, таблицы маршрутов и т.д.). Во время выполнения скрипта Cato HA будут заданы отдельные вопросы о назначении группы ресурсов VNET и группы ресурсов VM.
Если используется одна и та же группа ресурсов для VNET и виртуальных машин, убедитесь, что выбрали ту же группу ресурсов для обоих параметров в скрипте Cato HA.
Примечание
Примечание: Убедитесь, что VHD-образ находится в контейнере хранения, который находится в группе ресурсов VM.
После развертывания вторичного 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 как следующий переход.
После успешного запуска скрипта HA, убедитесь, что vSocket правильно настроены для функциональности HA:
-
Проверьте статус HA в разделе Высокая доступность
-
Из веб-интерфейса сокета, пинг Плавающий IP и тестирование вызовов HA API
Для помощи с проблемами, связанными с развертыванием конфигурации HA, см. Устранение неполадок развертывания HA в Azure.
Раздел Высокая доступность для сайта показывает статус HA для vSocket. После развертывания вторичного vSocket, он автоматически подключается к сайту.
Для подтверждения статуса высокой доступности для сайта:
-
В навигационном меню приложения управления Cato нажмите Сеть > Сайты.
-
В навигационном меню нажмите Мониторинг сайта > Сетевая аналитика.
-
С верхней части страницы проверьте статус следующих элементов:
-
Статус равен Подключено
-
Статус HA равен Готово
-
Главный равен Основной
-
Сокет равен vSocket Azure
-
Подробнее о поведении HA и отказоустойчивости смотрите в статье Высокая доступность сокетов (HA): общий фон и условия отказоустойчивости.
Вы можете использовать Сетевые инструменты в веб-интерфейсе сокета для тестирования функциональности HA для vSocket. Вы можете пинговать плавающий IP для конфигурации HA, чтобы убедиться, что она настроена правильно. Раздел Высокая доступность показывает Плавающий IP-адрес LAN. Необходимо запустить тест как для основного, так и для вторичного vSocket.
vSocket выполняет API-вызов к прокси Azure API, чтобы проверить, что настройки роли и идентификации были правильно настроены скриптом HA. Он также проверяет, что vSocket может успешно связаться с прокси API.
Для получения дополнительной информации о использовании веб-интерфейса сокета см. доступ к веб-интерфейсу сокета.
Чтобы протестировать конфигурацию HA Azure:
-
Из меню навигации выберите Настройки Сайта > Сокет.
-
Из выпадающего меню Действия для Основного vSocket выберите Веб-интерфейс сокета.
Веб-интерфейс сокета открывается в новой вкладке.
-
Нажмите на вкладку Инструменты.
-
В разделе Сетевые инструменты нажмите на вкладку Пинг.
-
Пинг Плавающий IP:
-
В Маршрут через выберите LAN1.
-
В Имя хоста/IP введите Плавающий IP.
-
Нажмите Запустить. В окне отображается, успешен ли пинг или нет.
-
-
В разделе Сетевые инструменты нажмите вкладку Инструмент Тестирования API.
-
Нажмите Запустить тест. В окне отображается, успешен ли тест API HA или нет.
-
Повторите шаги 2-7 для вторичного vSocket.
Если тест API Azure проваливается, отображается сообщение об ошибке, чтобы помочь вам устранить проблему.
|
Сообщение об ошибке теста API |
Предлагаемые шаги по устранению неполадок |
|---|---|
|
Тест API Azure провалился — невозможно пройти аутентификацию на прокси API. Убедитесь, что настройки Контроль доступа Azure (IAM) корректны. |
У администратора Azure недостаточно разрешений для внесения изменений в виртуальные ресурсы. Смотрите выше, Установка разрешений администратора для настройки высокой доступности. |
|
Тест API Azure провалился. Проверьте, что настройки NIC на экземпляре VM vSocket правильные. |
|
Этот раздел объясняет, как использовать раздел Сети для управления сетевыми сегментами для сайта Azure ВРО.
Когда вы добавляете вторичный vSocket в Приложение Управления Cato, сетевые сегменты в разделе Сети автоматически обновляются для включения настроек для Плавающего IP. Плавающий IP заменяет Локальный IP-адрес для Собственного диапазона для сайта.
Вы можете добавить Маршрутизируемые диапазоны к сайту Azure ВРО так же, как и для физического сайта Socket.
-
IP-адрес для маршрутизатора Azure по умолчанию (маршрутизатор VNet) - это первый IP-адрес хоста подсети Собственного диапазона
-
Если вы используете стороннюю виртуальную утилиту (например, файервол) в вашей среде Azure, убедитесь, что IP-адрес находится в пределах Собственного диапазона для сайта
-
Вы можете настроить Плавающий IP-адрес в Приложении Управления Cato в разделе Настройки Сайта > Сокеты > Конфигурация Высокой Доступности для сайта
Этот раздел объясняет, как управлять ВРО для сайта Azure:
-
Показать Статус HA для каждого vSocket
-
Изменить Плавающий IP для сайта
-
Изменить IP-адреса управления для vSockets
-
Отключить ВРО для сайта и удалить вторичный vSocket
Страница Сети > Площадки > Сокет для сайта отображает статус HA для основного и вторичного сокета.
|
Элемент |
Описание |
|---|---|
|
Статус HA |
Статус высокой доступности для площадки (Готово или Не готово), показывает Готово только когда каждый индикатор статуса HA в порядке |
|
Подключено (индикатор статуса) |
Статус |
|
Keepalive (индикатор статуса) |
Статус |
|
Та же версия (индикатор статуса) |
Статус |
Если вы изменяете настройки IP-адресов для vSockets в Azure, необходимо обновить те же настройки в Приложении Управления Cato. Это настройки, которые вы можете настроить:
-
Подсеть Собственного диапазона - Используйте раздел Сети для сайта
-
Плавающий IP - Используйте раздел Сети или Высокая Доступность для сайта (новое значение автоматически обновляется в другом разделе)
-
IP-адрес Управления - Используйте раздел Высокая Доступность для сайта
Используйте раздел Сети для изменения Подсети Собственного Диапазона.
Чтобы изменить Подсеть Собственного Диапазона для сайта:
-
Из меню навигации нажмите Сеть > Сайты и выберите сайт Azure.
-
Из меню навигации выберите Настройки Сайта > Сети.
-
Редактировать диапазон Собственного, введите новое значение для Подсети.
-
Нажмите Применить. Панель Редактировать диапазон IP закрывается.
-
Нажмите Сохранить.
Используйте раздел Высокая Доступность для изменения Плавающего IP и Управляющего IP. Вы также можете изменить Плавающий IP в разделе Сети.
Чтобы изменить Плавающий или Управляющий IP для сайта:
-
В меню навигации нажмите Сеть > Сайты и выберите сайт Azure.
-
В меню навигации нажмите Настройки Сайта > Сокет.
-
Раскройте раздел Конфигурации Высокой Доступности.
-
Введите новый Основной IP-адрес управления.
-
Введите новый Вторичный IP-адрес управления.
-
Введите новый Плавающий IP-адрес LAN.
-
Нажмите Сохранить.
Вы можете удалить вторичный vSocket с сайта Azure и отключить HA для этого сайта. После удаления вторичного vSocket из Приложения Управления Cato развернутый vSocket больше не может подключаться к Cato Cloud. Настройки сайта восстанавливаются до конфигурации для одного vSocket:
-
Раздел Высокая доступность отключен и больше не отображается на странице
-
В разделе Сети локальный IP заменяет Плавающий IP
Примечание
Примечание: Вы не можете отменить действие Отвязать Сокет. Серийный номер вторичного vSocket больше не действителен.
Если вы хотите добавить вторичный vSocket снова, вы должны установить новый vSocket на VM с новым серийным номером.
Чтобы отключить HA для сайта Azure:
-
В меню навигации нажмите Сеть > Сайты и выберите сайт Azure.
-
В меню навигации нажмите Настройки Сайта > Сокет.
-
Из меню Действия Вторичного vSocket нажмите Отменить назначение.
-
В окне предупреждения нажмите ОК. Для сайта HA отключено, и вторичный vSocket удаляется из него.
Страница событий показывает все события подключения HA для вашей учётной записи.
Поля и события одинаковы для Сокет HA и для vSocket HA. Это события HA:
|
Поля |
Описание |
|---|---|
|
Роль сокета |
Показывает, было ли событие сгенерировано основным или вторичным vSocket |
|
Подтип события - отказ сокета |
Процесс переключения начат для сайта |
Для получения дополнительной информации о событиях, которые генерируются в рамках процесса отказа, см. События отказа Socket HA.
0 комментариев
Войдите в службу, чтобы оставить комментарий.