Migrieren von Geräten zu Azure IoT Hub
Wenn Sie entscheiden, von einer IoT Central-basierten Lösung zu einer IoT Hub-basierten Lösung zu migrieren, müssen Sie die Konfiguration aller derzeit mit Ihrer Anwendung verbundenen Geräte ändern. Das IoTC-Migrationstool automatisiert diesen Gerätemigrationsprozess.
Das Migrationstool:
- Erstellt Geräteregistrierungen in Ihrem IoT-Hub für die Geräte, die derzeit eine Verbindung mit Ihrer IoT Central-Anwendung herstellen.
- Verwendet einen Befehl, um den ID-Bereich der Device Provisioning Service (DPS)-Instanz zu senden, die Ihrem IoT-Hub zugeordnet ist.
Das Tool erfordert, dass Ihre verbundenen Geräte einen DeviceMove-Befehl implementieren, der in der Gerätevorlage in Ihrer IoT Central-Anwendung definiert ist. Die Befehlsnutzlast ist der ID-Bereich der Ziel-DPS-Instanz. Wenn ein Gerät diesen Befehl empfängt, sollte Folgendes ausgeführt werden:
- Beenden Sie das Senden von Telemetrie und trennen Sie die IoT Central-Anwendung.
- Lassen Sie die Bereitstellung mit DPS selbst durchführen, indem es den neuen ID-Bereich in der Befehlsnutzlast verwendet.
- Verwenden Sie das Bereitstellungsergebnis, um eine Verbindung mit dem Ziel-IoT-Hub herzustellen und die Telemetrie erneut zu senden.
Tipp
Sie können mithilfe des Migrationstools auch Geräte zwischen IoT Cental-Anwendungen oder von einem IoT-Hub zu einer IoT Central-Anwendung migrieren.
Minimieren der Unterbrechung
Um die Unterbrechung zu minimieren, können Sie Ihre Geräte in Phasen migrieren. Das Migrator-Tool verwendet Gerätegruppen, um Geräte von IoT Central auf Ihren IoT-Hub zu verschieben. Unterteilen Sie Ihren Gerätebestand in Gerätegruppen wie z. B. Geräte in Texas, Geräte in New York und Geräte in den restlichen USA. Migrieren Sie dann jede Gerätegruppe unabhängig voneinander.
Warnung
Sie können einer Gerätegruppe keine nicht zugewiesenen Geräte hinzufügen. Daher können Sie derzeit das Tool für die Migration nicht zugewiesener Geräte nicht verwenden.
Minimieren Sie die geschäftlichen Auswirkungen, indem Sie diese Schritte ausführen:
Erstellen Sie die PaaS-Lösung, und führen Sie sie gleichzeitig mit der IoT Central-Anwendung aus.
Richten Sie den fortlaufenden Datenexport in der IoT Central-Anwendung und die entsprechenden Routen zum IoT-Hub der PaaS-Lösung ein. Transformieren Sie beide Datenkanäle, und speichern Sie die Daten in demselben Data Lake.
Migrieren Sie die Geräte in Phasen, und überprüfen Sie sie in jeder Phase. Wenn etwas nicht wie geplant funktioniert, führen Sie für die Geräte ein Failback zu IoT Central durch.
Wenn Sie alle Geräte zur PaaS-Lösung migriert und Ihre Daten aus IoT Central vollständig exportiert haben, können Sie die Geräte aus der IoT Central-Lösung entfernen.
Nach der Migration werden Geräte nicht automatisch aus der IoT Central-Anwendung gelöscht. Diese Geräte werden weiterhin als IoT Central-Gebühren für alle bereitgestellten Geräte in der Anwendung abgerechnet. Wenn Sie diese Geräte aus der IoT Central-Anwendung entfernen, werden sie Ihnen nicht mehr in Rechnung gestellt. Entfernen Sie schließlich die IoT Central-Anwendung.
Verschieben von vorhandenen Daten aus IoT Central
Sie können IoT Central so konfigurieren, dass Telemetriedaten und Eigenschaftswerte kontinuierlich exportiert werden. Exportziele sind Datenspeicher wie Azure Data Lake, Event Hubs und Webhooks. Sie können Gerätevorlagen entweder über die IoT Central-Benutzeroberfläche oder mithilfe der REST-API exportieren. Bei der REST-API können Sie die Benutzer in einer IoT Central-Anwendung exportieren.
Voraussetzungen
Sie benötigen die folgenden Voraussetzungen, um die Gerätemigrationsschritte durchzuführen:
- Die Quellanwendung von IoT Central, in der Ihre Geräte derzeit eine Verbindung herstellen.
- Der Ziel-IoT-Hub, in den Sie die Geräte verschieben möchten. Dieser IoT-Hub muss mit einer DPS-Instanz verknüpft werden.
- node.js und npm installiert auf dem lokalen Computer, auf dem Sie das Migrationstool ausführen.
Geräteanforderungen
Die Geräte, die Sie migrieren möchten, müssen den Befehl DeviceMove in der Komponente Migration implementieren. Die Befehlsnutzlast enthält den ID-Bereich der Ziel-DPS-Instanz. Das Repository des Migrationstools enthält ein Beispiel für ein DTDL-Komponentenmodell, das den Befehl DeviceMove definiert. Sie können diese Komponente Ihren vorhandenen Gerätevorlagen hinzufügen.
Das Tool geht davon aus, dass der Komponentenname migration
und die Schnittstellen-ID dtmi:azureiot:DeviceMigration;1
lautet:
Das Toolrepository enthält auch Beispielcode, der zeigt, wie ein Gerät den Befehl DeviceMove implementieren sollte.
Tooleinrichtung
Führen Sie die folgenden Einrichtungsaufgaben aus, um die Migration vorzubereiten:
Microsoft Entra-Anwendung
Das Migrationstool erfordert eine Microsoft Entra-Anwendungsregistrierung, damit sie sich mit Ihrem Azure-Abonnement authentifizieren kann:
Navigieren Sie zu Azure-Portal > Microsoft Entra ID > App-Registrierungen.
Wählen Sie Neue Registrierung aus.
Geben Sie einen Namen wie „IoTC Migrations-App“ ein.
Wählen Sie Konten in einem beliebigen Organisationsverzeichnis (beliebiges Microsoft Entra-Verzeichnis – mehrinstanzenfähig) und persönliche Microsoft-Konten (z. B. Skype, Xbox).
Wählen Sie Single-Page-Webanwendung (SPA) aus.
Geben Sie
http://localhost:3000
als die Umleitungs-URI ein. Sie fügen diesen Wert später der Konfiguration der Migrations-App hinzu.Wählen Sie Registrieren aus.
Notieren Sie sich die Werte von Verzeichnis-ID (Mandant) und Anwendungs-ID (Client). Sie verwenden diese Werte später zum Konfigurieren der Migrations-App:
Navigieren Sie in der Registrierung zur Seite Manifest, und ersetzen Sie den Inhalt von
requiredResourceAccess
durch die folgende Konfiguration:[ { "resourceAppId": "9edfcdd9-0bc5-4bd4-b287-c3afc716aac7", "resourceAccess": [ { "id": "73792908-5709-46da-9a68-098589599db6", "type": "Scope" } ] }, { "resourceAppId": "797f4846-ba00-4fd7-ba43-dac1f8f63013", "resourceAccess": [ { "id": "41094075-9dad-400e-a0bd-54e686782033", "type": "Scope" } ] }, { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d", "type": "Scope" } ] } ]
Speichern Sie die Änderungen.
Hinzufügen der Geräteschlüssel zu DPS
Fügen Sie die freigegebenen Zugriffssignaturschlüssel oder X.509-Zertifikate aus Ihrer IoT Central-Anwendung zu Ihrer DPS-Zuordnungsgruppe hinzu.
Wenn Ihre Geräte freigegebene Zugriffssignaturen verwenden, um sich bei Ihrer IoT Central-Anwendung zu authentifizieren:
- Navigieren Sie in Ihrer IoT Central-Anwendung zu Berechtigungen > Geräteverbindungsgruppen.
- Wählen Sie die Registrierungsgruppe aus, die Ihre Geräte verwenden.
- Notieren Sie sich die primären und sekundären Schlüssel.
- Navigieren Sie im Azure-Portal zu Ihrer DPS-Instanz.
- Klicken Sie auf Registrierungen verwalten.
- Erstellen Sie eine neue Registrierung, und legen Sie den Bestätigungstyp auf symmetrischer Schlüssel fest, wählen Sie automatisch generierte Schlüssel aus und fügen Sie dann die primären und sekundären Schlüssel hinzu, die Sie notiert haben.
- Wählen Sie Speichern aus.
Wenn Ihre Geräte X.509-Zertifikate verwenden, um sich bei Ihrer IoT Central-Anwendung zu authentifizieren:
- Navigieren Sie im Azure-Portal zu Ihrer DPS-Instanz.
- Wählen Sie Zertifikate und dann Hinzufügen aus.
- Laden Sie die Stamm- oder Zwischenzertifikate von X.509 hoch, die Sie in Ihrer IoT Central-Anwendung verwenden.
- Klicken Sie auf Registrierungen verwalten.
- Erstellen Sie eine neue Registrierung und legen Sie den Typ auf Zertifikat fest, und wählen Sie dann die primären und sekundären Zertifikate aus, die Sie hochgeladen haben.
- Wählen Sie Speichern aus.
Herunterladen und Konfigurieren des Migrationstools
Laden Sie eine Kopie des Migrationstools auf Ihren lokalen Computer herunter oder klonen Sie sie:
git clone https://github.com/Azure/iotc-migrator.git
Erstellen Sie im Stammverzeichnis des heruntergeladenen Repositorys eine ENV-Datei. Aktualisieren Sie die Werte REACT_APP_AAD_APP_CLIENT_ID
, REACT_APP_AAD_APP_TENANT_ID
und REACT_APP_AAD_APP_REDIRECT_URI
mit den Werten aus der Microsoft Entra-Anwendungsregistrierung, die Sie zuvor erstellt haben. Speichern Sie die Änderungen:
PORT=3000
REACT_APP_AAD_APP_CLIENT_ID=<your-AAD-Application-(client)-ID>
REACT_APP_AAD_APP_TENANT_ID=<your-AAD-Directory-(tenant)-ID>
REACT_APP_AAD_APP_REDIRECT_URI=http://localhost:3000
Tipp
Stellen Sie sicher, dass REACT_APP_AAD_APP_REDIRECT_URI
mit der Weiterleitungs-URI übereinstimmt, die Sie in Ihrer Microsoft Entra-Anwendungsregistrierung verwendet haben.
Navigieren Sie in Ihrer Befehlszeilenumgebung zum Stamm des iotc-migrator
-Repositorys. Führen Sie dann die folgenden Befehle aus, um die erforderlichen node.js-Pakete zu installieren und dann das Tool auszuführen:
npm install
npm start
Nachdem die Migrations-App gestartet wurde, navigieren Sie zu http://localhost:3000
, um das Tool anzuzeigen. Melden Sie sich bei der entsprechenden Aufforderung an.
Geräte migrieren
Verwenden Sie das Tool, um Ihre Geräte in Batches zu migrieren. Geben Sie die Migrationsdetails auf der Seite Neue Migration ein:
- Geben Sie einen Namen für die Migration ein.
- Wählen Sie eine Gerätegruppe aus Ihrer IoT Central-Anwendung aus.
- Wählen Sie eine Gerätevorlage aus, die die DeviceMove-Befehlsdefinition enthält.
- Wählen Sie Zu Ihrem eigenen Azure IoT Hub verschieben aus.
- Wählen Sie die DPS-Instanz aus, die mit Ihrem Ziel-IoT-Hub verknüpft ist.
- Klicken Sie auf Migrieren. Das Tool fordert Sie auf, die Schlüssel aus Ihrer IoT Central-Anwendung in die DPS-Registrierungsgruppe zu kopieren. Diesen Schritt haben Sie zuvor im Schritt Hinzufügen der Geräteschlüssel zu DPS abgeschlossen.
Das Tool registriert jetzt alle verbundenen Geräte, die dem Zielgerätefilter im Ziel-IoT-Hub entsprechen. Das Tool erstellt dann einen Auftrag in Ihrer IoT Central-Anwendung, um die DeviceMove-Methode auf allen diesen Geräten aufzurufen. Die Befehlsnutzlast enthält den ID-Bereich der Ziel-DPS-Instanz.
Überprüfen der Migration
Über die Seite Migrationsstatus im Migrationstool können Sie den Fortschritt überwachen:
Wählen Sie auf der Seite Migrationsstatus einen Auftrag aus, um den Auftragsstatus in Ihrer IoT Central-Anwendung anzuzeigen. Verwenden Sie diese Seite, um den Status der einzelnen Geräte im Auftrag anzuzeigen:
Geräte, die erfolgreich migriert wurden: