Создание и настройка частной конечной точки для IoT Central

Вы можете подключить устройства к приложению IoT Central с помощью частной конечной точки в виртуальная сеть Azure.

Частные конечные точки используют частные IP-адреса из адресного пространства виртуальной сети для частного подключения устройств к приложению IoT Central. Сетевой трафик между устройствами в виртуальной сети и платформой Интернета вещей проходит через виртуальную сеть и приватный канал в магистральной сети Майкрософт, устраняя уязвимость в общедоступном Интернете. В этой статье показано, как создать частную конечную точку для приложения IoT Central.

Предварительные требования

Создание частной конечной точки

Существует несколько способов создания частной конечной точки для приложения IoT Central.

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

  1. В портал Azure перейдите к приложению и выберите Сеть.

  2. Перейдите на вкладку Подключения к частной конечной точке , а затем выберите + Частная конечная точка.

  3. На вкладке Основные сведения введите имя и выберите регион для частной конечной точки. Затем щелкните Далее: Ресурс.

  4. Вкладка Ресурс заполняется автоматически. Выберите Далее: Виртуальная сеть.

  5. На вкладке виртуальная сеть выберите Виртуальная сеть и Подсеть, в которых вы хотите развернуть частную конечную точку.

  6. На той же вкладке в разделе Конфигурация частного IP-адреса выберите Динамически выделять IP-адрес.

  7. Выберите Далее: DNS.

  8. На вкладке DNS выберите Да для параметра Интеграция с частной зоной DNS. Частная служба DNS разрешает все необходимые конечные точки в частные IP-адреса в виртуальной сети:

    Снимок экрана: портал Azure, на котором показана интеграция частной службы DNS.

    Примечание

    Из-за возможностей автомасштабирования в IoT Central по возможности следует использовать вариант интеграции Частная зона DNS. Если по какой-либо причине вы не можете использовать этот параметр, см. раздел Использование пользовательского DNS-сервера.

  9. По завершении выберите Next: Теги.

  10. На вкладке Теги настройте все необходимые теги, а затем выберите Далее: проверка и создание.

  11. Просмотрите сведения о конфигурации и выберите Создать , чтобы создать ресурс частной конечной точки.

Снимок экрана: портал Azure, в котором показана сводка по созданию частной конечной точки.

Проверка создания частной конечной точки

После создания частной конечной точки вы сможете получить к ней доступ в портал Azure.

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

  1. В портал Azure перейдите к приложению IoT Central и выберите Сеть.

  2. Выберите вкладку Подключения к частной конечной точке . В таблице показаны все частные конечные точки, созданные для приложения.

Использование пользовательского DNS-сервера

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

  1. Установите chocolatey.

  2. Установите ARMClient:

    choco install armclient
    
  3. Войдите с помощью ARMClient:

    armclient login 
    
  4. Используйте следующую команду, чтобы получить частные зоны DNS для приложения IoT Central. Замените заполнители сведениями о приложении IoT Central:

    armclient GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources?api-version=2021-11-01-preview
    
  5. Проверьте ответ. Необходимые зоны DNS находятся в массиве requiredZoneNames полезных данных ответа:

    {  
      "value": [  
        {  
          "id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources/iotApp",  
          "name": "ioTApp",  
          "type": "Microsoft.IoTCentral/IoTApps/privateLinkResources",  
          "location": "<the region of your application>",  
          "properties": {  
          "groupId": "iotApp",  
          "requiredMembers":[  
            "<IoTCentral Name>",  
            "<DPS Name>",  
            "<IoTHub1 Name>",  
            "<IoTHub2 Name>",  
            "<EH1 Name>",  
            "<EH2 Name>"],  
          "requiredZoneNames": [  
            "privatelink.azureiotcentral.com",  
            "privatelink.azure-devices.net",  
            "privatelink.servicebus.windows.net",  
            "privatelink.azure-devices-provisioning.net"],  
          "provisioningState": "Succeeded"}  
        }  
      ]  
    }
    
  6. В портал Azure перейдите к частной конечной точке и выберите Конфигурация DNS. На этой странице можно найти необходимые сведения для сопоставления IP-адресов с DNS-именем.

Снимок экрана: портал Azure, в котором показана частная конфигурация DNS.

Предупреждение

Эти сведения позволяют заполнить пользовательский DNS-сервер необходимыми записями. По возможности следует интегрироваться с частными зонами DNS виртуальной сети и не настраивать собственный пользовательский DNS-сервер. Частные конечные точки для приложений IoT Central отличаются от других служб Azure PaaS. В некоторых ситуациях, таких как автомасштабирование IoT Central, IoT Central масштабирует количество Центров Интернета вещей, доступных через частную конечную точку. Если вы решили заполнить собственный пользовательский DNS-сервер, вы несете ответственность за обновление записей DNS при каждом автомасштабировании IoT Central и последующее удаление записей при масштабировании количества Центров Интернета вещей.

Брандмауэры для ограничения общего доступа

Чтобы ограничить общий доступ устройств к IoT Central, отключите доступ из общедоступных конечных точек. После отключения общего доступа устройства не могут подключаться к IoT Central из общедоступных сетей и должны использовать частную конечную точку:

  1. В портал Azure перейдите к приложению IoT Central и выберите Сеть.

  2. На вкладке Общий доступ выберите Отключено для доступа к общедоступной сети.

  3. При необходимости можно определить список IP-адресов и диапазонов, которые могут подключаться к общедоступной конечной точке приложения IoT Central.

  4. Щелкните Сохранить.

Подключение к частной конечной точке

При отключении доступа к общедоступной сети для приложения IoT Central устройства не смогут подключиться к глобальной конечной точке службы подготовки устройств (DPS). Это происходит потому, что только полное доменное имя для DPS имеет прямой IP-адрес в виртуальной сети. Глобальная конечная точка теперь недоступна.

При настройке частной конечной точки для приложения IoT Central конечная точка службы IoT Central обновляется с учетом прямой конечной точки DPS.

Обновите код устройства, чтобы использовать прямую конечную точку DPS.

Снимок экрана: приложение IoT Central, в котором показана прямая конечная точка DPS.

Рекомендации

  • Не используйте URL-адреса поддомена приватного канала для подключения устройств к IoT Central. После создания частной конечной точки всегда используйте URL-адрес DPS, отображаемый в приложении IoT Central.

  • Использование частных зон DNS, предоставляемых Azure, для управления DNS. Старайтесь не использовать собственный DNS-сервер, так как вам потребуется постоянно обновлять конфигурацию DNS, чтобы не отставать, так как IoT Central автоматически масштабирует свои ресурсы.

  • При создании нескольких частных конечных точек для одного ресурса IoT Central зона DNS может перезаписать полные доменные имена, поэтому их следует добавить еще раз.

Ограничения

  • В настоящее время частное подключение включено только для подключений устройств к базовым центрам Интернета вещей и DPS в приложении IoT Central. Пользовательский веб-интерфейс IoT Central и API-интерфейсы продолжают работать через общедоступные конечные точки.

  • Частная конечная точка должна находиться в том же регионе, что и виртуальная сеть.

  • При отключении доступа к общедоступной сети:

    • Имитированные устройства IoT Central не работают, так как у них нет подключения к виртуальной сети.

    • Глобальная конечная точка DPS (global.device-provisioning.net) недоступна. Обновите встроенное ПО устройства, чтобы подключиться к прямому экземпляру DPS. Прямой URL-адрес DPS можно найти на странице Группы подключений устройств в приложении IoT Central.

  • Вы не сможете переименовать приложение IoT Central после настройки частной конечной точки.

  • Вы не можете переместить частную конечную точку или приложение IoT Central в другую группу ресурсов или подписку.

  • Поддержка ограничена протоколом IPv4. IPv6 не поддерживается.

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

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

Проверьте состояние подключения

Убедитесь, что для частной конечной точки установлено состояние подключения утверждено.

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

Выполнение проверок в виртуальной сети

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

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

Кроме того, выполните следующую команду, чтобы убедиться, что DNS-имя каждого полного доменного имени совпадает с соответствующим IP-адресом.

#replace the <...> placeholders with the correct values 
nslookup iotc-….azure-devices.net 

Результат выглядит следующим образом:

#Results in the following output: 
Server:127.0.0.53 
Address:127.0.0.53#53 

Non-authoritative answer: xyz.azure-devices.net
canonical name = xyz.privatelink.azure-devices.net
Name:xyz.privatelink.azure-devices.net
Address: 10.1.1.12

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

Проверка наличия нескольких частных конечных точек

Конфигурация DNS может быть перезаписана при создании или удалении нескольких частных конечных точек для одного приложения IoT Central:

  • В портал Azure перейдите к ресурсу частной конечной точки.
  • Убедитесь, что в разделе DNS есть записи для всех необходимых ресурсов: Центры Интернета вещей, Центры событий, полные доменные имена DPS и IoT Central.
  • Убедитесь, что IP-адреса (и IP-адреса для других частных конечных точек, использующих эту зону DNS) отражаются в записи A DNS.
  • Удалите все записи A для IP-адресов из старых частных конечных точек, которые уже были удалены.

Советы по устранению неполадок

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

Если все проверки выполнены успешно и устройствам по-прежнему не удается установить подключение к IoT Central, обратитесь к группе корпоративной безопасности, ответственной за брандмауэры и сеть в целом. Возможные причины сбоев перечислены ниже.

  • Неправильная настройка виртуальной сети Azure
  • Неправильная настройка (модуль) брандмауэра
  • Неправильная настройка определяемых пользователем маршрутов в виртуальной сети Azure
  • Неправильно настроенный прокси-сервер между устройством и ресурсами IoT Central

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

Теперь, когда вы узнали, как создать частную конечную точку для приложения, вот следующий шаг: