Устранение проблем с подключением к приложениям на виртуальных машинах в Azure
Область применения: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows
Если вам не удалось запустить приложение, выполняющееся в виртуальной машине Azure, или подключиться к нему, это может быть обусловлено разными причинами. Возможно, приложение не работает или не прослушивает ожидаемые порты, прослушивающий порт заблокирован или сетевые правила неправильно передают трафик в приложение. В этой статье описываются методы поиска и устранения неисправностей.
Если у вас возникают проблемы при подключении к виртуальной машине по протоколу RDP или SSH, сначала ознакомьтесь с одной из следующих статей:
- Устранение неполадок с подключением к удаленному рабочему столу виртуальной машины Windows в службе Azure
- Устранение неполадок с подключением Secure Shell (SSH) к виртуальной машине Azure под управлением Linux
Если вам потребуется дополнительная помощь по любому из вопросов, рассматриваемых в статье, вы можете обратиться к экспертам по Azure на форумах MSDN Azure и Stack Overflow. Кроме того, можно зарегистрировать обращение в службу поддержки Azure. Перейдите на сайт поддержки Azure и щелкните Получить поддержку.
Действия по устранению неполадок
Если у вас возникают проблемы с подключением к приложению, попробуйте выполнить приведенные ниже шаги по их устранению. После каждого шага попробуйте подключиться к приложению еще раз.
- Перезапустите виртуальную машину.
- Повторно создайте конечную точку, правила брандмауэра или правила группы безопасности сети (NSG)
- Подключитесь из другого расположения, например из другой виртуальной сети Azure.
- Повторное развертывание виртуальной машины
- Повторно создайте виртуальную машину.
Дополнительные сведения см. в статье Устранение неполадок подключения к конечной точке (сбои RDP, SSH, HTTP и другие сбои).
Подробный обзор устранения неисправностей
Существуют четыре основных области для устранения неполадок доступа к приложению, которое выполняется в виртуальной машине Azure.
- Приложение, которое выполняется в виртуальной машине Azure.
- Приложение работает правильно?
- Виртуальная машина Azure
- Виртуальная машина работает правильно и отвечает на запросы?
- Конечные точки сети Azure.
- Конечные точки облачной службы для виртуальных машин в классической модели развертывания.
- Группы безопасности сети и правила преобразования сетевых адресов для входящих подключений для виртуальных машин в модели развертывания Resource Manager.
- Может ли трафик передаваться от пользователей к виртуальной машине и приложению на ожидаемых портах?
- Пограничное устройство Интернета.
- Нет ли правил брандмауэра, которые препятствуют правильной передаче трафика?
Для клиентских компьютеров, которые получают доступ к приложению через подключение VPN типа «сеть-сеть» или ExpressRoute, проблемы в первую очередь могут возникать из-за приложения и виртуальной машины Azure.
Чтобы определить источник проблемы и исправить ее, выполните приведенные ниже действия.
Шаг 1. Доступ к приложению с целевой виртуальной машины
Попробуйте обратиться к приложению с помощью соответствующей клиентской программы из виртуальной машины, на которой оно работает. Используйте имя локального узла, локальный IP-адрес или петлевой адрес (127.0.0.1).
Например, если приложение является веб-сервером, откройте браузер на виртуальной машине и попытайтесь перейти к веб-странице, размещенной на виртуальной машине.
Если доступ к приложению есть, перейдите к шагу 2.
Если доступ к приложению получить не удается, проверьте следующие настройки.
- Приложение выполняется в целевой виртуальной машине.
- Приложение прослушивает ожидаемые порты TCP и UDP.
В виртуальных машин на основе Windows и Linux используйте команду netstat -a , чтобы отобразить активные порты прослушивания. Изучите выходные данные для ожидаемых портов, которые должно прослушивать приложение. При необходимости перезапустите приложение или настройте его для использования ожидаемых портов и попытайтесь снова получить доступ к приложению локально.
Шаг 2. Доступ к приложению с другой виртуальной машины в той же виртуальной сети
Попробуйте обратиться к приложению из другой виртуальной машины в той же виртуальной сети, используя имя узла виртуальной машины или ее назначенный в Azure общедоступный, частный или предоставленный поставщиком интернет-услуг IP-адрес. Для виртуальных машин, созданных с помощью классической модели развертывания, не используйте общедоступный IP-адрес облачной службы.
Например, если приложение является веб-сервером, попробуйте обратиться к веб-странице из браузера в другой виртуальной машине из той же виртуальной сети.
Если у вас есть доступ к приложению, перейдите к шагу 3.
Если доступ к приложению получить не удается, проверьте следующие настройки.
- Брандмауэр узла в целевой виртуальной машине пропускает трафик входящих запросов и исходящих ответов.
- Программы для обнаружения вторжений или мониторинга сети, работающие в целевой виртуальной машине, разрешают прохождение сетевого трафика.
- Облачные службы конечные точки или группы безопасности сети разрешают трафик:
- Отдельный компонент, выполняющийся в виртуальной сети на пути между тестовой виртуальной машиной и вашей виртуальной машиной, такой, как, например, подсистема балансировки нагрузки или брандмауэр, разрешает прохождение трафика.
На виртуальной машине под управлением Windows используйте брандмауэр Windows в режиме повышенной безопасности для определения того, исключают ли правила брандмауэра входящий и исходящий трафик вашего приложения.
Шаг 3. Доступ к приложению из-за пределов виртуальной сети
Попытайтесь обратиться к приложению с компьютера за пределами виртуальной сети, где находится виртуальная машина, в которой выполняется приложение, но не из сети исходного клиентского компьютера.
Например, если приложение является веб-сервером, попробуйте получить доступ к веб-странице из браузера на компьютере, который находится не в виртуальной сети.
Если доступ к приложению получить не удается, проверьте следующие настройки.
Для виртуальных машин, созданных с использованием классической модели развертывания:
- Убедитесь, что конфигурация конечной точки для виртуальной машины разрешает входящий трафик, в частности протокол (TCP или UDP), а также номера общедоступных и частных портов.
- Убедитесь, что списки управления доступом (ACL) для конечной точки не блокируют входящий трафик из Интернета.
- Дополнительные сведения см. в статье Настройка конечных точек виртуальной машины.
Для виртуальных машин, созданных с использованием модели развертывания с помощью Resource Manager:
- Убедитесь, что конфигурация правила NAT для входящего трафика для виртуальной машины разрешает входящий трафик, в частности протокол (TCP или UDP), а также номера общедоступных и частных портов.
- Убедитесь, что группы безопасности сети разрешают трафик входящих запросов и исходящих ответов.
- Дополнительные сведения см. в статье Безопасность сети.
Если виртуальная машина или конечная точка входит в комплект балансировки нагрузки, сделайте следующее.
- Проверьте правильность протокола зонда (TCP или UDP) и номера порта.
- Если протокол пробы и порт отличаются от протокола и порта с балансировкой нагрузки:
- Проверьте, прослушивает ли приложение протокол пробы (TCP или UDP) и порт с этим номером (используйте netstat -a на целевой виртуальной машине).
- Убедитесь, что брандмауэр узла на целевой виртуальной машине разрешает трафик входящих запросов и исходящих ответов пробы.
Если у вас есть доступ к приложению, убедитесь, что пограничное устройство Интернета разрешает следующее:
- трафик исходящих запросов приложения с клиентского компьютера в виртуальную машину Azure;
- трафик входящих ответов приложения из виртуальной машины Azure.
Шаг 4. Если вы не можете получить доступ к приложению, используйте проверку IP-адресов для проверки параметров.
Дополнительные сведения см. в статье Обзор мониторинга сети Azure.
Дополнительные ресурсы
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или помощь, создайте запрос на поддержку или попросите сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.