Использование рабочей области с пользовательским DNS-сервером

При использовании рабочей области Машинного обучения Azure с частной конечной точкой существует несколько способов разрешения DNS-имен. По умолчанию Azure автоматически обрабатывает разрешение имен для рабочей области и частной конечной точки. Если вместо этого используется собственный пользовательский DNS-сервер, необходимо вручную создать записи DNS или использовать условные серверы переадресации для рабочей области.

Внимание

В этой статье описывается, как найти полные доменные имена (FQDN) и IP-адреса для этих записей, если требуется вручную зарегистрировать записи DNS в решении DNS. Кроме того, в этой статье приведены рекомендации по архитектуре и настройке пользовательского решения DNS для автоматического разрешения FQDN-имен для правильных IP-адресов. Эта статья НЕ содержит сведений о настройке записей DNS для этих элементов. Сведения о добавлении записей см. в документации по программному обеспечению DNS.

Совет

Эта статья входит в цикл статей, посвященных вопросам защиты рабочего процесса Машинного обучения Azure. Другие статьи этой серии:

Необходимые компоненты

Автоматическая интеграция DNS-сервера

Введение

Есть две распространенные архитектуры использования автоматической интеграции DNS-сервера с Машинным обучением Azure:

Хотя архитектура может отличаться от этих примеров, их можно использовать в качестве опорной точки. В обоих примерах архитектуры предусмотрены действия по устранению неполадок, которые могут помочь определить неправильно настроенные компоненты.

Другой вариант — изменить файл hosts в клиенте, который подключается к виртуальной сети Azure (VNet), содержащей вашу рабочую область. Дополнительные сведения см. в разделе Файл hosts.

Путь разрешения DNS рабочей области

Доступ к заданной рабочей области Машинного обучения Azure через Приватный канал осуществляется с помощью подключения к следующим полным доменным именам (называемым именами FQDN рабочей области), приведенным ниже.

Общедоступные регионы Azure:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.azureml.ms
  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.cert.api.azureml.ms
  • <compute instance name>.<region the workspace was created in>.instances.azureml.ms
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.azure.net
  • <managed online endpoint name>.<region>.inference.ml.azure.com — используется управляемыми подключенными конечными точками

Microsoft Azure, управляемый регионами 21Vianet:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.cn
  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.cert.api.ml.azure.cn
  • <compute instance name>.<region the workspace was created in>.instances.azureml.cn
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.chinacloudapi.cn
  • <managed online endpoint name>.<region>.inference.ml.azure.cn — используется управляемыми подключенными конечными точками

Регионы Azure для государственных организаций США:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.us
  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.cert.api.ml.azure.us
  • <compute instance name>.<region the workspace was created in>.instances.azureml.us
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.usgovcloudapi.net
  • <managed online endpoint name>.<region>.inference.ml.azure.us — используется управляемыми подключенными конечными точками

Полные доменные имена разрешаются в следующие канонические имена (записи CNAME), называемые именами FQDN Приватного канала рабочей области.

Общедоступные регионы Azure:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.privatelink.api.azureml.ms
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.privatelink.notebooks.azure.net
  • <managed online endpoint name>.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms — используется управляемыми подключенными конечными точками

Azure, управляемый регионами 21Vianet:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.privatelink.api.ml.azure.cn
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.privatelink.notebooks.chinacloudapi.cn
  • <managed online endpoint name>.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.ml.azure.cn — используется управляемыми подключенными конечными точками

Регионы Azure для государственных организаций США:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.privatelink.api.ml.azure.us
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.privatelink.notebooks.usgovcloudapi.net
  • <managed online endpoint name>.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.ml.azure.us — используется управляемыми подключенными конечными точками

Имена FQDN разрешаются в IP-адреса рабочей области Машинного обучения Azure в этом регионе. Тем не менее сопоставление полных доменных имен для Приватного канала рабочей области можно переопределить с помощью пользовательского DNS-сервера, размещенного в виртуальной сети. Один из вариантов такой архитектуры см. в примере пользовательского DNS-сервера, размещенного в виртуальной сети.

Примечание.

Управляемые сетевые конечные точки используют частную конечную точку рабочей области. Если вы вручную добавляете записи DNS в частную зону privatelink.api.azureml.msDNS, запись с дикой природой карта *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms следует добавить для маршрутизации всех конечных точек в рабочей области в частную конечную точку.

Интеграция DNS-сервера вручную

В этом разделе рассматриваются полные доменные имена для создания записей на DNS-сервере, а также IP-адрес, для которого необходимо установить значение записи A.

Получение имен FQDN частной конечной точки

Общедоступный регион Azure

В следующем списке представлены имена FQDN, используемые рабочей областью, если она находится в общедоступном облаке Azure:

  • <workspace-GUID>.workspace.<region>.cert.api.azureml.ms

  • <workspace-GUID>.workspace.<region>.api.azureml.ms

  • ml-<workspace-name, truncated>-<region>-<workspace-guid>.<region>.notebooks.azure.net

    Примечание.

    Имя рабочей области для этого FQDN может быть усечено. Усечение выполняется для того, чтобы длина ml-<workspace-name, truncated>-<region>-<workspace-guid> не превышала 63 символа.

  • <instance-name>.<region>.instances.azureml.ms

    Примечание.

    • Доступ к вычислительным экземплярам можно получить только в пределах виртуальной сети.
    • IP-адрес для этого полного доменного имени не является IP-адресом вычислительного экземпляра. Вместо этого используйте частный IP-адрес частной конечной точки рабочей области (IP-адреса записей *.api.azureml.ms).
  • <managed online endpoint name>.<region>.inference.ml.azure.com — используется управляемыми подключенными конечными точками

Microsoft Azure, управляемый регионом 21Vianet

Для Microsoft Azure используются следующие полные доменные имена, управляемые регионами 21Vianet:

  • <workspace-GUID>.workspace.<region>.cert.api.ml.azure.cn

  • <workspace-GUID>.workspace.<region>.api.ml.azure.cn

  • ml-<workspace-name, truncated>-<region>-<workspace-guid>.<region>.notebooks.chinacloudapi.cn

    Примечание.

    Имя рабочей области для этого FQDN может быть усечено. Усечение выполняется для того, чтобы длина ml-<workspace-name, truncated>-<region>-<workspace-guid> не превышала 63 символа.

  • <instance-name>.<region>.instances.azureml.cn

    • IP-адрес для этого полного доменного имени не является IP-адресом вычислительного экземпляра. Вместо этого используйте частный IP-адрес частной конечной точки рабочей области (IP-адреса записей *.api.azureml.ms).
  • <managed online endpoint name>.<region>.inference.ml.azure.cn — используется управляемыми подключенными конечными точками

Azure – Правительство США

Следующие имена FQDN предназначены для регионов Azure для государственных организаций США:

  • <workspace-GUID>.workspace.<region>.cert.api.ml.azure.us

  • <workspace-GUID>.workspace.<region>.api.ml.azure.us

  • ml-<workspace-name, truncated>-<region>-<workspace-guid>.<region>.notebooks.usgovcloudapi.net

    Примечание.

    Имя рабочей области для этого FQDN может быть усечено. Усечение выполняется для того, чтобы длина ml-<workspace-name, truncated>-<region>-<workspace-guid> не превышала 63 символа.

  • <instance-name>.<region>.instances.azureml.us

    • IP-адрес для этого полного доменного имени не является IP-адресом вычислительного экземпляра. Вместо этого используйте частный IP-адрес частной конечной точки рабочей области (IP-адреса записей *.api.azureml.ms).
  • <managed online endpoint name>.<region>.inference.ml.azure.us — используется управляемыми подключенными конечными точками

Поиск IP-адресов

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

Примечание.

Полные доменные имена и IP-адреса будут отличаться в зависимости от конфигурации. Например, значение GUID в имени домена будет соответствовать вашей рабочей области.

  1. Получить идентификатор сетевого интерфейса частной конечной точки можно с помощью следующей команды:

    az network private-endpoint show --name <endpoint> --resource-group <resource-group> --query 'networkInterfaces[*].id' --output table
    
  2. Получить сведения об IP-адресе и полном доменном имени можно с помощью указанной ниже команды. Замените <resource-id> идентификатором из предыдущего шага.

    az network nic show --ids <resource-id> --query 'ipConfigurations[*].{IPAddress: privateIpAddress, FQDNs: privateLinkConnectionProperties.fqdns}'
    

    Выход будет иметь примерно следующий вид:

    [
        {
            "FQDNs": [
            "fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.api.azureml.ms",
            "fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.cert.api.azureml.ms"
            ],
            "IPAddress": "10.1.0.5"
        },
        {
            "FQDNs": [
            "ml-myworkspace-eastus-fb7e20a0-8891-458b-b969-55ddb3382f51.eastus.notebooks.azure.net"
            ],
            "IPAddress": "10.1.0.6"
        },
        {
            "FQDNs": [
            "*.eastus.inference.ml.azure.com"
            ],
            "IPAddress": "10.1.0.7"
        }
    ]
    

Сведения, возвращаемые из всех методов, одинаковы. Список полных доменных имен и частных IP-адресов для ресурсов. Ниже приведен пример из общедоступного облака Azure:

Полное доменное имя IP-адрес
fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.api.azureml.ms 10.1.0.5
fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.cert.api.azureml.ms 10.1.0.5
ml-myworkspace-eastus-fb7e20a0-8891-458b-b969-55ddb3382f51.eastus.notebooks.azure.net 10.1.0.6
*.eastus.inference.ml.azure.com 10.1.0.7

В следующей таблице показаны примеры IP-адресов из Microsoft Azure, управляемых регионами 21Vianet:

Полное доменное имя IP-адрес
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.api.ml.azure.cn 10.1.0.5
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.cert.api.ml.azure.cn 10.1.0.5
ml-mype-pltest-chinaeast2-52882c08-ead2-44aa-af65-08a75cf094bd.chinaeast2.notebooks.chinacloudapi.cn 10.1.0.6
*.chinaeast2.inference.ml.azure.cn 10.1.0.7

В следующей таблице приведены примеры IP-адресов из регионов Azure для государственных организаций США:

Полное доменное имя IP-адрес
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.api.ml.azure.us 10.1.0.5
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.cert.api.ml.azure.us 10.1.0.5
ml-mype-plt-usgovvirginia-52882c08-ead2-44aa-af65-08a75cf094bd.usgovvirginia.notebooks.usgovcloudapi.net 10.1.0.6
*.usgovvirginia.inference.ml.azure.us 10.1.0.7

Примечание.

Управляемые сетевые конечные точки используют частную конечную точку рабочей области. Если вы вручную добавляете записи DNS в частную зону privatelink.api.azureml.msDNS, запись с дикой природой карта *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms следует добавить для маршрутизации всех конечных точек в рабочую область в частную конечную точку.

Создание записей A на пользовательском DNS-сервере

После получения списка имен FQDN и соответствующих IP-адресов перейдите к созданию записей на настроенном DNS-сервере. Чтобы определить, как создавать записи, ознакомьтесь с документацией по DNS-серверу. Обратите внимание, что рекомендуется создать уникальную зону для всего имени FQDN и запись A в корневой зоне.

Пример. Пользовательский DNS-сервер, размещенный в виртуальной сети

Эта архитектура использует общую топологию звездообразной модели виртуальной сети. Одна виртуальная сеть содержит DNS-сервер, а другая — частную конечную точку для рабочей области Машинного обучения Azure и связанных ресурсов. Между обеими виртуальными сетями должен быть допустимый маршрут. Например, с помощью ряда одноранговых виртуальных сетей.

Diagram of custom DNS hosted in Azure topology

На следующих этапах описывается принцип работы этой индексации:

  1. Создайте Частную зону DNS и ссылку на виртуальную сеть DNS-сервера:

    Первым шагом в обеспечении работы пользовательского решения DNS с рабочей областью Машинного обучения Azure является создание двух корневых Частных зон DNS в следующих доменах:

    Общедоступные регионы Azure:

    • privatelink.api.azureml.ms
    • privatelink.notebooks.azure.net

    Microsoft Azure, управляемый регионами 21Vianet:

    • privatelink.api.ml.azure.cn
    • privatelink.notebooks.chinacloudapi.cn

    Регионы Azure для государственных организаций США:

    • privatelink.api.ml.azure.us
    • privatelink.notebooks.usgovcloudapi.net

    Примечание.

    Управляемые сетевые конечные точки используют частную конечную точку рабочей области. Если вы вручную добавляете записи DNS в частную зону privatelink.api.azureml.msDNS, запись с дикой природой карта *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms следует добавить для маршрутизации всех конечных точек в рабочую область в частную конечную точку.

    После создания Частную зону DNS необходимо связать с виртуальной сетью DNS-сервера. Виртуальная сеть, содержащая DNS-сервер.

    Частная зона DNS переопределяет разрешение имен для всех имен в корневой области зоны. Это переопределение применяется ко всем виртуальным сетям, с которыми связана Частная зона DNS. Например, если Частная зона DNS с корнем в privatelink.api.azureml.ms связана с виртуальной сетью foo, все ресурсы в такой виртуальной сети, которые попытаются разрешить bar.workspace.westus2.privatelink.api.azureml.ms, получат все записи, перечисленные в зоне privatelink.api.azureml.ms.

    Однако записи, перечисленные в Частных зонах DNS, возвращаются только на устройства, которые разрешают домены с использованием IP-адреса виртуального сервера Azure DNS по умолчанию. Поэтому пользовательский DNS-сервер будет разрешать домены для устройств, распределенных по всей топологии сети. Но пользовательский DNS-сервер должен разрешать домены, связанные с Машинным обучением Azure, с IP-адресом виртуального сервера Azure DNS.

  2. Создайте частную конечную точку с интеграцией частной зоны DNS с использованием Частной зоны DNS, связанной с виртуальной сетью DNS-сервера:

    Следующим шагом является создание частной конечной точки для рабочей области Машинного обучения Azure. Частная конечная точка предназначена для Частных зон DNS, созданных на шаге 1. Это гарантирует, что все взаимодействие с рабочей областью выполняется через частную конечную точку в виртуальной сети Машинного обучения Azure.

    Внимание

    Для правильной работы этого примера в частной конечной точке должна быть включена интеграция с Частной зоной DNS.

  3. Создайте сервер условной пересылки на DNS-сервере для пересылки в Azure DNS:

    Затем создайте сервер условной пересылки для виртуального сервера Azure DNS. Сервер условной пересылки гарантирует, что DNS-сервер всегда запрашивает IP-адрес виртуального сервера Azure DNS для получения имен FQDN, связанных с рабочей областью. Это означает, что DNS-сервер возвратит соответствующую запись из Частной зоны DNS.

    Ниже перечислены зоны, для которых выполняется условная пересылка. IP-адрес виртуального сервера Azure DNS — 168.63.129.16:

    Общедоступные регионы Azure:

    • api.azureml.ms
    • notebooks.azure.net
    • instances.azureml.ms
    • aznbcontent.net
    • inference.ml.azure.com — используется управляемыми подключенными конечными точками

    Microsoft Azure, управляемый регионами 21Vianet:

    • api.ml.azure.cn
    • notebooks.chinacloudapi.cn
    • instances.azureml.cn
    • aznbcontent.net
    • inference.ml.azure.cn — используется управляемыми подключенными конечными точками

    Регионы Azure для государственных организаций США:

    • api.ml.azure.us
    • notebooks.usgovcloudapi.net
    • instances.azureml.us
    • aznbcontent.net
    • inference.ml.azure.us — используется управляемыми подключенными конечными точками

    Внимание

    Здесь не приведены этапы настройки DNS-сервера, так как доступно множество решений DNS, которые можно использовать в качестве пользовательского DNS-сервера. Сведения о том, как соответствующим образом настроить условную пересылку, см. в документации по вашему решению DNS.

  4. Разрешение домена рабочей области:

    На этом этапе все настройки завершены. Теперь любой клиент, использующий DNS-сервер для разрешения имен и имеющий маршрут к частной конечной точке Машинного обучения Azure, может получить доступ к рабочей области. Сначала клиент запросит DNS-сервер для адреса следующих имен FQDN:

    Общедоступные регионы Azure:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.azureml.ms
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.azure.net
    • <managed online endpoint name>.<region>.inference.ml.azure.com — используется управляемыми подключенными конечными точками

    Microsoft Azure, управляемый регионами 21Vianet:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.cn
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.chinacloudapi.cn
    • <managed online endpoint name>.<region>.inference.ml.azure.cn — используется управляемыми подключенными конечными точками

    Регионы Azure для государственных организаций США:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.us
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.usgovcloudapi.net
    • <managed online endpoint name>.<region>.inference.ml.azure.us — используется управляемыми подключенными конечными точками
  5. Azure DNS рекурсивно сопоставляет домен рабочей области с записью CNAME.

    DNS-сервер продолжит сопоставлять полные доменные имена из шага 4 из Azure DNS. Служба Azure DNS будет отвечать, используя один из доменов, указанных в шаге 1.

  6. DNS-сервер рекурсивно разрешает запись CNAME домена рабочей области из Azure DNS:

    DNS-сервер продолжит рекурсивное разрешение записи CNAME, полученной на шаге 5. Так как на шаге 3 был настроен сервер условной пересылки, DNS-сервер отправит запрос на IP-адрес виртуального сервера Azure DNS для разрешения.

  7. Azure DNS возвращает записи из Частной зоны DNS:

    Соответствующие записи, хранящиеся в Частных зонах DNS, будут возвращены DNS-серверу, что означает, что виртуальный сервер Azure DNS возвращает IP-адреса частной конечной точки.

  8. Пользовательский DNS-сервер сопоставляет имя домена рабочей области с частным адресом конечной точки:

    В конечном итоге, пользовательский DNS-сервер возвращает IP-адреса частной конечной точки клиенту из шага 4. Это гарантирует, что весь трафик к рабочей области Машинного обучения Azure будет осуществляться через частную конечную точку.

Устранение неполадок

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

  1. Найдите имена FQDN рабочей области в частной конечной точке:

    Перейдите на портал Azure с помощью одной из следующих ссылок:

    Перейдите к частной конечной точке рабочей области Машинного обучения Azure. Полные доменные имена рабочей области будут перечислены на вкладке "Обзор".

  2. Доступ к ресурсам вычислений в топологии виртуальной сети:

    Перейдите к вычислительному ресурсу в топологии виртуальной сети Azure. Скорее всего, потребуется доступ к виртуальной машине в виртуальной сети, которая подключена к виртуальной сети концентратора.

  3. Разрешение имен FQDN рабочей области:

    Откройте командную строку, оболочку или PowerShell. Затем для каждого из имен FQDN рабочей области выполните следующую команду:

    nslookup <workspace FQDN>

    Результат каждого запуска программы nslookup должен возвращать один из двух частных IP-адресов в частной конечной точке в рабочую область Машинного обучения Azure. Если это не так, то в пользовательском решении DNS что-то неверно настроено.

    Возможные причины:

    • Вычислительный ресурс, в котором выполняются команды устранения неполадок, не использует DNS-сервер для разрешения DNS.
    • Частные зоны DNS, выбранные при создании частной конечной точки, не связаны с виртуальной сетью DNS-сервера.
    • Серверы условной пересылки на IP-адрес виртуального сервера Azure DNS настроены неправильно.

Пример. Пользовательский DNS-сервер, размещенный в локальной среде

Эта архитектура использует общую топологию звездообразной модели виртуальной сети. ExpressRoute используется для подключения из локальной сети к виртуальной сети концентратора. Пользовательский DNS-сервер, размещенный в локальной среде. Отдельная виртуальная сеть содержит закрытую конечную точку для рабочей области Машинного обучения Azure и связанных ресурсов. В этой топологии должна быть другая виртуальная сеть, в которой размещен DNS-сервер, который может отсылать запросы на IP-адрес виртуального сервера Azure DNS.

Diagram of custom DNS hosted on-premises topology

На следующих этапах описывается принцип работы этой индексации:

  1. Создайте Частную зону DNS и ссылку на виртуальную сеть DNS-сервера:

    Первым шагом в обеспечении работы пользовательского решения DNS с рабочей областью Машинного обучения Azure является создание двух корневых Частных зон DNS в следующих доменах:

    Общедоступные регионы Azure:

    • privatelink.api.azureml.ms
    • privatelink.notebooks.azure.net

    Microsoft Azure, управляемый регионами 21Vianet:

    • privatelink.api.ml.azure.cn
    • privatelink.notebooks.chinacloudapi.cn

    Регионы Azure для государственных организаций США:

    • privatelink.api.ml.azure.us
    • privatelink.notebooks.usgovcloudapi.net

    Примечание.

    Управляемые сетевые конечные точки используют частную конечную точку рабочей области. Если вы вручную добавляете записи DNS в частную зону privatelink.api.azureml.msDNS, запись с дикой природой карта *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms следует добавить для маршрутизации всех конечных точек в рабочую область в частную конечную точку.

    После создания Частная зона DNS должна быть связана с виртуальной сетью DNS-сервера, которая содержит DNS-сервер.

    Примечание.

    DNS-сервер в виртуальной сети отделен от локального DNS-сервера.

    Частная зона DNS переопределяет разрешение имен для всех имен в корневой области зоны. Это переопределение применяется ко всем виртуальным сетям, с которыми связана Частная зона DNS. Например, если Частная зона DNS с корнем в privatelink.api.azureml.ms связана с виртуальной сетью foo, все ресурсы в такой виртуальной сети, которые попытаются разрешить bar.workspace.westus2.privatelink.api.azureml.ms, получат все записи, перечисленные в зоне privatelink.api.azureml.ms.

    Однако записи, перечисленные в Частных зонах DNS, возвращаются только на устройства, которые разрешают домены с использованием IP-адреса виртуального сервера Azure DNS по умолчанию. IP-адрес виртуального сервера Azure DNS действителен только в контексте виртуальной сети. При использовании локального DNS-сервера не удается запросить IP-адрес Azure DNS виртуального сервера для получения записей.

    Чтобы решить эту проблему, создайте промежуточный DNS-сервер в виртуальной сети. Этот DNS-сервер может запросить IP-адрес виртуального сервера Azure DNS, чтобы получить записи для любой Частной зоны DNS, связанной с виртуальной сетью.

    Хотя локальный DNS-сервер будет разрешать домены для устройств, распределенных по топологии сети, он будет разрешать на DNS-сервере домены, связанные с Машинным обучением Azure. DNS-сервер будет разрешать эти домены с IP-адреса виртуального сервера Azure DNS.

  2. Создайте частную конечную точку с интеграцией частной зоны DNS с использованием Частной зоны DNS, связанной с виртуальной сетью DNS-сервера:

    Следующим шагом является создание частной конечной точки для рабочей области Машинного обучения Azure. Частная конечная точка предназначена для Частных зон DNS, созданных на шаге 1. Это гарантирует, что все взаимодействие с рабочей областью выполняется через частную конечную точку в виртуальной сети Машинного обучения Azure.

    Внимание

    Для правильной работы этого примера в частной конечной точке должна быть включена интеграция с Частной зоной DNS.

  3. Создайте сервер условной пересылки на DNS-сервере для пересылки в Azure DNS:

    Затем создайте сервер условной пересылки для виртуального сервера Azure DNS. Сервер условной пересылки гарантирует, что DNS-сервер всегда запрашивает IP-адрес виртуального сервера Azure DNS для получения имен FQDN, связанных с рабочей областью. Это означает, что DNS-сервер возвратит соответствующую запись из Частной зоны DNS.

    Ниже перечислены зоны, для которых выполняется условная пересылка. IP-адрес виртуального сервера Azure DNS — 168.63.129.16.

    Общедоступные регионы Azure:

    • api.azureml.ms
    • notebooks.azure.net
    • instances.azureml.ms
    • aznbcontent.net
    • inference.ml.azure.com — используется управляемыми подключенными конечными точками

    Microsoft Azure, управляемый регионами 21Vianet:

    • api.ml.azure.cn
    • notebooks.chinacloudapi.cn
    • instances.azureml.cn
    • aznbcontent.net
    • inference.ml.azure.cn — используется управляемыми подключенными конечными точками

    Регионы Azure для государственных организаций США:

    • api.ml.azure.us
    • notebooks.usgovcloudapi.net
    • instances.azureml.us
    • aznbcontent.net
    • inference.ml.azure.us — используется управляемыми подключенными конечными точками

    Внимание

    Здесь не приведены этапы настройки DNS-сервера, так как доступно множество решений DNS, которые можно использовать в качестве пользовательского DNS-сервера. Сведения о том, как соответствующим образом настроить условную пересылку, см. в документации по вашему решению DNS.

  4. Создайте сервер условной пересылки на локальном DNS-сервере для пересылки на DNS-сервер:

    Затем создайте сервер условной пересылки для DNS-сервера в виртуальной сети DNS-сервера. Этот сервер пересылки предназначен для зон, перечисленных на шаге 1. Это аналогично процедуре, описываемой в статье в шаге 3, но вместо пересылки на IP-адрес виртуального сервера Azure DNS локальный DNS-сервер будет указывать на IP-адрес DNS-сервера. Так как локальный DNS-сервер не находится в Azure, он не может напрямую разрешать записи в Частных зонах DNS. В этом случае DNS-сервер передает запросы с локального DNS-сервера на IP-адрес виртуального сервера Azure DNS. Это позволяет локальному DNS-серверу получать записи в Частных зонах DNS, связанных с виртуальной сетью DNS-сервера.

    Ниже перечислены зоны, для которых выполняется условная пересылка. IP-адреса, на которые выполняется пересылка, — это IP-адреса DNS-серверов:

    Общедоступные регионы Azure:

    • api.azureml.ms
    • notebooks.azure.net
    • instances.azureml.ms
    • inference.ml.azure.com — используется управляемыми подключенными конечными точками

    Microsoft Azure, управляемый регионами 21Vianet:

    • api.ml.azure.cn
    • notebooks.chinacloudapi.cn
    • instances.azureml.cn
    • inference.ml.azure.cn — используется управляемыми подключенными конечными точками

    Регионы Azure для государственных организаций США:

    • api.ml.azure.us
    • notebooks.usgovcloudapi.net
    • instances.azureml.us
    • inference.ml.azure.us — используется управляемыми подключенными конечными точками

    Внимание

    Здесь не приведены этапы настройки DNS-сервера, так как доступно множество решений DNS, которые можно использовать в качестве пользовательского DNS-сервера. Сведения о том, как соответствующим образом настроить условную пересылку, см. в документации по вашему решению DNS.

  5. Разрешение домена рабочей области:

    На этом этапе все настройки завершены. Любой клиент, использующий локальный DNS-сервер для разрешения имен и имеющий маршрут к частной конечной точке Машинного обучения Azure, может получить доступ к рабочей области.

    Сначала клиент запросит локальный DNS-сервер для адреса следующих имен FQDN:

    Общедоступные регионы Azure:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.azureml.ms
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.azure.net
    • <managed online endpoint name>.<region>.inference.ml.azure.com — используется управляемыми подключенными конечными точками

    Microsoft Azure, управляемый регионами 21Vianet:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.cn
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.chinacloudapi.cn
    • <managed online endpoint name>.<region>.inference.ml.azure.cn — используется управляемыми подключенными конечными точками

    Регионы Azure для государственных организаций США:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.us
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.usgovcloudapi.net
    • <managed online endpoint name>.<region>.inference.ml.azure.us — используется управляемыми подключенными конечными точками
  6. Локальный DNS-сервер рекурсивно сопоставляет домен рабочей области.

    Локальный DNS-сервер будет сопоставлять полные доменные имена из шага 5 с DNS-сервером. Так как имеется сервер условной пересылки (шаг 4), локальный DNS-сервер будет отправлять запросы на DNS-сервер для сопоставления.

  7. DNS-сервер сопоставляет домен рабочей области с записью CNAME из Azure DNS.

    DNS-сервер будет сопоставлять полные доменные имена из шага 5 из Azure DNS. Служба Azure DNS будет отвечать, используя один из доменов, указанных в шаге 1.

  8. Локальный DNS-сервер рекурсивно разрешает запись CNAME домена рабочей области из DNS-сервера:

    Локальный DNS-сервер продолжит рекурсивно сопоставлять запись CNAME, полученную на шаге 7. Так как на шаге 4 была выполнена установка сервера условной пересылки, локальный DNS-сервер отправляет запрос на DNS-сервер для разрешения.

  9. DNS-сервер рекурсивно разрешает запись CNAME домена рабочей области из Azure DNS:

    DNS-сервер продолжит рекурсивно сопоставлять запись CNAME, полученную на шаге 7. Так как на шаге 3 был настроен сервер условной пересылки, DNS-сервер отправит запрос на IP-адрес виртуального сервера Azure DNS для разрешения.

  10. Azure DNS возвращает записи из Частной зоны DNS:

    Соответствующие записи, хранящиеся в Частных зонах DNS, будут возвращены DNS-серверу, что означает, что виртуальный сервер Azure DNS возвращает IP-адреса частной конечной точки.

  11. Локальный DNS-сервер сопоставляет имя домена рабочей области с частным адресом конечной точки:

    Запрос от локального DNS-сервера к DNS-серверу на шаге 8 в конечном итоге возвращает IP-адреса, связанные с частной конечной точкой, в рабочую область Машинного обучения Azure. Эти IP-адреса возвращаются исходному клиенту, который теперь взаимодействует с рабочей областью Машинного обучения Azure через частную конечную точку, настроенную на шаге 1.

    Внимание

    Если VPN-шлюз используется в этой настройке вместе с пользовательскими IP-адресами DNS-сервера в виртуальной сети, то НЕОБХОДИМО добавить в список IP-адрес Azure DNS (168.63.129.16), а также сохранить неразрывную связь.

Пример: файл hosts

Файл hosts представляет собой текстовый документ, который ОС Linux, macOS и Windows используют при переопределении сопоставления имен для локального компьютера. Этот файл содержит список IP-адресов и соответствующих имен узлов. Если локальный компьютер пытается сопоставить имя узла и это имя узла указано в файле hosts, оно будет сопоставлено с соответствующим IP-адресом.

Внимание

Файл hosts переопределяет сопоставления имен только для локального компьютера. Если нужно использовать файл hosts для нескольких компьютеров, необходимо изменить его отдельно на каждом компьютере.

В приведенной ниже таблице указаны расположения файла hosts.

Операционная система Расположение
Linux /etc/hosts
macOS /etc/hosts
Windows %SystemRoot%\System32\drivers\etc\hosts

Совет

Файл имеет имя hosts без расширения. При редактировании файла используйте права доступа администратора. Например, в ОС Linux или macOS можно использовать команду sudo vi. В ОС Windows запустите блокнот от имени администратора.

Ниже приведен пример записей файла hosts для Машинного обучения Azure.

# For core Azure Machine Learning hosts
10.1.0.5    fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.api.azureml.ms
10.1.0.5    fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.cert.api.azureml.ms
10.1.0.6    ml-myworkspace-eastus-fb7e20a0-8891-458b-b969-55ddb3382f51.eastus.notebooks.azure.net

# For a managed online/batch endpoint named 'mymanagedendpoint'
10.1.0.7    mymanagedendpoint.eastus.inference.ml.azure.com

# For a compute instance named 'mycomputeinstance'
10.1.0.5    mycomputeinstance.eastus.instances.azureml.ms

Дополнительные сведения о файле hosts см. в разделе https://wikipedia.org/wiki/Hosts_(file).

Разрешение DNS для служб зависимостей

Службы, от которых зависит рабочая область, также могут быть защищены с помощью частной конечной точки. В таком случае вам может потребоваться создать пользовательскую запись DNS, если необходимо напрямую взаимодействовать со службой. Например, если вы хотите напрямую работать с данными в учетной записи хранения Azure, используемой рабочей областью.

Примечание.

Некоторые службы имеют несколько частных конечных точек для подслужб или компонентов. Например, учетная запись хранения Azure может иметь отдельные частные конечные точки для BLOB-объектов, файлов и DFS. Если вам нужен доступ как к хранилищу BLOB-объектов, так и к хранилищу файлов, необходимо включить разрешение для каждой конкретной частной конечной точки.

Дополнительные сведения о службах и разрешении DNS см. в разделе Конфигурация DNS частной конечной точки Azure.

Устранение неполадок

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

  1. Найдите имена FQDN рабочей области в частной конечной точке:

    Перейдите на портал Azure с помощью одной из следующих ссылок:

    Перейдите к частной конечной точке рабочей области Машинного обучения Azure. Полные доменные имена рабочей области будут перечислены на вкладке "Обзор".

  2. Доступ к ресурсам вычислений в топологии виртуальной сети:

    Перейдите к вычислительному ресурсу в топологии виртуальной сети Azure. Скорее всего, потребуется доступ к виртуальной машине в виртуальной сети, которая подключена к виртуальной сети концентратора.

  3. Разрешение имен FQDN рабочей области:

    Откройте командную строку, оболочку или PowerShell. Затем для каждого из имен FQDN рабочей области выполните следующую команду:

    nslookup <workspace FQDN>

    Результат каждого запуска программы nslookup должен возвращать один из двух частных IP-адресов в частной конечной точке в рабочую область Машинного обучения Azure. Если это не так, то в пользовательском решении DNS что-то неверно настроено.

    Возможные причины:

    • Вычислительный ресурс, в котором выполняются команды устранения неполадок, не использует DNS-сервер для разрешения DNS.
    • Частные зоны DNS, выбранные при создании частной конечной точки, не связаны с виртуальной сетью DNS-сервера.
    • Серверы условной пересылки из DNS-сервера на IP-адрес виртуального сервера Azure DNS настроены неправильно.
    • Серверы условной пересылки из локального DNS-сервера на DNS-сервер настроены неправильно.

Следующие шаги

Эта статья входит в цикл статей, посвященных вопросам защиты рабочего процесса Машинного обучения Azure. Другие статьи этой серии:

Сведения об интеграции частных конечных точек в конфигурацию DNS см. в статье Конфигурация DNS частной конечной точки Azure.