Déplacer des rubriques système Azure Event Grid vers une autre région

Cet article décrit l’approche, les instructions et les pratiques recommandées pour relocaliser les rubriques système Event Grid vers une autre région.

Il existe différentes raisons pour lesquelles vous pouvez avoir besoin de déplacer vos ressources Azure existantes d’une région à une autre. Vous pouvez :

  • Tirer parti d’une nouvelle région Azure.
  • Déployer des fonctionnalités ou des services disponibles uniquement dans des régions spécifiques.
  • Respecter les exigences de gouvernance et de stratégie internes.
  • Être en phase avec les fusions et acquisitions de l’entreprise
  • Répondre aux exigences de planification de la capacité.

Voici les étapes générales décrites dans cet article :

  • Exporter le groupe de ressources qui contient le compte de stockage Azure et la rubrique système associée vers un modèle Resource Manager. Vous pouvez également exporter un modèle uniquement pour la rubrique système. Si vous choisissez cette approche, n’oubliez pas de déplacer la source de l’événement Azure (dans cet exemple, un compte de stockage Azure) vers l’autre région avant de déplacer la rubrique système. Ensuite, dans le modèle exporté de la rubrique système, mettez à jour l’ID externe du compte de stockage dans la région cible.
  • Modifier le modèle pour ajouter la propriété endpointUrl afin de pointer vers un webhook qui s’abonne à la rubrique système. Lorsque la rubrique système est exportée, son abonnement (dans le cas présent, il s’agit d’un webhook) est également exporté vers le modèle, mais la propriété endpointUrl n’est pas incluse. Par conséquent, vous devez le mettre à jour pour qu’il pointe vers le point de terminaison qui s’abonne à la rubrique. Mettez également à jour la valeur de la propriété location avec le nouvel emplacement ou la nouvelle région. Pour les autres types de gestionnaires d’événements, vous devez uniquement mettre à jour l’emplacement.
  • Utiliser le modèle pour déployer des ressources dans la région cible. Vous devez spécifier des noms pour le compte de stockage et la rubrique système à créer dans la région cible.
  • Vérifier le déploiement. Vérifiez que le webhook est appelé lorsque vous chargez un fichier dans le stockage de blobs dans la région cible.
  • Pour terminer le déplacement, supprimez les ressources (source de l’événement et rubrique système) de la région source.

Prérequis

Préparation

Pour commencer, exportez un modèle Resource Manager pour le groupe de ressources qui contient la source de l’événement système (compte de stockage Azure) et la rubrique système qui lui est associée.

  1. Connectez-vous au portail Azure.

  2. Sélectionnez Groupes de ressources dans le menu de gauche. Ensuite, sélectionnez le groupe de ressources qui contient la source de l’événement pour laquelle la rubrique système a été créée. Dans l’exemple suivant, il s’agit du compte Stockage Azure. Le groupe de ressources contient le compte de stockage et la rubrique système qui lui est associée.

    Capture d’écran de la page d’un groupe de ressources.

  3. Dans le menu de gauche, sélectionnez Exporter le modèle sous Paramètres, puis sélectionnez Télécharger dans la barre d’outils.

    Capture d’écran d’un compte de stockage – Page Exporter le modèle.

  4. Localisez le fichier .zip que vous avez téléchargé à partir du portail, puis décompressez-le dans le dossier de votre choix. Ce fichier zip contient les fichiers JSON des modèles et paramètres.

  5. Ouvrez le fichier template.json dans l’éditeur de votre choix.

  6. L’URL du webhook n’est pas exportée vers le modèle. Par conséquent, procédez comme suit :

    1. Dans le fichier de modèle, recherchez webhook.

    2. Dans la section Propriétés, ajoutez une virgule (,) à la fin de la dernière ligne. Dans cet exemple, il s’agit de "preferredBatchSizeInKilobytes": 64.

    3. Ajoutez la propriété endpointUrl avec la valeur définie sur l’URL de votre webhook, comme illustré dans l’exemple suivant.

      "destination": {
          "properties": {
              "maxEventsPerBatch": 1,
              "preferredBatchSizeInKilobytes": 64,
              "endpointUrl": "https://mysite.azurewebsites.net/api/updates"
          },
          "endpointType": "WebHook"
      }
      

      Notes

      Pour les autres types de gestionnaires d’événements, toutes les propriétés sont exportées vers le modèle. Vous devez uniquement mettre à jour la propriété location vers la région cible, comme indiqué à l’étape suivante.

  7. Mettez à jour location pour la ressource compte de stockage en spécifiant la région ou l’emplacement cible. Pour obtenir les codes d’emplacement, consultez Emplacements Azure. Le code d’une région correspond au nom de la région sans espace, par exemple West US correspond à westus.

    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2019-06-01",
    "name": "[parameters('storageAccounts_spegridstorage080420_name')]",
    "location": "westus",
    
  8. Répétez l’étape pour mettre à jour location pour la ressource rubrique système dans le modèle.

    "type": "Microsoft.EventGrid/systemTopics",
    "apiVersion": "2020-04-01-preview",
    "name": "[parameters('systemTopics_spegridsystopic080420_name')]",
    "location": "westus",
    
  9. Enregistrez le modèle.

Redeploy

Déployez le modèle pour créer un compte de stockage et une rubrique système pour le compte de stockage dans la région cible.

  1. Dans le portail Azure, sélectionnez Créer une ressource.
  2. Dans Rechercher sur la Place de marché, tapez déploiement de modèle, puis appuyez sur Entrée.
  3. Sélectionnez Déploiement de modèle.
  4. Sélectionnez Create (Créer).
  5. Sélectionnez Générer votre propre modèle dans l’éditeur.
  6. Sélectionnez Charger le fichier, puis suivez les instructions pour charger le fichier template.json que vous avez téléchargé dans la section précédente.
  7. Sélectionnez Enregistrer pour enregistrer le modèle.
  8. Dans la page Déploiement personnalisé, procédez comme suit.
    1. Sélectionnez un abonnement Azure.

    2. Sélectionnez un groupe de ressources existant dans la région cible ou créez-en un.

    3. Pour Région, sélectionnez la région cible. Si vous avez sélectionné un groupe de ressources existant, ce paramètre est en lecture seule.

    4. Pour le nom de la rubrique système, entrez un nom pour la rubrique système qui sera associée au compte de stockage.

    5. Pour le nom du compte de stockage, entrez un nom pour le compte de stockage qui sera créé dans la région cible.

      Capture d’écran de la page pour déployer un modèle Resource Manager.

    6. Au bas de la page, sélectionnez Examiner et créer.

    7. Dans la page Vérifier + créer, passez en revue les paramètres, puis sélectionnez Créer.

Vérification

  1. Une fois le déploiement réussi, sélectionnez Accéder au groupe de ressources.
  2. Sur la page Groupe de ressources, vérifiez que la source de l’événement (dans cet exemple, compte de stockage Azure) et la rubrique système sont créées.
  3. Chargez un fichier dans un conteneur dans le stockage Blob Azure et vérifiez que le webhook a reçu l’événement. Pour plus d’informations, consultez Envoyer un événement à votre point de terminaison.

Ignorer ou nettoyer

Pour terminer le déplacement, supprimez le groupe de ressources qui contient le compte de stockage et sa rubrique système associée dans la région source.

Si vous souhaitez recommencer, supprimez le groupe de ressources dans la région cible, puis répétez les étapes décrites dans les sections Préparer et Recréer de cet article.

Pour supprimer un groupe de ressources (source ou cible) à l’aide du portail Azure :

  1. Dans la fenêtre de recherche en haut du portail Azure, saisissez Groupes de ressources, puis sélectionnez Groupes de ressources dans les résultats de la recherche.

  2. Sélectionnez le groupe de ressources à supprimer, puis choisissez Supprimer dans la barre d’outils.

    Capture d’écran de l’option pour supprimer un groupe de ressources.

  3. Dans la page de confirmation, entrez le nom du groupe de ressources, puis sélectionnez Supprimer.