Migrieren von vorhandenen Azure Service Bus-Standardnamespaces zum Premium-Tarif
Bisher bot der Azure Service Bus Namespaces nur im Standard-Tarif an. Namespaces sind mehrinstanzenfähige Setups, die für niedrige Durchsätze und Entwicklerumgebungen optimiert wurden. Der Premium-Tarif bietet dedizierte Ressourcen pro Namespace für vorhersagbare Latenz und höheren Durchsatz zu einem festen Preis. Der Premium-Tarif ist für hohen Durchsatz und Produktionsumgebungen optimiert, die zusätzliche Enterprisefeatures erfordern.
In diesem Artikel wird beschrieben, wie Sie vorhandene Standard-Tarif-Namespaces zum Premium-Tarif migrieren.
Warnung
Mit der Migration wird ein Upgrade von Service Bus-Standardnamespaces zum Premium-Tarif durchgeführt. Das Durchführen eines Downgrades wird vom Migrationstool nicht unterstützt. Bei der Migration von der Standard- zur Premium-Stufe wird ein DNS-Pointer erstellt, der für den Zugriff auf den Standard-Servicebus verwendet werden kann. Bitte beachten Sie, dass während der Migration ein alternateName erstellt wird, der den Pointer auf den DNS-Namensraum des alten Servicebus darstellt und der Vorgang nicht rückgängig gemacht werden kann. Jede Art von Tests sollte in einer Testumgebung durchgeführt werden.
Beachten Sie folgende Punkte:
- Diese Migration erfolgt direkt, was bedeutet, dass vorhandene Sender- und Empfängeranwendungen keine Code- oder Konfigurationsänderungen erfordern. Die bestehende Verbindungszeichenfolge verweist automatisch auf den neuen Premiumnamespace.
- Wenn Sie einen vorhandenen Premium-Namen verwenden, sollte der Premium-Namespace keine Entitäten enthalten, damit die Migration erfolgreich ist und nicht über Partitionierung verfügen.
- Alle Entitäten im Standardnamespace werden während des Migrationsprozesses in den Premiumnamespace kopiert.
- Die Migration unterstützt 1.000 Entitäten pro Messagingeinheit im Premium-Tarif. Um zu ermitteln, wie viele Messagingeinheiten Sie benötigen, beginnen Sie mit der Anzahl der Einheiten, die Sie in Ihrem aktuellen Standardnamespace haben.
- Sie können nicht direkt vom Basic-Tarif zum Premium-Tarif migrieren, jedoch indirekt, indem Sie zuerst vom Basic- zum Standard-Tarif und dann im nächsten Schritt vom Standard- zum Premium-Tarif migrieren.
- Die Einstellungen für die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) werden nicht migriert, sodass Sie sie manuell nach der Migration hinzufügen müssen.
Schritte bei der Migration
Einige Bedingungen sind mit dem Migrationsprozess verbunden. Machen Sie sich mit den folgenden Schritten vertraut, um die Fehlerwahrscheinlichkeit zu reduzieren. Der Migrationsprozess ist in diese Schritte gegliedert, und die Informationen zu den einzelnen Schritten finden Sie in den folgenden Abschnitten.
- Erstellen Sie einen neuen Premiumnamespace. Führen Sie die nächsten drei Schritte mithilfe der folgenden CLI- oder Azure-Portal-Anweisungen in diesem Artikel aus.
- Koppeln Sie Standard- und Premiumnamespace miteinander.
- Synchronisieren (kopieren) Sie Entitäten aus dem Standardnamespace mit dem Premiumnamespace.
- Committen Sie die Migration.
- Entladen Sie die Entitäten im Standardnamespace unter Verwendung des Namens, den der Namespace nach der Migration hat.
- Löschen Sie den Standardnamespace.
Wichtig
Greifen Sie nach dem Committen der Migration auf den alten Standardnamespace zu, und entladen Sie die Warteschlangen und Abonnements. Nach dem Entladen der Nachrichten können diese an den neuen Premiumnamespace gesendet und von den Empfängeranwendungen verarbeitet werden. Nach dem Entladen der Warteschlangen und Abonnements sollten Sie den alten Standardnamespace löschen.
Migrieren mit Azure CLI oder PowerShell
Führen Sie die Migration Ihres Service Bus-Standardnamespace zu Premium mit der Azure CLI oder dem PowerShell-Tool mit den folgenden Schritten aus.
Erstellen Sie einen neuen Service Bus-Premiumnamespace. Sie können auf die Azure Resource Manager-Vorlagen verweisen oder das Azure-Portal verwenden. Wählen Sie für den serviceBusSku-Parameter premium aus.
Legen Sie die folgenden Umgebungsvariablen fest, um die Migrationsbefehle zu vereinfachen. Sie können die Azure Resource Manager-ID für Ihren Premium-Namespace abrufen, indem Sie im Azure-Portal zum Namespace navigieren und den Teil der URL kopieren, der wie im folgenden Beispiel aussieht:
/subscriptions/00000000-0000-0000-0000-00000000000000/resourceGroups/contosoresourcegroup/providers/Microsoft.ServiceBus/namespaces/contosopremiumnamespace
.resourceGroup = <resource group for the standard namespace> standardNamespace = <standard namespace to migrate> premiumNamespaceArmId = <Azure Resource Manager ID of the premium namespace to migrate to> postMigrationDnsName = <post migration DNS name entry to access the standard namespace>
Wichtig
Der Alias/Name nach der Migration (post_migration_dns_name) wird verwendet, um nach der Migration auf den alten Standardnamespace zuzugreifen. Entladen Sie hiermit die Warteschlangen und Abonnements, und löschen Sie dann den Namespace.
Koppeln Sie die Standard- und Premiumnamespaces, und starten Sie die Synchronisierung mit dem folgenden Befehl:
az servicebus migration start --resource-group $resourceGroup --name $standardNamespace --target-namespace $premiumNamespaceArmId --post-migration-name $postMigrationDnsName
Überprüfen Sie den Migrationsstatus mithilfe des folgenden Befehls:
az servicebus migration show --resource-group $resourceGroup --name $standardNamespace
Die Migration wird als abgeschlossen betrachtet, wenn Sie die folgenden Werte sehen:
- MigrationState = "Active"
- pendingReplicationsOperationsCount = 0
- provisioningState = "Succeeded"
Dieser Befehl zeigt außerdem die Migrationskonfiguration an. Stellen Sie sicher, dass die Werte richtig festgelegt sind. Überprüfen Sie außerdem den Premiumnamespace im Portal, um sicherzustellen, dass alle Warteschlangen und Themen angelegt wurden und mit dem übereinstimmen, was im Standardnamespace vorhanden war.
Committen Sie die Migration, indem Sie den folgenden Abschlussbefehl ausführen:
az servicebus migration complete --resource-group $resourceGroup --name $standardNamespace
Migrieren über das Azure-Portal
Die Migration über das Azure-Portal hat den gleichen logischen Ablauf wie die Migration über die Befehle. Führen Sie die folgenden Schritte aus, um im Azure-Portal zu migrieren.
Wählen Sie im Menü Navigation im linken Bereich Zu Premium migrieren aus. Klicken Sie auf die Schaltfläche Erste Schritte, um auf der nächsten Seite fortzufahren.
Sie sehen die folgende Seite Namensräume einrichten.
Führen Sie auf den Seiten Namensräume einrichten einen der folgenden Schritte aus:
- Wenn Sie Neuen Premium-Namensraum erstellen wählen:
Geben Sie auf der Seite Namensraum erstellen einen Namen für den Namensraum ein, und wählen Sie Überprüfen + Erstellen.
Wählen Sie auf der Seite Überprüfen + erstellen die Option Erstellen aus.
- Wenn Sie Wählen Sie einen bestehenden leeren Premium-Namensraum:
Wählen Sie das Azure-Abonnement und die Ressourcengruppe, die den Namespace enthält.
Wählen Sie dann den Premium-Namespace.
Klicken Sie dann auf Auswählen.
- Wenn Sie Neuen Premium-Namensraum erstellen wählen:
Geben Sie einen Post-Migrationsnamen ein, und wählen Sie dann Weiter. Mit diesem Namen greifen Sie nach Abschluss der Migration auf den Standardnamespace zu.
Wählen Sie Synchronisation starten, um Entitäten zwischen dem Standard- und dem Premium-Namensraum zu synchronisieren.
Wählen Sie Ja im Dialogfeld, um die Synchronisierung zu bestätigen und zu starten. Warten Sie, bis die Synchronisierung abgeschlossen ist. Klicken Sie anschließend auf Weiter.
Wichtig
Wenn Sie die Migration aus irgendeinem Grund abbrechen müssen, lesen Sie bitte die entsprechende Anleitung im Abschnitt „FAQ“ dieses Dokuments.
Wählen Sie Migration abschließen auf der Seite Wechsel.
Wählen Sie Ja, um die Umstellung Ihres Standard-Namensraums auf Premium zu bestätigen. Sobald die Umstellung abgeschlossen ist, wird der DNS-Name Ihres Standard-Namensraums auf Ihren Premium-Namensraum verweisen. Dieser Vorgang kann nicht rückgängig gemacht werden. Wenn die Migration abgeschlossen ist, sehen Sie die Seite Erfolg.
Vorbehalte
Einige der im Standard-Tarif von Azure Service Bus zur Verfügung stehenden Features werden im Premium-Tarif von Azure Service Bus nicht unterstützt. Dies ist beabsichtigt, da der Premium-Tarif dedizierte Ressourcen für planbaren Durchsatz und planbare Wartezeit bietet.
Im Anschluss folgt eine Übersicht der Features, die im Premium-Tarif nicht unterstützt werden, und entsprechenden Abhilfemaßnahmen.
Expressentitäten
Express-Entitäten, die keine Nachrichtendaten in den Speicher committen, werden im Premium-Tarif nicht unterstützt. Dedizierte Ressourcen sorgen für eine erhebliche Durchsatzverbesserung und stellen gleichzeitig eine dauerhafte Speicherung der Daten sicher, wie dies von einem Messagingsystem für Unternehmen erwartet wird.
Bei der Migration werden alle Expressentitäten aus Ihrem Standard-Namespace als Nicht-Expressentitäten im Premium-Namespace erstellt.
Bei Verwendung von Azure Resource Manager-Vorlagen muss das Flag „enableExpress“ aus der Bereitstellungskonfiguration entfernt werden, damit Ihre automatisierten Workflows fehlerfrei ausgeführt werden.
RBAC-Einstellungen
Die Einstellungen für die rollenbasierte Zugriffssteuerung (RBAC) auf dem Namespace werden nicht in den Premium-Namespace migriert. Sie müssen sie manuell nach der Migration hinzufügen.
Häufig gestellte Fragen
Was geschieht, wenn die Migration committet ist?
Nach dem Committen der Migration zeigt die Verbindungszeichenfolge, die auf den Standardnamespace verweist, auf den Premiumnamespace.
Die Sender- und Empfängeranwendungen trennen die Verbindung zum Standard-Namespace und stellen automatisch die Verbindung mit dem Premium-Namespace her.
Wenn Sie anstelle einer Verbindungszeichenfolge die Azure Resource Manager-ID für die Konfiguration verwenden (z. B. als Ziel für ein Event Grid-Abonnement), müssen Sie die Azure Resource Manager-ID so ändern, dass sie der des Premium-Namespace entspricht.
Was mache ich, nachdem die Standard-zu-Premium-Migration abgeschlossen ist?
Die Standard-zu-Premium-Migration stellt sicher, dass die Entitätsmetadaten wie Themen, Abonnements und Filter aus dem Standard- in den Premiumnamespace kopiert werden. Die Nachrichtendaten, die in den Standardnamespace übertragen wurden, werden nicht aus dem Standardnamespace in den Premiumnamespace kopiert.
Der Standardnamespace kann einige Nachrichten enthalten, die während der laufenden Migration gesendet und committet wurden. Entladen Sie diese Nachrichten manuell aus dem Standard-Namespace, und senden Sie sie manuell an den Premium-Namespace. Um die Nachrichten manuell zu entladen, verwenden Sie eine Konsolen-App oder ein Skript, das die Standard-Namespace-Entitäten mithilfe des DNS-Namens nach der Migration entlädt, den Sie in den Migrationsbefehlen angegeben haben. Senden Sie diese Nachrichten an den Premiumnamespace, damit sie von den Empfängern verarbeitet werden können.
Nachdem die Nachrichten entladen wurden, löschen Sie den Standardnamespace.
Wichtig
Nach der Entladung der Nachrichten aus dem Standardnamespace löschen Sie den Standardnamespace. Dies ist wichtig, da die Verbindungszeichenfolge, die zunächst auf den Standardnamespace verwies, nun auf den Premiumnamespace verweist. Sie benötigen den Standard-Namespace nicht mehr. Wenn Sie den migrierten Standardnamespace löschen, können später weniger Unklarheiten auftreten.
Wie viel Ausfallzeit kann ich erwarten?
Der Migrationsprozess soll die zu erwartende Downtime der Anwendungen reduzieren. Die Downtime wird durch die Verwendung der Verbindungszeichenfolge reduziert, mit der Sender- und Empfängeranwendungen auf den neuen Premiumnamespace verweisen.
Die Downtime der Anwendung ist auf die Zeit beschränkt, die benötigt wird, um den DNS-Eintrag zu aktualisieren und auf den Premiumnamespace zu verweisen. Die Downtime beträgt ca. fünf Minuten.
Muss ich während der Migration Konfigurationsänderungen vornehmen?
Nein, es sind keine Code- oder Konfigurationsänderungen erforderlich, um die Migration durchzuführen. Der DNS-Name Ihres Standard-Namensraums verweist dann auf Ihren Premium-Namensraum. Die Verbindungszeichenfolge, die Ihre Sender- und Empfängeranwendungen für den Zugriff auf den Standardnamespace verwenden, wird automatisch als Alias für den Premiumnamespace abgebildet.
Wie kann die Migration abgebrochen werden?
Die Migration kann entweder mit dem Befehl Abort
oder über das Azure-Portal abgebrochen werden.
Azure-Befehlszeilenschnittstelle
az servicebus migration abort --resource-group $resourceGroup --name $standardNamespace
Azure-Portal
Wählen Sie Abbrechen auf der Seite Entitäten synchronisieren.
Wenn der Vorgang abgeschlossen ist, sehen Sie die folgende Seite:
Was geschieht, wenn ich die Migration abbreche?
Wenn der Migrationsprozess abgebrochen wird, wird das Kopieren der Entitäten (Themen, Abonnements und Filter) vom Standard- in den Premiumnamespace ab- und die Kopplung unterbrochen.
Die Verbindungszeichenfolge wird nicht so aktualisiert, dass sie auf den Premiumnamespace verweist. Ihre bestehenden Anwendungen funktionieren weiterhin so, wie vor Beginn der Migration.
Allerdings werden keine Entitäten im Premiumnamespace oder der Premiumnamespace gelöscht. Löschen Sie die Entitäten manuell, wenn Sie nicht mit der Migration fortfahren.
Wichtig
Wenn Sie sich entscheiden, die Migration abzubrechen, löschen Sie den Premiumnamespace, den Sie für die Migration bereitgestellt haben, damit Ihnen die Ressourcen nicht in Rechnung gestellt werden.
Ich möchte die Nachrichten nicht entleeren. Wie gehe ich vor?
Es kann Nachrichten geben, die von den Senderanwendungen gesendet und auf den Speicher im Standardnamespace committet werden, während die Migration stattfindet, und zwar unmittelbar vor der Migration.
Während der Migration werden die tatsächlichen Nachrichtendaten / die tatsächliche Nutzlast aus dem Standard- in den Premiumnamespace kopiert. Die Nachrichten müssen manuell entladen und dann an den Premiumnamespace gesendet werden.
Wenn Sie jedoch während eines geplanten Wartungs-/Housekeepingfensters migrieren können und die Nachrichten nicht manuell entladen und versenden möchten, führen Sie die folgenden Schritte aus:
Stoppen Sie die Senderanwendungen. Die Empfängeranwendungen verarbeiten die Nachrichten, die sich derzeit im Standardnamespace befinden, und entladen die Warteschlange.
Sobald die Warteschlangen und Abonnements im Standard-Namespace leer sind, führen Sie die oben beschriebene Vorgehensweise durch, um die Migration vom Standard- zum Premium-Namespace durchzuführen.
Sobald die Migration abgeschlossen ist, können Sie die Senderanwendungen neu starten.
Die Absender und Empfänger werden jetzt automatisch mit dem Premiumnamespace verbunden.
Hinweis
Sie müssen die Empfängeranwendungen für die Migration nicht stoppen.
Nach Abschluss der Migration trennen die Empfängeranwendungen die Verbindung zum Standardnamespace und verbinden sich automatisch mit dem Premiumnamespace.
Nächste Schritte
- Erfahren Sie mehr über die Unterschiede zwischen Standard- und Premiummessaging.
- Erfahren Sie mehr über Aspekte der Hochverfügbarkeit und Geo-Notfallwiederhierstellung für Service Bus Premium.