Udostępnij za pośrednictwem


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 link prywatny w sieci szkieletowej firmy Microsoft, eliminując narażenie na publiczne 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:

  • Użyj witryny Azure Portal, aby bezpośrednio utworzyć zasób prywatnego punktu końcowego. Użyj tej opcji, jeśli nie masz dostępu do aplikacji usługi IoT Central, która wymaga prywatnego punktu końcowego.
  • Tworzenie prywatnego punktu końcowego w istniejącej aplikacji usługi IoT Central

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

  1. W witrynie 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: Sieć wirtualna.

  5. Na karcie Sieć wirtualna 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 witryny Azure Portal przedstawiający prywatną integrację z usługą DNS.

    Uwaga

    Ze względu na możliwości autoskalowania w usłudze IoT Central należy użyć opcji integracji Prywatna strefa DNS, jeśli w ogóle 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: Przejrzyj i utwórz.

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

Zrzut ekranu z witryny Azure Portal przedstawiają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 witrynie Azure Portal.

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

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

  2. Wybierz kartę Połączenia prywatnego punktu końcowego. 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 witrynie Azure Portal przejdź do prywatnego punktu końcowego i wybierz pozycję Konfiguracja DNS. Na tej stronie można znaleźć wymagane informacje dotyczące mapowania adresu IP na nazwę DNS.

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

Ostrzeżenie

Te informacje umożliwiają wypełnienie niestandardowego serwera DNS rekordami niezbędnymi. Jeśli w ogóle jest 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 liczbę centrów IoT Hub 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 za każdym razem, gdy usługa IoT Central automatycznie skaluje, a później usuń rekordy, gdy liczba centrów IoT jest skalowana.

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ą korzystać z prywatnego punktu końcowego:

  1. W witrynie 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.

Napiwek

Jeśli zdecydujesz się zdefiniować listę adresów IP/zakresów, które mogą łączyć się z publicznym punktem końcowym aplikacji usługi IoT Central, pamiętaj o dołączeniu adresu IP dowolnego serwera proxy używanego przez urządzenia do łączenia się z aplikacją usługi IoT Central.

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.

Podczas konfigurowania prywatnego punktu końcowego dla aplikacji usługi IoT Central punkt końcowy usługi IoT Central jest aktualizowany 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.

  • Użyj platformy Azure udostępnionych prywatnych stref DNS na potrzeby zarządzania systemem DNS. Unikaj korzystania z własnego serwera DNS, ponieważ należy stale aktualizować konfigurację DNS, aby zachować automatyczne skalowanie zasobów usługi IoT Central.

  • Jeśli utworzysz 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) nie jest dostę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 witrynie Azure Portal przejdź do aplikacji, a następnie wybierz pozycję Sieć.
  2. Wybierz kartę Połączenie prywatnych punktów końcowych. Sprawdź, czy stan połączenia to Zatwierdzone dla prywatnego punktu końcowego.

Uruchamianie kontroli w sieci wirtualnej

Użyj 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, iteruj wszystkie nazwy FQDN w konfiguracji DNS prywatnego punktu końcowego i uruchamiaj testy przy użyciu , nslookupTest-NetConnectionlub innych podobnych narzędzi, aby sprawdzić, czy każdy system DNS pasuje do odpowiedniego adresu 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 podobnie do następujących danych wyjściowych:

#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.

Sprawdzanie, 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 witrynie 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 wcześniej 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 to:

  • 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: