Устранение неполадок исходящего подключения с помощью шлюза NAT и служб Azure

Сводка

В этой статье содержатся рекомендации по устранению неполадок с подключением при использовании шлюза NAT с другими службами Azure, в том числе:

Известные ограничения с использованием шлюза NAT StandardV2 и сценариев внедрения виртуальных сетей

  • Шлюз NAT StandardV2 не поддерживается и не может быть присоединен к делегированным подсетям для следующих служб:
    • Управляемый экземпляр SQL Azure
    • Экземпляры контейнеров Azure
    • База данных Azure для PostgreSQL — гибкий сервер
    • База данных Azure для MySQL — гибкий сервер
    • База данных Azure для MySQL
    • Фабрика данных Azure — перемещение данных
    • службы Microsoft Power Platform
    • Azure Stream Analytics
    • Контейнеры приложений Azure
    • Azure веб-приложения
    • резолвер частной зоны Azure DNS

службы приложение Azure

интеграция региональной виртуальной сети служб приложение Azure отключена

Шлюз NAT можно использовать с Azure службами приложений, чтобы приложения могли выполнять исходящие вызовы из виртуальной сети. Чтобы использовать эту интеграцию между службами приложений Azure и шлюзом NAT, необходимо включить интеграцию региональной виртуальной сети. Узнайте как работает интеграция региональной виртуальной сети.

Чтобы использовать шлюз NAT со службами приложение Azure, выполните следующие действия.

  1. Убедитесь, что приложения настроены на интеграцию с виртуальной сетью, см. статью "Включить интеграцию виртуальной сети".

  2. Убедитесь, что для интеграции виртуальной сети включено Маршрутизировать все. См. раздел Настройка маршрутизации интеграции виртуальной сети.

  3. Создайте ресурс Шлюза NAT.

  4. Создайте новый общедоступный IP-адрес или прикрепите существующий в сети к Шлюзу NAT.

  5. Назначьте шлюз NAT той же подсети, используемой для интеграции виртуальной сети с приложениями.

Пошаговые инструкции по настройке шлюза NAT с интеграцией виртуальной сети см. в статье Настройка интеграции шлюза NAT.

Важные заметки о шлюзе NAT и интеграции служб приложение Azure:

  • Интеграция виртуальной сети не обеспечивает входящий частный доступ к вашему приложению из виртуальной сети.

  • Трафик интеграции виртуальной сети не отображается в журналах потоков Azure Network Watcher или группы безопасности сети (NSG) из-за характера его работы.

Службы приложений не используют общедоступный IP-адрес шлюза NAT для исходящих подключений

Службы приложений по-прежнему могут подключаться к Интернету, даже если интеграция с виртуальной сетью не включена. По умолчанию приложения, размещаемые в Службе приложений, доступны напрямую через Интернет и могут обращаться только к размещенным в Интернете конечным точкам. Дополнительные сведения см. в разделе Служба приложений Сетевые функции.

Если вы заметили, что IP-адрес, используемый для подключения к исходящему трафику, не является общедоступным IP-адресом или адресами шлюза NAT, убедитесь, что интеграция виртуальной сети включена. Убедитесь, что шлюз NAT настроен для подсети, используемой для интеграции с приложениями.

Чтобы убедиться, что веб-приложения используют общедоступный IP-адрес шлюза NAT, пропингуйте виртуальную машину в ваших веб-приложениях и проверьте трафик через анализ трафика.

Служба Azure Kubernetes

Развертывание шлюза NAT с помощью кластеров Azure Kubernetes Service (AKS)

Шлюз NAT можно развертывать с кластерами AKS, чтобы обеспечить явное исходящее подключение. Существуют два способа развертывания шлюза NAT с кластерами AKS.

  • Управляемый шлюз NAT: шлюз NAT разворачивается Azure во время создания кластера AKS. AKS управляет шлюзом NAT.

  • Шлюз NAT, назначенный пользователем: вы развертываете шлюз NAT в существующей виртуальной сети для кластера AKS.

Дополнительные сведения см. в разделе Управляемый шлюз NAT.

Подключение из кластера AKS к серверу API AKS через Интернет

Для управления кластером AKS кластер взаимодействует с сервером API. При создании не частного кластера, разрешающего полное доменное имя сервера API, сервер API по умолчанию назначает общедоступный IP-адрес. Трафик кластера сервера API направляется и обрабатывается через исходящий тип кластера. Если для типа исходящего кластера задан шлюз NAT (управляемый или назначаемый пользователем), трафик сервера API обрабатывается как общедоступный трафик через шлюз NAT. Чтобы предотвратить обработку трафика сервера API в качестве общедоступного трафика, рассмотрите возможность использования частного кластера или использования функции интеграции виртуальных сетей API Server (в предварительной версии).

Невозможно обновить IP-адреса шлюза NAT или таймер простоя для кластера AKS

Только для управляемого шлюза NAT можно обновить общедоступные IP-адреса и таймер времени ожидания простоя с помощью команды az aks update.

Если вы развернули шлюз NAT, назначенный пользователем, в подсетях AKS, вы не можете использовать az aks update команду для обновления общедоступных IP-адресов или таймера ожидания простоя. Пользователь управляет шлюзом NAT, назначенным пользователем. Эти конфигурации необходимо обновить вручную на ресурсе шлюза NAT.

Чтобы обновить общедоступные IP-адреса на шлюзе NAT, назначаемом пользователем, выполните следующие действия:

  1. В группе ресурсов выберите ресурс шлюза NAT на портале.

  2. В разделе Параметры на панели навигации слева выберите Исходящий IP-адрес.

  3. Чтобы управлять общедоступными IP-адресами, выберите синее изменение.

  4. В раскрываемой справа конфигурации "Управление общедоступными IP-адресами и префиксами" обновите назначенные IP в раскрывающемся меню или выберите Создание общедоступного IP-адреса.

  5. Обновив конфигурацию IP, нажмите кнопку ОК внизу экрана.

  6. После исчезновения страницы конфигурации нажмите кнопку "Сохранить", чтобы сохранить изменения.

  7. Повторите шаги 3– 6, чтобы сделать то же самое для префиксов общедоступного IP-адреса.

Обновите конфигурацию таймера для тайм-аута простоя в назначаемом пользователем шлюзе NAT, выполнив следующие действия:

  1. В группе ресурсов выберите ресурс шлюза NAT на портале.

  2. В разделе Параметры на панели навигации слева выберите Конфигурация.

  3. В текстовом поле тайм-аута простоя TCP (в минутах) настройте таймер простоя в пределах от 4 до 120 минут.

  4. Нажмите кнопку "Сохранить" после завершения.

Замечание

Увеличение таймера простоя TCP до более чем 4 минут может повысить риск нехватки портов SNAT.

Конфигурация, устойчивая к зонам с помощью шлюза NAT и пула узлов AKS

При запуске Azure Kubernetes Service (AKS) с пулами узлов с несколькими зонами свяжите кластер со шлюзом NAT StandardV2 для исходящего подключения. Пул узлов с несколькими зонами распределяет узлы между зонами доступности, обеспечивая устойчивость на уровне вычислений, в то время как шлюз NAT StandardV2 по умолчанию является избыточным по зонам и обеспечивает согласованное исходящее подключение SNAT ко всем зонам в виртуальной сети. Эта комбинация обеспечивает сквозную устойчивость, помогая рабочим нагрузкам оставаться доступными и поддерживать надежное подключение к Интернету, даже если одна зона доступности испытывает сбой.

Брандмауэр Azure

Исчерпание ресурсов SNAT при подключении исходящего трафика через Брандмауэр Azure

Брандмауэр Azure может обеспечить исходящее подключение к Интернету к виртуальным сетям. Хотя Брандмауэр Azure можно связать с до 250 общедоступными IP-адресами для обработки исходящего трафика, может потребоваться меньше IP-адресов для исходящих подключений из-за архитектурных требований или ограничений списков разрешений на конечных точках назначения.

Один из способов обеспечения большей масштабируемости исходящего трафика, а также снижения риска исчерпания портов SNAT заключается в использовании шлюза NAT в той же подсети с Брандмауэр Azure.

Для зонально-избыточных развертываний рекомендуется развернуть NAT-шлюз StandardV2 в подсети брандмауэра.

Дополнительные сведения о настройке шлюза NAT в подсети Брандмауэр Azure см. в статье integrate NAT gateway with Брандмауэр Azure. Дополнительные сведения о работе шлюза NAT с Брандмауэр Azure см. в статье Масштабирование SNAT-портов с Azure NAT Gateway.

Замечание

Шлюз NAT не поддерживается в архитектуре vWAN. Шлюз NAT не может быть настроен в подсети Брандмауэр Azure в концентраторе виртуальной сети.

Azure Databricks

Использование шлюза NAT для исходящего подключения из кластера Databricks

Вы можете использовать шлюз NAT для исходящего подключения из кластера Databricks при создании рабочей области Databricks. Развернуть шлюз NAT в кластере Databricks можно двумя способами:

  • Если включить Secure Cluster Connectivity (No Public IP) в виртуальной сети по умолчанию, которая Azure Databricks создает, Azure Databricks автоматически развертывает шлюз NAT для подключения исходящих подключений из подсетей рабочей области к Интернету. Azure Databricks создает этот ресурс шлюза NAT в управляемой группе ресурсов, и вы не можете изменить эту группу ресурсов или другие ресурсы, развернутые в ней.

  • После развертывания рабочей области Azure Databricks в собственной виртуальной сети (посредством инъекции виртуальной сети) можно развернуть и настроить шлюз NAT для обеих подсетей рабочей области, чтобы обеспечить исходящий трафик через шлюз NAT. Это решение можно реализовать с помощью шаблона Azure или на портале.

Дальнейшие действия

Если у вас возникли проблемы с шлюзом NAT, которые не устранены этой статьей, отправьте отзыв через GitHub в нижней части этой страницы. Мы будем обращаться к вашим отзывам как можно скорее, чтобы улучшить взаимодействие с нашими клиентами.

Дополнительные сведения о шлюзе NAT см. в следующих статьях: