Tworzenie i konfigurowanie prywatnego punktu końcowego dla usługi IoT Central

Urządzenia można połączyć z aplikacją usługi IoT Central przy użyciu prywatnego punktu końcowego w usłudze Azure Virtual Network.

Prywatne punkty końcowe używają prywatnych adresów IP z przestrzeni adresowej sieci wirtualnej, aby połączyć urządzenia prywatnie z aplikacją usługi IoT Central. Ruch sieciowy między urządzeniami w sieci wirtualnej a platformą IoT przechodzi przez sieć wirtualną i łącze prywatne w sieci szkieletowej firmy Microsoft, eliminując narażenie na publiczny Internet. W tym artykule pokazano, jak utworzyć prywatny punkt końcowy dla aplikacji usługi IoT Central.

Wymagania wstępne

  • Aktywna subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
  • Aplikacja usługi IoT Central. Aby dowiedzieć się więcej, zobacz Tworzenie aplikacji usługi IoT Central.
  • Sieć wirtualna w ramach subskrypcji platformy Azure. Aby dowiedzieć się więcej, zobacz Tworzenie sieci wirtualnej. Aby wykonać kroki opisane w tym przewodniku, nie potrzebujesz hosta ani maszyn wirtualnych usługi Bastion.

Tworzenie prywatnego punktu końcowego

Istnieje kilka sposobów tworzenia prywatnego punktu końcowego dla aplikacji usługi IoT Central:

Aby utworzyć prywatny punkt końcowy w istniejącej aplikacji usługi IoT Central:

  1. W Azure Portal przejdź do aplikacji, a następnie wybierz pozycję Sieć.

  2. Wybierz kartę Połączenia prywatnego punktu końcowego , a następnie wybierz pozycję + Prywatny punkt końcowy.

  3. Na karcie Podstawy wprowadź nazwę i wybierz region dla prywatnego punktu końcowego. Następnie wybierz pozycję Dalej: Zasób.

  4. Karta Zasób jest automatycznie wypełniana. Wybierz pozycję Dalej: Virtual Network.

  5. Na karcie Virtual Network wybierz sieć wirtualną i podsieć, w której chcesz wdrożyć prywatny punkt końcowy.

  6. Na tej samej karcie w sekcji Konfiguracja prywatnego adresu IP wybierz pozycję Dynamicznie przydziel adres IP.

  7. Wybierz pozycję Dalej: DNS.

  8. Na karcie DNS wybierz pozycję Tak w obszarze Integracja z prywatną strefą DNS. Prywatny system DNS rozpoznaje wszystkie wymagane punkty końcowe do prywatnych adresów IP w sieci wirtualnej:

    Zrzut ekranu przedstawiający Azure Portal z prywatną integracją DNS.

    Uwaga

    Ze względu na możliwości skalowania automatycznego w usłudze IoT Central należy użyć opcji integracji Prywatna strefa DNS, jeśli jest to możliwe. Jeśli z jakiegoś powodu nie możesz użyć tej opcji, zobacz Używanie niestandardowego serwera DNS.

  9. Wybierz pozycję Dalej: tagi.

  10. Na karcie Tagi skonfiguruj wymagane tagi, a następnie wybierz pozycję Dalej: Przeglądanie i tworzenie.

  11. Przejrzyj szczegóły konfiguracji, a następnie wybierz pozycję Utwórz , aby utworzyć zasób prywatnego punktu końcowego.

Zrzut ekranu przedstawiający Azure Portal pokazujący podsumowanie tworzenia prywatnego punktu końcowego.

Weryfikowanie tworzenia prywatnego punktu końcowego

Po zakończeniu tworzenia prywatnego punktu końcowego możesz uzyskać do niego dostęp w Azure Portal.

Aby wyświetlić wszystkie prywatne punkty końcowe utworzone dla aplikacji:

  1. W Azure Portal przejdź do aplikacji usługi IoT Central, a następnie wybierz pozycję Sieć.

  2. Wybierz kartę Połączenia z prywatnym punktem końcowym . W tabeli przedstawiono wszystkie prywatne punkty końcowe utworzone dla aplikacji.

Używanie niestandardowego serwera DNS

W niektórych sytuacjach może nie być możliwe zintegrowanie z prywatną strefą DNS sieci wirtualnej. Możesz na przykład użyć własnego serwera DNS lub utworzyć rekordy DNS przy użyciu plików hosta na maszynach wirtualnych. W tej sekcji opisano sposób uzyskiwania do stref DNS.

  1. Zainstaluj czekoladę.

  2. Zainstaluj klienta ARMClient:

    choco install armclient
    
  3. Zaloguj się przy użyciu klienta ARMClient:

    armclient login 
    
  4. Użyj następującego polecenia, aby pobrać prywatne strefy DNS dla aplikacji usługi IoT Central. Zastąp symbole zastępcze szczegółami aplikacji usługi IoT Central:

    armclient GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources?api-version=2021-11-01-preview
    
  5. Sprawdź odpowiedź. Wymagane strefy DNS znajdują się w requiredZoneNames tablicy w ładunku odpowiedzi:

    {  
      "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. W Azure Portal przejdź do prywatnego punktu końcowego i wybierz pozycję Konfiguracja DNS. Na tej stronie można znaleźć wymagane informacje dotyczące mapowania adresów IP na nazwę DNS.

Zrzut ekranu z Azure Portal pokazujący prywatną konfigurację DNS.

Ostrzeżenie

Te informacje umożliwiają wypełnienie niestandardowego serwera DNS rekordami wymaganymi. Jeśli to możliwe, należy zintegrować z prywatnymi strefami DNS sieci wirtualnej i nie skonfigurować własnego niestandardowego serwera DNS. Prywatne punkty końcowe dla aplikacji usługi IoT Central różnią się od innych usług PaaS platformy Azure. W niektórych sytuacjach, takich jak skalowanie automatyczne usługi IoT Central, usługa IoT Central skaluje w poziomie liczbę centrów IoT Dostępnych za pośrednictwem prywatnego punktu końcowego. Jeśli zdecydujesz się wypełnić własny niestandardowy serwer DNS, twoim obowiązkiem jest zaktualizowanie rekordów DNS przy każdym automatycznym skalowaniu usługi IoT Central, a następnie usunięcie rekordów podczas skalowania liczby centrów IoT.

Ograniczanie dostępu publicznego

Aby ograniczyć dostęp publiczny dla urządzeń do usługi IoT Central, wyłącz dostęp z publicznych punktów końcowych. Po wyłączeniu dostępu publicznego urządzenia nie mogą łączyć się z usługą IoT Central z sieci publicznych i muszą używać prywatnego punktu końcowego:

  1. W Azure Portal przejdź do aplikacji usługi IoT Central, a następnie wybierz pozycję Sieć.

  2. Na karcie Dostęp publiczny wybierz pozycję Wyłączone dla dostępu do sieci publicznej.

  3. Opcjonalnie można zdefiniować listę adresów IP/zakresów, które mogą łączyć się z publicznym punktem końcowym aplikacji usługi IoT Central.

  4. Wybierz pozycję Zapisz.

Nawiązywanie połączenia z prywatnym punktem końcowym

Po wyłączeniu dostępu do sieci publicznej dla aplikacji usługi IoT Central urządzenia nie będą mogły nawiązać połączenia z globalnym punktem końcowym usługi Device Provisioning Service (DPS). Dzieje się tak, ponieważ jedyna nazwa FQDN dla usługi DPS ma bezpośredni adres IP w sieci wirtualnej. Globalny punkt końcowy jest teraz niemożliwy do osiągnięcia.

Po skonfigurowaniu prywatnego punktu końcowego dla aplikacji usługi IoT Central punkt końcowy usługi IoT Central zostanie zaktualizowany w celu odzwierciedlenia bezpośredniego punktu końcowego usługi DPS.

Zaktualizuj kod urządzenia, aby używać bezpośredniego punktu końcowego usługi DPS.

Zrzut ekranu przedstawiający bezpośredni punkt końcowy usługi DPS z aplikacji usługi IoT Central.

Najlepsze rozwiązania

  • Nie używaj adresów URL poddomeny łącza prywatnego do łączenia urządzeń z usługą IoT Central. Zawsze używaj adresu URL usługi DPS wyświetlanego w aplikacji usługi IoT Central po utworzeniu prywatnego punktu końcowego.

  • Korzystanie z platformy Azure zapewnianych prywatnych stref DNS na potrzeby zarządzania systemem DNS. Unikaj używania własnego serwera DNS, ponieważ należy stale aktualizować konfigurację DNS, aby zachować możliwość automatycznego skalowania zasobów przez usługę IoT Central.

  • Jeśli tworzysz wiele prywatnych punktów końcowych dla tego samego zasobu usługi IoT Central, strefa DNS może zastąpić nazwy FQDN, więc należy dodać je ponownie.

Ograniczenia

  • Obecnie łączność prywatna jest włączona tylko dla połączeń urządzeń z bazowymi centrami IoT i usługą DPS w aplikacji usługi IoT Central. Internetowy interfejs użytkownika i interfejsy API usługi IoT Central nadal działają za pośrednictwem publicznych punktów końcowych.

  • Prywatny punkt końcowy musi znajdować się w tym samym regionie co sieć wirtualna.

  • Po wyłączeniu dostępu do sieci publicznej:

    • Symulowane urządzenia usługi IoT Central nie działają, ponieważ nie mają łączności z siecią wirtualną.

    • Globalny punkt końcowy usługi DPS (global.device-provisioning.net) jest niedostępny. Zaktualizuj oprogramowanie układowe urządzenia, aby nawiązać połączenie z bezpośrednim wystąpieniem usługi DPS. Bezpośredni adres URL usługi DPS można znaleźć na stronie Grupy połączeń urządzeń w aplikacji usługi IoT Central.

  • Nie można zmienić nazwy aplikacji usługi IoT Central po skonfigurowaniu prywatnego punktu końcowego.

  • Nie można przenieść prywatnego punktu końcowego ani aplikacji usługi IoT Central do innej grupy zasobów lub subskrypcji.

  • Obsługa jest ograniczona do protokołu IPv4. Protokół IPv6 nie jest obsługiwany.

Rozwiązywanie problemów

Jeśli masz problemy z nawiązaniem połączenia z prywatnym punktem końcowym, skorzystaj z poniższych wskazówek dotyczących rozwiązywania problemów:

Sprawdzanie stanu połączenia

Upewnij się, że stan połączenia prywatnego punktu końcowego jest ustawiony na zatwierdzony.

  1. W Azure Portal przejdź do aplikacji, a następnie wybierz pozycję Sieć.
  2. Wybierz kartę Połączenie z prywatnymi punktami końcowymi . Sprawdź, czy stan połączenia jest zatwierdzony dla prywatnego punktu końcowego.

Uruchamianie kontroli w sieci wirtualnej

Skorzystaj z poniższych testów, aby zbadać problemy z łącznością z tej samej sieci wirtualnej. Wdróż maszynę wirtualną w tej samej sieci wirtualnej, w której utworzono prywatny punkt końcowy. Zaloguj się do maszyny wirtualnej, aby uruchomić następujące testy.

Aby upewnić się, że rozpoznawanie nazw działa prawidłowo, iteruje wszystkie nazwy FQDN w konfiguracji DNS prywatnego punktu końcowego i uruchamia testy przy użyciu metody nslookup, Test-NetConnectionlub innych podobnych narzędzi, aby sprawdzić, czy każda usługa DNS jest zgodna z odpowiednim adresem IP.

Ponadto uruchom następujące polecenie, aby sprawdzić, czy nazwa DNS każdej nazwy FQDN jest zgodna z odpowiednim adresem IP.

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

Wynik wygląda następująco:

#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

Jeśli znajdziesz nazwę FQDN, która nie jest zgodna z odpowiednim adresem IP, napraw niestandardowy serwer DNS. Jeśli nie używasz niestandardowego serwera DNS, utwórz bilet pomocy technicznej.

Sprawdź, czy masz wiele prywatnych punktów końcowych

Konfigurację DNS można zastąpić, jeśli tworzysz lub usuwasz wiele prywatnych punktów końcowych dla pojedynczej aplikacji usługi IoT Central:

  • W Azure Portal przejdź do zasobu prywatnego punktu końcowego.
  • W sekcji DNS upewnij się, że istnieją wpisy dla wszystkich wymaganych zasobów: IoT Hubs, Event Hubs, DPS i IoT Central FQDN.
  • Sprawdź, czy adresy IP (i adresy IP dla innych prywatnych punktów końcowych korzystających z tej strefy DNS) są odzwierciedlane w rekordzie A dns.
  • Usuń wszystkie rekordy A dla adresów IP ze starszych prywatnych punktów końcowych, które zostały już usunięte.

Inne porady dotyczące rozwiązywania problemów

Jeśli po wypróbowaniu wszystkich tych testów nadal występuje problem, wypróbuj przewodnik rozwiązywania problemów z prywatnym punktem końcowym.

Jeśli wszystkie testy zakończyły się pomyślnie, a urządzenia nadal nie mogą nawiązać połączenia z usługą IoT Central, skontaktuj się z zespołem ds. zabezpieczeń firmy odpowiedzialnym za zapory i sieć w ogóle. Potencjalne przyczyny niepowodzenia obejmują:

  • Błędna konfiguracja sieci wirtualnej platformy Azure
  • Błędna konfiguracja urządzenia zapory
  • Błędna konfiguracja tras zdefiniowanych przez użytkownika w sieci wirtualnej platformy Azure
  • Nieprawidłowo skonfigurowany serwer proxy między urządzeniem a zasobami usługi IoT Central

Następne kroki

Teraz, gdy wiesz już, jak utworzyć prywatny punkt końcowy dla aplikacji, oto sugerowany następny krok: