Freigeben über


Erstellen und Konfigurieren eines privaten Endpunkts für IoT Central

Sie können Ihre Geräte mit Ihrer IoT Central-Anwendung verbinden, indem Sie einen privaten Endpunkt in einem virtuellen Netzwerk von Azure verwenden.

Private Endpunkte verwenden private IP-Adressen aus einem Adressraum eines virtuellen Netzwerks, um Ihre Geräte privat mit Ihrer IoT Central-Anwendung zu verbinden. Der Netzwerkdatenverkehr zwischen den Geräten im virtuellen Netzwerk und der Registrierung wird über das virtuelle Netzwerk und eine private Verbindung im Microsoft-Backbone-Netzwerk geleitet und somit nicht dem öffentlichen Internet ausgesetzt. Dieser Artikel zeigt, wie Sie einen privaten Endpunkt für Ihre IoT Central-Anwendung erstellen.

Voraussetzungen

  • Ein aktives Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
  • Eine IoT Central-Anwendung. Weitere Informationen finden Sie unter Erstellen einer IoT Central-Anwendung.
  • Ein virtuelles Netzwerk in Ihrem Azure-Abonnement. Weitere Informationen finden Sie unter Erstellen eines virtuellen Netzwerks. Um die Schritte in diesem Handbuch auszuführen, benötigen Sie keinen Bastion-Host oder VMs.

Erstellen eines privaten Endpunkts

Es gibt mehrere Möglichkeiten, um einen privaten Endpunkt für einen IoT-Central-Anwendung zu erstellen:

Zur Erstellung eines privaten Endpunkts für eine vorhandene IoT-Central-Anwendung:

  1. Navigieren Sie im Azure-Portal zu Ihrer Anwendung, und wählen Sie dann Netzwerk aus.

  2. Wählen Sie die Registerkarte Verbindungen mit privatem Endpunkt und dann + Privater Endpunkt aus.

  3. Geben Sie auf der Registerkarte Grundlagen einen Namen ein, und wählen Sie eine Region für Ihren privaten Endpunkt aus. Wählen Sie dann Weiter: Ressource aus.

  4. Die Registerkarte Ressource wird automatisch für Sie aufgefüllt. Wählen Sie Weiter: Virtuelles Netzwerk aus.

  5. Wählen Sie unter der Registerkarte Virtuelles Netzwerk das Virtuelle Netzwerk und Subnetz aus, in dem Sie Ihren privaten Endpunkt bereitstellen möchten.

  6. Wählen Sie auf derselben Registerkarte im Abschnitt Private IP-Konfiguration die Option IP-Adresse dynamisch zuweisen aus.

  7. Wählen Sie Weiter: DNS aus.

  8. Wählen Sie auf der Registerkarte DNS die Option Ja für In private DNS-Zone integrieren. Das private DNS löst alle erforderlichen Endpunkte in private IP-Adressen in Ihrem virtuellen Netzwerk auf:

    Screenshot aus dem Azure-Portal, der die private DNS-Integration zeigt

    Hinweis

    Aufgrund der Funktionen für die automatische Skalierung in IoT Central sollten Sie nach Möglichkeit die Option Private DNS-Integration verwenden. Wenn Sie diese Option aus irgendeinem Grund nicht verwenden können, finden Sie weitere Informationen unter Verwenden eines benutzerdefinierten DNS-Servers.

  9. Klicken Sie auf Weiter: Tags.

  10. Konfigurieren Sie auf der Registerkarte Tags alle Tags, die Sie benötigen, und wählen Sie dann Weiter: Überprüfen + erstellen aus.

  11. Überprüfen Sie die Konfigurationsdetails, und wählen Sie dann Erstellen aus, um Ihre private Endpunktressource zu erstellen.

Screenshot aus dem Azure-Portal, der die Zusammenfassung zum Erstellen eines privaten Endpunkts zeigt.

Erstellen des privaten Endpunkts

Wenn die Erstellung des privaten Endpunkts abgeschlossen ist, können Sie im Azure-Portal darauf zugreifen.

So sehen Sie alle privaten Endpunkte, die für Ihre Anwendung erstellt wurden:

  1. Navigieren Sie im Azure-Portal zu Ihrer IoT-Central-Anwendung, und wählen Sie dann Netzwerk aus.

  2. Wählen Sie die Registerkarte Private Endpunktverbindungen aus. In der Tabelle werden alle privaten Endpunkte angezeigt, die für Ihre Anwendung erstellt wurden.

Verwendung eines benutzerdefinierten DNS-Servers

In einigen Situationen können Sie möglicherweise nicht in die private DNS-Zone des virtuellen Netzwerks integriert werden. Sie können möglicherweise auch Ihre eigenen DNS-Server verwenden oder DNS-Einträge mithilfe der Host-Dateien auf Ihre VM erstellen. In diesem Abschnitt wird beschrieben, wie Sie zu den DNS-Zonen gelangen.

  1. Installieren Sie Chocolatey.

  2. Installieren Sie ARMClient:

    choco install armclient
    
  3. Anmelden mit ARMClient:

    armclient login 
    
  4. Verwenden Sie den folgenden Befehl, um die privaten DNS-Zonen für Ihre IoT-Central-Anwendung abzurufen. Ersetzen Sie die Platzhalter durch die Details für Ihre IoT-Central-Anwendung:

    armclient GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources?api-version=2021-11-01-preview
    
  5. Überprüfen Sie die Antwort. Die erforderlichen DNS-Zonen befinden sich im requiredZoneNames-Array in den Antwortnutzdaten:

    {  
      "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. Navigieren Sie im Azure-Portal zu Ihrem privaten Endpunkt, und wählen Sie DNS-Konfiguration aus. Auf dieser Seite finden Sie die erforderlichen Informationen für die IP-Adresszuordnung zum DNS-Namen.

Screenshot aus dem Azure-Portal, der die private DNS-Konfiguration zeigt.

Warnung

Mit diesen Informationen können Sie Ihren benutzerdefinierten DNS-Server mit den erforderlichen Einträgen auffüllen. Wenn möglich, sollten Sie in die privaten DNS-Zonen des virtuellen Netzwerks integrieren und keinen eigenen benutzerdefinierten DNS-Server konfigurieren. Private Endpunkte für IoT Central Anwendungen unterscheiden sich von anderen Azure PaaS-Diensten. In einigen Situationen, so wie.automatische IoT-Central-Skalierung, skaliert IoT Central die Anzahl der IoT Hubs, auf die über den privaten Endpunkt zugegriffen werden kann, auf. Wenn Sie Ihren eigenen benutzerdefinierten DNS-Server auffüllen, liegt es in Ihrer Verantwortung, die DNS-Einträge zu aktualisieren, wenn IoT Central automatisch skaliert wird, und später Datensätze zu entfernen, wenn die Anzahl der IoT Hubs skaliert wird.

Einschränken des öffentlichen Zugriffs

Um den öffentlichen Zugriff für Ihre Geräte auf IoT Central zu beschränken, deaktivieren Sie den Zugriff von öffentlichen Endpunkten. Nachdem Sie den öffentlichen Zugriff deaktiviert haben, können Geräte keine Verbindung mit IoT Central aus öffentlichen Netzwerken herstellen und müssen einen privaten Endpunkt verwenden:

  1. Navigieren Sie im Azure-Portal zu Ihrer IoT-Central-Anwendung und wählen Sie dann Netzwerk aus.

  2. Wählen Sie auf der Registerkarte Öffentlicher Zugriff in Deaktiviert für öffentlichen Netzwerkzugang aus.

  3. Optional können Sie eine Liste von IP-Adressen/-Bereichen definieren, die eine Verbindung mit dem öffentlichen Endpunkt Ihrer IoT-Central-Anwendung herstellen können.

  4. Wählen Sie Speichern.

Tipp

Wenn Sie eine Liste von IP-Adressen/Bereichen definieren, die eine Verbindung zum öffentlichen Endpunkt Ihrer IoT Central-Anwendung herstellen können, stellen Sie sicher, dass Sie die IP-Adresse jedes Proxys angeben, den Ihre Geräte für die Verbindung mit Ihrer IoT Central-Anwendung verwenden.

Herstellen einer Verbindung mit einem privaten Endpunkt

Wenn Sie den öffentlichen Netzwerkzugriff für Ihre IoT-Central-Anwendung deaktivieren, können Ihre Geräte keine Verbindung mit dem globalen Endpunkt des Device Provisioning Service (DPS) herstellen. Dies liegt daran, dass der einzige FQDN für DPS über eine direkte IP-Adresse in Ihrem virtuellen Netzwerk verfügt. Der globale Endpunkt ist jetzt nicht erreichbar.

Wenn Sie einen privaten Endpunkt für Ihre IoT-Central-Anwendung konfigurieren, wird der IoT-Central-Dienstendpunkt aktualisiert, um den direkten DPS-Endpunkt widerzuspiegeln.

Aktualisieren Sie Ihren Gerätecode, um den direkten DPS-Endpunkt zu verwenden.

Screenshot aus der IoT Central-Anwendung, der den direkten DPS-Endpunkt zeigt.

Bewährte Methoden

  • Verwenden Sie keine URLs für private Link-Unterdomänen, um Ihre Geräte mit IoT Central zu verbinden. Verwenden Sie immer die DPS-URL, die in Ihrer IoT-Central-Anwendung angezeigt wird, nachdem Sie den privaten Endpunkt erstellt haben.

  • Verwenden Sie von Azure bereitgestellte private DNS-Zonen für die DNS-Verwaltung. Vermeiden Sie die Verwendung Ihres eigenen DNS-Servers, da Sie Ihre DNS-Konfiguration ständig aktualisieren müssten, damit IoT Central die Ressourcen automatisch skaliert.

  • Wenn Sie mehrere private Endpunkte für dieselbe IoT-Central-Ressource erstellen, kann die DNS-Zone die FQDNs möglicherweise überschreiben, sodass Sie sie erneut hinzufügen sollten.

Begrenzungen

  • Derzeit ist private Konnektivität nur für Geräteverbindungen mit den zugrunde liegenden IoT Hubs und DPS in der IoT Central-Anwendung aktiviert. Die IoT-Central Web-UI und -APIs funktionieren weiterhin über ihre öffentlichen Endpunkte.

  • Der private Endpunkt muss in derselben Region wie das virtuelle Netzwerk bereitgestellt werden.

  • So deaktivieren Sie den öffentlichen Netzwerkzugriff:

    • Mit IoT Central simulierte Geräte funktionieren nicht, da sie keine Verbindung mit Ihrem virtuellen Netzwerk haben.

    • Auf den globalen DPS-Endpunkt (global.device-provisioning.net) kann nicht zugegriffen werden. Aktualisieren Sie Ihre Geräte-Firmware, um eine Verbindung mit der direkten DPS-Instanz herzustellen. Sie finden die direkte DPS-URL auf der Seite Geräteverbindungsgruppen in Ihrer IoT-Central-Anwendung.

  • Sie können Ihre IoT-Central-Anwendung nicht umbenennen, nachdem Sie einen privaten Endpunkt konfiguriert haben.

  • Sie können Ihren privaten Endpunkt oder die IoT-Central-Anwendung nicht in eine andere Ressourcengruppe oder ein anderes Abonnement verschieben.

  • Die Unterstützung ist auf IPv4 beschränkt. ICv6 wird nicht unterstützt.

Problembehandlung

Wenn Sie Probleme beim Herstellen einer Verbindung mit einem privaten Endpunkt haben, verwenden Sie die folgenden Anleitungen zur Problembehandlung:

Überprüfen Sie den Verbindungsstatus

Stellen Sie sicher, dass der Verbindungsstatus Ihres privaten Endpunkts auf Genehmigt festgelegt ist.

  1. Navigieren Sie im Azure-Portal zu Ihrer Anwendung, und wählen Sie dann Netzwerk aus.
  2. Wählen Sie die Registerkarte Verbindung privater Endpunkte aus. Vergewissern Sie sich, dass der Verbindungsstatus für Ihren privaten Endpunkt Genehmigt lautet.

Führen Sie Überprüfungen im virtuellen Netzwerk aus

Verwenden Sie die folgenden Überprüfungen, um Verbindungsprobleme innerhalb desselben virtuellen Netzwerks zu untersuchen. Stellen Sie einen virtuellen Computer in demselben virtuellen Netzwerk bereit, in dem Sie den privaten Endpunkt erstellt haben. Melden Sie sich beim virtuellen Computer an, um die folgenden Tests auszuführen.

Um sicherzustellen, dass die Namensauflösung ordnungsgemäß funktioniert, durchlaufen Sie alle FQDNs in der DNS-Konfiguration des privaten Endpunkts, und führen Sie die Tests mit nslookup, Test-NetConnection oder anderen ähnlichen Tools aus, um zu überprüfen, ob jedes DNS mit der entsprechenden IP-Adresse übereinstimmt.

Führen Sie außerdem den folgenden Befehl aus, um zu überprüfen, ob der DNS-Name jedes FQDN mit der entsprechenden IP-Adresse übereinstimmt.

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

Das Ergebnis sieht in etwa wie folgt aus:

#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

Wenn Sie einen FQDN finden, der nicht mit der entsprechenden IP-Adresse übereinstimmt, korrigieren Sie Ihren benutzerdefinierten DNS-Server. Wenn Sie keinen benutzerdefinierten DNS-Server verwenden, erstellen Sie ein Supportticket.

Überprüfen Sie, ob Sie über mehrere private Endpunkte verfügen

Die DNS-Konfiguration kann überschrieben werden, wenn Sie mehrere private Endpunkte für eine einzelne IoT-Central-Anwendung erstellen oder löschen:

  • Navigieren Sie im Azure-Portal zur privaten Endpunktressource.
  • Stellen Sie im Abschnitt DNS sicher, dass Einträge für alle erforderlichen Ressourcen vorhanden sind: IoT Hubs, Event Hubs, DPS und IoT Central FQDNs.
  • Überprüfen Sie, ob die IPs (und IPs für andere private Endpunkte, die diese DNS-Zone verwenden) im A-Eintrag des DNS widergespiegelt werden.
  • Entfernen Sie alle A-Einträge für IP-Einträge aus älteren privaten Endpunkten, die bereits gelöscht wurden.

Weitere Tipps zur Problembehandlung

Wenn nach dem Ausprobieren all dieser Überprüfungen weiterhin ein Problem auftritt, können Sie den Leitfaden zur Problembehandlung für private Endpunkte probieren.

Wenn alle Überprüfungen erfolgreich sind und Ihre Geräte weiterhin keine Verbindung mit IoT Central herstellen können, wenden Sie sich an das Unternehmenssicherheitsteam, das für Firewalls und Netzwerke im Allgemeinen verantwortlich ist. Der Fehler kann folgende allgemeine Ursachen haben:

  • Fehlkonfiguration Ihres virtuellen Azure-Netzwerks
  • Fehlkonfiguration einer Firewall-Appliance
  • Eine Fehlkonfiguration durch einen Benutzer definiert Routen in Ihrem virtuellen Azure-Netzwerk
  • Ein falsch konfigurierter Proxy zwischen dem Gerät und IoT-Central-Ressourcen

Nächste Schritte

Nachdem Sie nun erfahren haben, wie Sie einen privaten Endpunkt für Ihre Anwendung erstellen, wird als nächstes der folgende Schritt empfohlen: