Dela via


Skapa och konfigurera en privat slutpunkt för IoT Central

Du kan ansluta dina enheter till ditt IoT Central-program med hjälp av en privat slutpunkt i en Azure-Virtual Network.

Privata slutpunkter använder privata IP-adresser från ett virtuellt nätverksadressutrymme för att ansluta dina enheter privat till ditt IoT Central-program. Nätverkstrafik mellan enheter i det virtuella nätverket och IoT-plattformen passerar det virtuella nätverket och en privat länk i Microsofts stamnätverk, vilket eliminerar exponering på det offentliga Internet. Den här artikeln visar hur du skapar en privat slutpunkt för ditt IoT Central-program.

Förutsättningar

  • En aktiv Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
  • Ett IoT Central-program. Mer information finns i Skapa ett IoT Central-program.
  • Ett virtuellt nätverk i din Azure-prenumeration. Mer information finns i Skapa ett virtuellt nätverk. För att slutföra stegen i den här guiden behöver du ingen Bastion-värd eller virtuella datorer.

Skapa en privat slutpunkt

Det finns flera sätt att skapa en privat slutpunkt för IoT Central-programmet:

Så här skapar du en privat slutpunkt i ett befintligt IoT Central-program:

  1. I Azure Portal navigerar du till ditt program och väljer sedan Nätverk.

  2. Välj fliken Privata slutpunktsanslutningar och välj sedan + Privat slutpunkt.

  3. På fliken Grundläggande anger du ett namn och väljer en region för din privata slutpunkt. Välj sedan Nästa: Resurs.

  4. Fliken Resurs fylls i automatiskt åt dig. Välj Nästa: Virtual Network.

  5. På fliken Virtual Network väljer du det virtuella nätverket och undernätet där du vill distribuera din privata slutpunkt.

  6. På samma flik går du till avsnittet Privat IP-konfiguration och väljer Dynamiskt allokera IP-adress.

  7. Välj Nästa: DNS.

  8. På fliken DNS väljer du Ja för Integrera med privat DNS-zon. Den privata DNS:n löser alla nödvändiga slutpunkter till privata IP-adresser i ditt virtuella nätverk:

    Skärmbild från Azure Portal som visar privat DNS-integrering.

    Anteckning

    På grund av autoskalningsfunktionerna i IoT Central bör du använda Privat DNS integrationsalternativet om det är möjligt. Om du av någon anledning inte kan använda det här alternativet kan du läsa Använda en anpassad DNS-server.

  9. Välj Nästa: Taggar.

  10. På fliken Taggar konfigurerar du eventuella taggar som du behöver och väljer sedan Nästa: Granska + Skapa.

  11. Granska konfigurationsinformationen och välj sedan Skapa för att skapa din privata slutpunktsresurs.

Skärmbild från Azure Portal som visar sammanfattningen för att skapa en privat slutpunkt.

Verifiera att privata slutpunkter skapas

När skapandet av den privata slutpunkten är klar kan du komma åt den i Azure Portal.

Så här ser du alla privata slutpunkter som skapats för ditt program:

  1. I Azure Portal navigerar du till ditt IoT Central-program och väljer sedan Nätverk.

  2. Välj fliken Privata slutpunktsanslutningar . Tabellen visar alla privata slutpunkter som skapats för ditt program.

Använda en anpassad DNS-server

I vissa situationer kanske du inte kan integrera med den privata DNS-zonen i det virtuella nätverket. Du kan till exempel använda din egen DNS-server eller skapa DNS-poster med hjälp av värdfilerna på dina virtuella datorer. I det här avsnittet beskrivs hur du kommer till DNS-zonerna.

  1. Installera chocolatey.

  2. Installera ARMClient:

    choco install armclient
    
  3. Logga in med ARMClient:

    armclient login 
    
  4. Använd följande kommando för att hämta privata DNS-zoner för ditt IoT Central-program. Ersätt platshållarna med informationen för ditt IoT Central-program:

    armclient GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources?api-version=2021-11-01-preview
    
  5. Kontrollera svaret. De DNS-zoner som krävs finns i matrisen requiredZoneNames i svarsnyttolasten:

    {  
      "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. I Azure Portal navigerar du till din privata slutpunkt och väljer DNS-konfiguration. På den här sidan hittar du den information som krävs för IP-adressmappningen till DNS-namnet.

Skärmbild från Azure Portal som visar den privata DNS-konfigurationen.

Varning

Med den här informationen kan du fylla i din anpassade DNS-server med nödvändiga poster. Om det är möjligt bör du integrera med privata DNS-zoner i det virtuella nätverket och inte konfigurera din egen anpassade DNS-server. Privata slutpunkter för IoT Central-program skiljer sig från andra Azure PaaS-tjänster. I vissa situationer, till exempel automatisk skalning i IoT Central, skalar IoT Central ut antalet IoT Hubs som är tillgängliga via den privata slutpunkten. Om du väljer att fylla i din egen anpassade DNS-server är det ditt ansvar att uppdatera DNS-posterna när IoT Central autoskalas och senare ta bort poster när antalet IoT-hubbar skalar in.

Begränsa offentlig åtkomst

Om du vill begränsa offentlig åtkomst för dina enheter till IoT Central inaktiverar du åtkomsten från offentliga slutpunkter. När du har inaktiverat offentlig åtkomst kan enheterna inte ansluta till IoT Central från offentliga nätverk och måste använda en privat slutpunkt:

  1. I Azure Portal navigerar du till ditt IoT Central-program och väljer sedan Nätverk.

  2. På fliken Offentlig åtkomst väljer du Inaktiverad för åtkomst till offentligt nätverk.

  3. Du kan också definiera en lista över IP-adresser/intervall som kan ansluta till den offentliga slutpunkten för ditt IoT Central-program.

  4. Välj Spara.

Ansluta till en privat slutpunkt

När du inaktiverar offentlig nätverksåtkomst för ditt IoT Central-program kan enheterna inte ansluta till den globala slutpunkten Device Provisioning Service (DPS). Detta beror på att det enda fullständiga domännamnet för DPS har en direkt IP-adress i det virtuella nätverket. Den globala slutpunkten kan nu inte nås.

När du konfigurerar en privat slutpunkt för ditt IoT Central-program uppdateras IoT Central-tjänstslutpunkten så att den återspeglar den direkta DPS-slutpunkten.

Uppdatera enhetskoden för att använda den direkta DPS-slutpunkten.

Skärmbild från IoT Central-programmet som visar den direkta DPS-slutpunkten.

Bästa praxis

  • Använd inte url:er för privat länk för att ansluta dina enheter till IoT Central. Använd alltid DPS-URL:en som visas i IoT Central-programmet när du har skapat den privata slutpunkten.

  • Med Azure tillhandahålls privata DNS-zoner för DNS-hantering. Undvik att använda din egen DNS-server eftersom du ständigt behöver uppdatera DNS-konfigurationen så att den fortsätter när IoT Central automatiskt skalar sina resurser.

  • Om du skapar flera privata slutpunkter för samma IoT Central-resurs kan DNS-zonen skriva över FQDN så att du bör lägga till dem igen.

Begränsningar

  • För närvarande är privat anslutning endast aktiverad för enhetsanslutningar till underliggande IoT-hubbar och DPS i IoT Central-programmet. Webbgränssnittet och API:erna för IoT Central fortsätter att fungera via deras offentliga slutpunkter.

  • Den privata slutpunkten måste finnas i samma region som ditt virtuella nätverk.

  • När du inaktiverar åtkomst till offentligt nätverk:

    • Simulerade IoT Central-enheter fungerar inte eftersom de inte har anslutning till ditt virtuella nätverk.

    • Den globala DPS-slutpunkten (global.device-provisioning.net) är inte tillgänglig. Uppdatera enhetens inbyggda programvara för att ansluta till den direkta DPS-instansen. Du hittar den direkta DPS-URL:en på sidan Enhetsanslutningsgrupper i ditt IoT Central-program.

  • Du kan inte byta namn på ditt IoT Central-program när du har konfigurerat en privat slutpunkt.

  • Du kan inte flytta din privata slutpunkt eller IoT Central-programmet till en annan resursgrupp eller prenumeration.

  • Supporten är begränsad till IPv4. IPv6 stöds inte.

Felsökning

Om du har problem med att ansluta till en privat slutpunkt använder du följande felsökningsvägledning:

Kontrollera anslutningstillståndet

Kontrollera att den privata slutpunktens anslutningstillstånd är inställt på godkänd.

  1. I Azure Portal navigerar du till ditt program och väljer sedan Nätverk.
  2. Välj fliken Anslutning till privata slutpunkter . Kontrollera att anslutningstillståndet är Godkänt för din privata slutpunkt.

Köra kontroller i det virtuella nätverket

Använd följande kontroller för att undersöka anslutningsproblem i samma virtuella nätverk. Distribuera en virtuell dator i samma virtuella nätverk där du skapade den privata slutpunkten. Logga in på den virtuella datorn för att köra följande tester.

För att se till att namnmatchningen fungerar korrekt itererar du över alla FQDN i DNS-konfigurationen för den privata slutpunkten och kör testerna med hjälp av nslookup, Test-NetConnectioneller andra liknande verktyg för att verifiera att varje DNS matchar motsvarande IP-adress.

Kör dessutom följande kommando för att kontrollera att DNS-namnet för varje FQDN matchar motsvarande IP-adress.

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

Resultatet ser ut som följande utdata:

#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

Om du hittar ett FQDN som inte matchar dess motsvarande IP-adress kan du åtgärda din anpassade DNS-server. Om du inte använder en anpassad DNS-server skapar du ett supportärende.

Kontrollera om du har flera privata slutpunkter

DNS-konfigurationen kan skrivas över om du skapar eller tar bort flera privata slutpunkter för ett enda IoT Central-program:

  • I Azure Portal navigerar du till den privata slutpunktsresursen.
  • I AVSNITTET DNS kontrollerar du att det finns poster för alla nödvändiga resurser: IoT Hubs, Event Hubs, DPS och IoT Central FQDN.
  • Kontrollera att IP-adresserna (och IP-adresserna för andra privata slutpunkter som använder den här DNS-zonen) återspeglas i A-posten för DNS.
  • Ta bort alla A-poster för IP-adresser från äldre privata slutpunkter som redan har tagits bort.

Andra felsökningstips

Om du fortfarande har problem när du har provat alla dessa kontroller kan du prova felsökningsguiden för den privata slutpunkten.

Om alla kontroller lyckas och enheterna fortfarande inte kan upprätta en anslutning till IoT Central kontaktar du företagets säkerhetsteam som ansvarar för brandväggar och nätverk i allmänhet. Potentiella orsaker till fel är:

  • Felkonfiguration av ditt virtuella Azure-nätverk
  • Felkonfiguration av en brandväggsinstallation
  • Felkonfiguration av användardefinierade vägar i ditt virtuella Azure-nätverk
  • En felkonfigurerad proxy mellan enheten och IoT Central-resurser

Nästa steg

Nu när du har lärt dig hur du skapar en privat slutpunkt för ditt program föreslår vi följande steg: