Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сводка
В этой статье объясняется, как устранять неполадки, когда виртуальные машины в серверном пуле Azure Load Balancer работоспособны в соответствии с пробами работоспособности подсистемы балансировки нагрузки, но не отвечают на трафик на настроенный порт данных. Он содержит рекомендации по выявлению распространенных причин, таких как неправильно настроенные порты, правила группы безопасности сети или другие проблемы с подключением, которые препятствуют получению или реагированию на трафик с балансировкой нагрузки.
Если серверная виртуальная машина пула указана как работоспособная и отвечает на пробы работоспособности, но по-прежнему не участвует в балансировке нагрузки или не отвечает на трафик данных, это может быть вызвано любой из следующих причин:
Причина 1. Виртуальная машина в пуле серверов для балансировщика нагрузки не обрабатывает запросы на дата-порт
Если виртуальная машина не отвечает на трафик данных, это может быть связано с тем, что целевой порт не открыт на участвующих виртуальных машинах или виртуальная машина не прослушивает этот порт.
Solution
Чтобы устранить эту проблему, выполните следующие действия.
Войдите на серверную виртуальную машину.
Откройте командную строку и выполните следующую команду, чтобы проверить, есть ли приложение, прослушивающее порт данных:
netstat -anЕсли порт не указан в состоянии ПРОСЛУШИВАНИЯ, настройте соответствующий порт прослушивателя в приложении, работающем на виртуальной машине, чтобы он прослушивал порт, в который подсистема балансировки нагрузки отправляет трафик.
Если порт помечается как СЛУШАЮЩИЙ, проверьте целевое приложение на этом порту на наличие возможных проблем.
Причина 2. Группа безопасности сети блокирует порт на виртуальной машине серверного пула подсистемы балансировки нагрузки
Если одна или несколько групп безопасности сети, настроенных в подсети или на виртуальной машине, блокируют исходный IP-адрес или порт, виртуальная машина не может отвечать.
Solution
Для общедоступной подсистемы балансировки нагрузки IP-адрес интернет-клиентов используется для обмена данными между клиентами и внутренними виртуальными машинами подсистемы балансировки нагрузки. Убедитесь, что IP-адрес клиентов разрешен в группе безопасности сети серверной виртуальной машины.
Выполните следующие действия.
Список групп безопасности сети, настроенных на серверной виртуальной машине. Дополнительные сведения см. в разделе "Управление группами безопасности сети"
В списке групп безопасности сети проверьте,:
Входящий или исходящий трафик на порту данных имеет помехи.
Правило группы безопасности сети «Запретить все» на сетевом адаптере виртуальной машины или подсети, которое имеет более высокий приоритет, чем правило по умолчанию, разрешающее запросы и трафик балансировщика нагрузки. Группы безопасности сети должны разрешать IP-адрес системы балансировки нагрузки 168.63.129.16, так как это проверочный порт.
Если какой-либо из правил блокирует трафик, удалите и перенастроите эти правила, чтобы разрешить трафик данных.
Проверьте, сможет ли виртуальная машина реагировать на пробы работоспособности.
Причина 3. Порт данных обращается к балансировщику нагрузки из той же виртуальной машины (VM) и сетевого интерфейса (NIC).
Если приложение, размещенное на серверной виртуальной машине внутреннего подсистемы балансировки нагрузки, пытается получить доступ к другому приложению, размещенному в той же серверной виртуальной машине через тот же сетевой интерфейс, это неподдерживаемый сценарий и завершится ошибкой.
Solution
Эту проблему можно устранить с помощью одного из следующих методов:
Настройте отдельные виртуальные машины внутреннего пула для каждого приложения. Это гарантирует, что у каждого приложения есть собственная виртуальная машина и сетевой интерфейс, избегая неподдерживаемого сценария виртуальной машины, пытающегося получить доступ к другому приложению на одном сетевом адаптере через подсистему балансировки нагрузки.
Настройте приложение на двух виртуальных машинах сетевого адаптера, чтобы каждое приложение использовало собственный сетевой адаптер и IP-адрес.
Причина 4. Порт данных обращается к интерфейсу подсистемы балансировки нагрузки Интернета из виртуальной машины внутреннего пула подсистемы балансировки нагрузки.
Если внутренняя подсистема балансировки нагрузки настроена внутри виртуальной сети, а одна из внутренних виртуальных машин участника пытается получить доступ к интерфейсу внутреннего подсистемы балансировки нагрузки, при сопоставлении потока с исходной виртуальной машиной могут возникнуть сбои. Этот сценарий не поддерживается.
Внутренние балансировщики нагрузки не переводят исходящие подключения на передний конец внутреннего балансировщика нагрузки, поскольку они оба находятся в частном IP-пространстве. Общедоступные подсистемы балансировки нагрузки предоставляют исходящие подключения из частных IP-адресов в виртуальной сети к общедоступным IP-адресам. Для внутренних подсистем балансировки нагрузки этот подход позволяет избежать потенциального исчерпания портов SNAT в уникальном внутреннем пространстве IP-адресов, где перевод не требуется.
Это означает, что если исходящий поток из виртуальной машины в серверном пуле инициирует поток на внутренний балансировщик нагрузки в своем пуле, и поток возвращается к исходной ВМ, два сегмента потока не совпадают. Так как они не соответствуют, поток терпит сбой. Поток проходит успешно, если поток не связывается с той же виртуальной машиной в пуле серверов, который создал поток с фронтендом.
Когда поток возвращается к самому себе, исходящий поток, как представляется, исходит от виртуальной машины к фронтенду, и соответствующий поток входящего трафика, как представляется, исходит от виртуальной машины к самой себе. С точки зрения гостевой операционной системы входящие и исходящие части одного потока не совпадают внутри виртуальной машины. Стек TCP не распознает эти половины как части одного и того же потока. Источник и назначение не совпадают. Когда поток сопоставляется с любой другой виртуальной машиной в серверном пуле, половины потока соответствуют и виртуальная машина может реагировать на поток.
Симптом этого сценария — периодические тайм-ауты подключения, когда поток возвращается в ту же серверную часть, инициировавшую его. Хотя для устранения этой проблемы можно использовать общедоступную подсистему балансировки нагрузки, результирующий сценарий подвержен исчерпанию SNAT. Избегайте второго подхода, если он не управляется тщательно.
Solution
Существует несколько способов разблокировать этот сценарий, включая использование прокси-сервера. Оцените шлюз приложений или другие сторонние прокси-серверы (например, nginx или haproxy). Дополнительные сведения о шлюзе приложений см. в разделе "Обзор шлюза приложений".
Примечание.
Это связано с тем, что существующие TCP-подключения будут продолжать работать на виртуальной машине даже после удаления серверной части из подсистемы балансировки нагрузки. После маршрутизации подключения в серверный экземпляр подсистемой балансировки нагрузки трафик устанавливается непосредственно между клиентом и серверным экземпляром. Подключения будут поддерживаться, пока виртуальная машина не остановлена или не освобождена.