Migrer des espaces de noms Standard Service Bus existants vers le niveau Premium

Auparavant, Azure Service Bus offrait des espaces de noms uniquement pour le niveau Standard. Les espaces de noms sont des configurations multilocataires optimisées pour les environnements à faible débit et les environnements de développement. Le niveau Premium offre des ressources dédiées par espace de noms pour une latence prévisible et un débit accru à un prix fixe. Le niveau Premium est optimisé pour les environnements à haut débit et de production qui nécessitent des fonctionnalités d’entreprise supplémentaires.

Cet article explique comment migrer des espaces de noms de niveau Standard existants vers le niveau Premium.

Avertissement

La migration s’adresse aux espaces de noms Standard Service Bus qui doivent être mis à niveau vers le niveau Premium. L'outil de migration ne prend pas en charge la rétrogradation. Pendant la migration du niveau standard vers le niveau Premium, un pointeur DNS est créé pour accéder au service bus standard. Notez que lors de la migration, un alternateName est créé qui représente le pointeur vers l’espace de noms DNS de l’ancien service bus et que l’opération ne peut pas être annulée. Tout type de test doit être effectué dans un environnement de test.

Quelques points à noter :

  • Cette migration est censée se produire sur place, ce qui signifie que les applications émettrices et réceptrices existantes n'exigent aucun changement de code ou de configuration. La chaîne de connexion existante pointe automatiquement vers le nouvel espace de noms Premium.
  • Si vous utilisez un nom Premium existant, l’espace de noms Premium ne doit contenir aucune entité pour que la migration réussisse, mais également aucune partition activée.
  • Toutes les entités dans l'espace de noms Standard sont copiées vers l'espace de noms Premium pendant le processus de migration.
  • La migration prend en charge 1 000 entités par unité de messagerie sur le niveau Premium. Pour déterminer le nombre d'unités de messagerie dont vous avez besoin, commencez par le nombre d'entités dont vous disposez sur votre espace de noms Standard actuel.
  • Vous ne pouvez pas migrer directement du niveau De base vers le niveau Premium, mais vous pouvez le faire indirectement en migrant d’abord du niveau De base à Standard, puis de Standard à Premium à l’étape suivante.
  • Les paramètres du contrôle d’accès en fonction du rôle (RBAC) n’effectuent pas une migration. Vous devez donc les ajouter manuellement après la migration.

Étapes de la migration

Certaines conditions sont associées au processus de migration. Familiarisez-vous avec les étapes suivantes pour réduire les risques d'erreurs. Ces étapes décrivent le processus de migration, et les détails étape par étape sont énumérés dans les sections suivantes.

  1. Créez un espace de noms Premium. Effectuez les trois étapes suivantes à l’aide de l’interface CLI ou des instructions Portail Azure suivantes de cet article.
  2. Associez les espaces de noms Standard et Premium.
  3. Synchronisez (par copier-coller) les entités du niveau Standard avec l'espace de noms Premium.
  4. Validez la migration.
  5. Videz les entités de l’espace de noms Standard en utilisant l’espace de noms post-migration.
  6. Supprimez l’espace de noms Standard.

Important

Une fois la migration validée, accédez à l'ancien espace de noms Standard et videz les files d'attente et les abonnements. Une fois les messages vidés, ils peuvent être envoyés vers le nouvel espace de noms Premium pour y être traités par les applications réceptrices. Une fois les files d'attente et les abonnements vidés, nous vous recommandons de supprimer l'ancien espace de noms Standard.

Migrer en utilisant l’interface de ligne de commande Azure (CLI) ou PowerShell

Pour migrer votre espace de noms Standard Service Bus vers Premium à l'aide de l'outil Azure CLI ou PowerShell, procédez comme suit.

  1. Créez un espace de noms Premium Service Bus. Vous pouvez référencer les modèles Azure Resource Manager ou utilisez le portail Azure. Veillez à sélectionner Premium pour le paramètre serviceBusSku.

  2. Définissez les variables d'environnement suivantes pour simplifier les commandes de migration. Vous pouvez obtenir l’ID d’Azure Resource Manager pour votre espace de noms Premium en accédant à l’espace de noms dans le Portail Azure et en copiant la partie de l’URL qui ressemble à l’exemple suivant : /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>
    

    Important

    L'alias/nom post-migration (post_migration_dns_name) sera utilisé pour accéder à l'ancien espace de noms Standard post-migration. Utilisez cette variable pour vider les files d'attente et les abonnements, puis supprimez l'espace de noms.

  3. Associez les espaces de noms Standard et Premium, puis lancez la synchronisation à l'aide de la commande suivante :

    az servicebus migration start --resource-group $resourceGroup --name $standardNamespace --target-namespace $premiumNamespaceArmId --post-migration-name $postMigrationDnsName
    
  4. Vérifiez l'état de la migration à l'aide de la commande suivante :

    az servicebus migration show --resource-group $resourceGroup --name $standardNamespace
    

    La migration est considérée comme terminée lorsque les valeurs suivantes s'affichent :

    • MigrationState = "Active"
    • pendingReplicationsOperationsCount = 0
    • provisioningState = "Succeeded"

    Cette commande affiche également la configuration de la migration. Vérifiez que les valeurs sont correctement définies. Vérifiez également l'espace de noms Premium dans le portail pour vous assurer que toutes les files d'attente et rubriques ont été créées et correspondent à celles qui existaient dans l'espace de noms Standard.

  5. Validez la migration en exécutant la commande complète suivante :

    az servicebus migration complete --resource-group $resourceGroup --name $standardNamespace
    

Migration en utilisant le portail Azure

La migration à l’aide du portail Azure suit le même flux logique que la migration avec les commandes. Suivez ces étapes pour migrer à l’aide du portail Azure.

  1. Dans le menu Navigation du volet de gauche, sélectionnez Migrer vers Premium. Sélectionnez le bouton Bien démarrer pour passer à la page suivante. Image montrant la page Migrer vers Premium.

  2. La page suivante s’affiche : Configurer des espaces de noms.

    Image montrant la page Configurer des espaces de noms.

  3. Dans les pages Configurer des espaces de noms, effectuez l’une des étapes suivantes :

    1. Si vous sélectionnez Créer un nouvel espace de noms Premium :
      1. Dans la page Créer un espace de noms , entrez un nom pour l’espace de noms, puis sélectionnez Vérifier + créer.

      2. Dans la page Vérifier + créer, sélectionnez Créer.

        Image montrant la page Créer un espace de noms.

    2. Si vous sélectionnez Sélectionner un espace de noms Premium vide :
      1. Sélectionnez l’abonnement Azure et le groupe de ressources qui possède l’espace de nom.

      2. Sélectionnez ensuite l’espace de noms Premium.

      3. Puis cliquez sur Sélectionner.

        Image montrant la sélection d’un espace de noms Premium existant.

  4. Entrez un nom post-migration, puis sélectionnez Suivant. Vous utiliserez ce nom pour accéder à l'espace de noms Standard une fois la migration terminée.

    Image montrant le nom post-migration de l’espace de noms Standard.

  5. Sélectionnez Commencer la synchronisation pour synchroniser les entités entre les espaces de noms Standard et Premium.

    Image montrant le bouton Démarrer la synchronisation.

  6. Sélectionnez Oui dans la boîte de dialogue pour confirmer et démarrer la synchronisation. Attendez la fin de la synchronisation. Ensuite, sélectionnez Suivant.

    Important

    Si vous avez besoin d'interrompre la migration pour une raison quelconque, veuillez consulter la section FAQ de ce document.

  7. Sélectionnez Terminer la migration sur la page Basculer.

    Image montrant la page **Basculer** de l’Assistant de migration.

  8. Sélectionnez Oui pour confirmer le basculement de votre espace de noms Standard vers Premium. Une fois le basculement terminé, le nom DNS de votre espace de noms Standard pointera vers votre espace de noms Premium. Cette opération ne peut pas être annulée. La page Opération réussie s’affiche lorsque la migration est terminée.

    Image montrant la page Opération réussie.

Mises en garde

Certaines des fonctionnalités fournies par le niveau Standard d’Azure Service Bus ne sont pas prises en charge par le niveau Premium d’Azure Service Bus. Cela est intentionnel, car le niveau Premium offre des ressources dédiées pour un débit et une latence prévisibles.

Voici une vue d’ensemble des fonctionnalités non prises en charge par le niveau Premium et leur atténuation.

Entités Express

Les entités Express qui n’enregistrent aucune donnée de message dans le stockage ne sont pas prises en charge dans le niveau Premium. Les ressources dédiées ont permis d’améliorer considérablement le débit tout en garantissant une persistance des données, telle qu’on peut l’attendre de tout système de messagerie d’entreprise.

Durant la migration, toutes les entités Express dans votre espace de noms Standard sont créées sur l’espace de noms Premium en tant qu’entités non-Express.

Si vous utilisez des modèles Azure Resource Manager, veillez à supprimer l’indicateur « enableExpress » de la configuration du déploiement afin que vos flux de travail automatisés s’exécutent sans erreur.

Paramètres RBAC

Les paramètres du contrôle d’accès en fonction du rôle (RBAC) de l’espace de noms ne sont pas migrés vers l’espace de noms Premium. Vous devez les ajouter manuellement après la migration.

FAQ

Que se passe-t-il lorsque la migration est validée ?

Une fois la migration validée, la chaîne de connexion qui pointait vers l'espace de noms Standard pointera vers l'espace de noms Premium.

Les applications émettrices et réceptrices se déconnecteront de l'espace de noms Standard et se reconnecteront automatiquement à l'espace de noms Premium.

Si vous utilisez l’ID d’Azure Resource Manager pour la configuration plutôt qu’une chaîne de connexion (par exemple, comme destination pour un abonnement Event Grid), vous devez mettre à jour l’ID d’Azure Resource Manager pour qu’il appartienne à l’espace de noms Premium.

Que dois-je faire une fois la migration du niveau Standard vers Premium terminée ?

La migration du niveau Standard vers Premium garantit que les métadonnées de l'entité, notamment les rubriques, les abonnements et les filtres, sont copiées de l'espace de noms Standard vers l'espace de noms Premium. Les données du message qui ont été validées dans l'espace de noms Standard ne sont pas copiées de l'espace de noms Standard vers l'espace de noms Premium.

L'espace de noms Standard peut contenir des messages qui ont été envoyés et validés pendant la migration. Videz manuellement ces messages de l’espace de noms Standard et envoyez-les manuellement vers l'espace de noms Premium. Pour vider manuellement les messages, utilisez une application console ou un script qui vide les entités d'espace de noms Standard en utilisant le nom DNS post-migration que vous avez spécifié dans les commandes de migration. Envoyez ces messages à l'espace de noms Premium afin qu'ils puissent être traités par les destinataires.

Une fois les messages vidés, supprimez l'espace de noms Standard.

Important

Une fois les messages de l’espace de noms Standard vidés, supprimez l'espace de noms Standard. Cette étape est importante car la chaîne de connexion qui se référait initialement à l'espace de noms Standard se réfère maintenant à l'espace de noms Premium. Vous n'aurez plus besoin de l'espace de noms Standard. La suppression de l'espace de noms Standard que vous avez migré vous facilitera la tâche par la suite.

Combien durera le temps d'arrêt ?

Le processus de migration vise à réduire le temps d'arrêt prévu au niveau des applications. Le temps d'arrêt est réduit grâce à la chaîne de connexion que les applications émettrices et réceptrices utilisent pour pointer vers le nouvel espace de noms Premium.

Le temps d’arrêt de l'application est limité au délai nécessaire à la mise à jour de l'entrée DNS afin qu’elle pointe vers l'espace de noms Premium. Le temps d'arrêt est d'environ 5 minutes.

Dois-je modifier ma configuration lors de la migration ?

Non, aucun changement de code ou de configuration n'est nécessaire pour effectuer la migration. Le nom DNS de votre espace de noms Standard va pointer vers votre espace de noms Premium. La chaîne de connexion utilisée par vos applications émettrices et réceptrices pour accéder à l’espace de noms Standard est automatiquement mappée pour servir d’alias à l’espace de noms Premium.

Comment annuler la migration ?

La migration peut être interrompue en utilisant la commande Abort ou à l’aide du portail Azure.

Azure CLI

az servicebus migration abort --resource-group $resourceGroup --name $standardNamespace

Portail Azure

Sélectionnez Abandonner sur la page Synchroniser les entités.

Image montrant la page Abandonner.

Une fois l’opération terminée, la page suivante s’affiche :

Image montrant la page Abandon terminé.

Que se passe-t-il lorsque j'annule la migration ?

Lorsque le processus de migration est abandonné, il interrompt le processus de copie des entités (rubriques, abonnements et filtres) de l'espace de noms Standard vers l'espace de noms Premium et interrompt aussi le jumelage.

La chaîne de connexion n'est pas mise à jour pour pointer vers l'espace de noms Premium. Vos applications existantes continuent de fonctionner comme avant le début de la migration.

Cependant, ni les entités de l'espace de noms Premium ni l'espace de nom Premium ne sont supprimés. Supprimez les entités manuellement si vous choisissez de ne pas effectuer la migration.

Important

Si vous décidez d'abandonner la migration, supprimez l'espace de noms Premium que vous aviez préparé pour la migration afin que les ressources ne vous soient pas facturées.

Je ne souhaite pas vider les messages. Que faire ?

Certains messages sont envoyés par les applications émettrices et validés pour être stockés dans l'espace de noms Standard pendant la migration et juste avant que cette migration ne soit validée.

Pendant la migration, les données/charges utiles réelles du message ne sont pas copiées de l’espace de noms Standard vers l'espace de noms Premium. Les messages doivent être manuellement vidés puis envoyés vers l'espace de noms Premium.

Cependant, si vous pouvez migrer au cours d'une fenêtre de maintenance planifiée et que vous ne souhaitez pas vider et envoyer les messages manuellement, procédez comme suit :

  1. Arrêtez les applications émettrices. Les applications réceptrices traiteront les messages qui se trouvent actuellement dans l'espace de noms Standard et videront la file d'attente.

  2. Une fois que les files d'attente et les abonnements dans l'espace de noms Standard sont vides, suivez la procédure décrite précédemment pour migrer l'espace de noms Standard vers l'espace de noms Premium.

  3. Une fois la migration terminée, vous pouvez redémarrer les applications émettrices.

  4. Les expéditeurs et les destinataires se connecteront désormais automatiquement à l'espace de noms Premium.

    Notes

    Vous n'avez pas besoin d'arrêter les applications réceptrices pour la migration.

    Une fois la migration terminée, les applications réceptrices se déconnecteront de l'espace de noms Standard et se connecteront automatiquement à l'espace de noms Premium.

Étapes suivantes