Rilocare Hub eventi di Azure in un'altra area

Questo articolo illustra come copiare uno spazio dei nomi e le impostazioni di configurazione di Hub eventi in un'altra area.

Se nel gruppo di risorse di Azure sono presenti altre risorse che contengono lo spazio dei nomi di Hub eventi, è possibile esportare il modello a livello di gruppo di risorse in modo che tutte le risorse correlate possano essere spostate nella nuova area in un unico passaggio. Per informazioni su come esportare un gruppo di risorse nel modello, vedere Spostare le risorse tra aree(da un gruppo di risorse).

Prerequisiti

  • Assicurarsi che i servizi e le funzionalità usati dall'account siano supportati nell'area di destinazione.

  • Se la funzionalità di acquisizione è abilitata per gli hub eventi nello spazio dei nomi, spostare gli account Archiviazione di Azure o Azure Data Lake Store Gen2 prima di spostare lo spazio dei nomi di Hub eventi. È anche possibile spostare il gruppo di risorse che contiene spazi dei nomi sia di Archiviazione che di Hub eventi nell'altra area seguendo i passaggi simili a quelli descritti in questo articolo.You can also move the resource group that contains both Archiviazione and Event Hubs namespaces to the other region by following steps similar to the ones described in this article.

  • Se lo spazio dei nomi di Hub eventi si trova in un cluster di Hub eventi, spostare il cluster dedicato nell'area di destinazione prima di eseguire i passaggi descritti in questo articolo. È anche possibile usare il modello di avvio rapido in GitHub per creare un cluster di Hub eventi. Nel modello rimuovere la parte dello spazio dei nomi del codice JSON per creare solo il cluster.

  • Identificare tutte le dipendenze delle risorse. A seconda della modalità di distribuzione di Hub eventi, potrebbero essere necessari i servizi seguenti nell'area di destinazione:

  • Identificare tutte le risorse dipendenti. Hub eventi è un sistema di messaggistica che consente alle applicazioni di pubblicare e sottoscrivere messaggi. Valutare se l'applicazione a destinazione richiede o meno il supporto della messaggistica per lo stesso set di servizi dipendenti che aveva nella destinazione di origine.

Tempi di fermo

Per comprendere i possibili tempi di inattività coinvolti, vedere Cloud Adoption Framework per Azure: Selezionare un metodo di rilocazione.

Considerazioni sugli endpoint di servizio

Gli endpoint servizio di rete virtuale per Hub eventi di Azure limitare l'accesso a una rete virtuale specificata. Gli endpoint possono anche limitare l'accesso a un elenco di intervalli di indirizzi IPv4 (protocollo Internet versione 4). Qualsiasi utente che si connette a Hub eventi dall'esterno di tali origini viene negato l'accesso. Se gli endpoint di servizio sono stati configurati nell'area di origine per la risorsa di Hub eventi, è necessario eseguire la stessa operazione nell'area di destinazione.

Per una ricreazione corretta degli hub eventi nell'area di destinazione, è necessario creare in anticipo la rete virtuale e la subnet. Nel caso in cui lo spostamento di queste due risorse venga eseguito con lo strumento Spostamento risorse di Azure, gli endpoint di servizio non verranno configurati automaticamente. Di conseguenza, è necessario configurarli manualmente, che possono essere eseguiti tramite il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell.

Considerazioni sull'endpoint privato

collegamento privato di Azure fornisce connettività privata da una rete virtuale a Piattaforma distribuita come servizio (PaaS), di proprietà del cliente o dei servizi partner Microsoft. collegamento privato semplifica l'architettura di rete e protegge la connessione tra endpoint in Azure eliminando l'esposizione dei dati alla rete Internet pubblica.

Per una ricreazione corretta degli hub eventi nell'area di destinazione, è necessario creare la rete virtuale e la subnet prima che si verifichi la ricreazione effettiva.

Preparazione

Per iniziare, esportare un modello di Resource Manager. Questo modello contiene impostazioni che descrivono lo spazio dei nomi di Hub eventi.

  1. Accedere al portale di Azure.

  2. Selezionare Tutte le risorse e quindi selezionare lo spazio dei nomi di Hub eventi.

  3. Nella pagina Spazio dei nomi di Hub eventi selezionare Esporta modello in Automazione nel menu a sinistra.

  4. Scegliere Scarica nella pagina Esporta modello .

    Screenshot che mostra dove scaricare il modello di Resource Manager

  5. Individuare il file .zip scaricato dal portale e decomprimere il file in una cartella di propria scelta.

    Questo file ZIP contiene i file .json che includono il modello e gli script per distribuire il modello.

Modificare il modello

Modificare il modello modificando il nome e l'area dello spazio dei nomi di Hub eventi.

  1. Selezionare Distribuzione modello.

  2. Nella portale di Azure selezionare Crea.

  3. Selezionare Creare un modello personalizzato nell'editor.

  4. Selezionare Carica file e quindi seguire le istruzioni per caricare il file template.json scaricato nell'ultima sezione.

  5. Nel file template.json assegnare un nome allo spazio dei nomi di Hub eventi impostando il valore predefinito del nome dello spazio dei nomi. In questo esempio viene impostato il valore predefinito del nome dello spazio dei nomi di Hub eventi su namespace-name.

     "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
     "contentVersion": "1.0.0.0",
     "parameters": {
         "namespaces_name": {
             "defaultValue": "namespace-name",
             "type": "String"
         },
     },
    
  6. Modificare la proprietà location nel file template.json nell'area di destinazione. In questo esempio l'area di destinazione viene impostata su centralus.

    "resources": [
        {
            "type": "Microsoft.KeyVault/vaults",
            "apiVersion": "2023-07-01",
            "name": "[parameters('vaults_name')]",
            "location": "centralus",
    
        },
    
    ]
    
    
     "resources": [
     {
         "type": "Microsoft.EventHub/namespaces",
         "apiVersion": "2023-01-01-preview",
         "name": "[parameters('namespaces_name')]",
         "location": "centralus",
    
      },
     {
         "type": "Microsoft.EventHub/namespaces/authorizationrules",
         "apiVersion": "2023-01-01-preview",
         "name": "[concat(parameters('namespaces_name'), '/RootManageSharedAccessKey')]",
         "location": "centralus",
         "dependsOn": [
             "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_name'))]"
         ],
         "properties": {
             "rights": [
                 "Listen",
                 "Manage",
                 "Send"
             ]
         }
     },
     {
         "type": "Microsoft.EventHub/namespaces/networkrulesets",
         "apiVersion": "2023-01-01-preview",
         "name": "[concat(parameters('namespaces_name'), '/default')]",
         "location": "centralus",
         "dependsOn": [
             "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_name'))]"
         ],
         "properties": {
             "publicNetworkAccess": "Enabled",
             "defaultAction": "Deny",
             "virtualNetworkRules": [
                 {
                     "subnet": {
                         "id": "[concat(parameters('virtualNetworks_vnet_akv_externalid'), '/subnets/default')]"
                     },
                     "ignoreMissingVnetServiceEndpoint": false
                 }
             ],
             "ipRules": [],
             "trustedServiceAccessEnabled": false
         }
     },
     {
         "type": "Microsoft.EventHub/namespaces/privateEndpointConnections",
         "apiVersion": "2023-01-01-preview",
         "name": "[concat(parameters('namespaces_peterheesbus_name'), '/81263915-15d5-4f14-8d65-25866d745a66')]",
         "location": "centralus",
         "dependsOn": [
             "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_peterheesbus_name'))]"
         ],
         "properties": {
             "provisioningState": "Succeeded",
             "privateEndpoint": {
                 "id": "[parameters('privateEndpoints_pvs_eventhub_externalid')]"
             },
             "privateLinkServiceConnectionState": {
                 "status": "Approved",
                 "description": "Auto-Approved"
             }
         }
     }
    

    Per ottenere i codici di posizione dell'area, vedere Località di Azure. Il codice per un'area è il nome dell'area senza spazi, Stati Uniti centrali = centralus.

  7. Rimuovere le risorse di tipo endpoint privato nel modello.

     {
         "type": "Microsoft.EventHub/namespaces/privateEndpointConnections",
    
     }
    
  8. Se è stato configurato un endpoint di servizio in Hub eventi, nella sezione , virtualNetworkRulesin networkrulesets aggiungere la regola per la subnet di destinazione. Assicurarsi che il ignoreMissingVnetServiceEndpointflag _ sia impostato su False, in modo che l'IaC non distribuisca Hub eventi nel caso in cui l'endpoint del servizio non sia configurato nell'area di destinazione.

    _parameter.json_

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
    
        "target_vnet_externalid": {
          "value": "virtualnetwork-externalid"
        },
        "target_subnet_name": {
          "value": "subnet-name"
        }
      }
    }
    

    _template.json

    {
        "type": "Microsoft.EventHub/namespaces/networkrulesets",
        "apiVersion": "2023-01-01-preview",
        "name": "[concat(parameters('namespaces_name'), '/default')]",
        "location": "centralus",
        "dependsOn": [
            "[resourceId('Microsoft.EventHub/namespaces', parameters('namespaces_name'))]"
        ],
        "properties": {
            "publicNetworkAccess": "Enabled",
            "defaultAction": "Deny",
            "virtualNetworkRules": [
                {
                    "subnet": {
                        "id": "[concat(parameters('target_vnet_externalid), concat('/subnets/', parameters('target_subnet_name')]"
                    },
                    "ignoreMissingVnetServiceEndpoint": false
                }
            ],
            "ipRules": [],
            "trustedServiceAccessEnabled": false
        }
    },
    
    
  9. Selezionare Salva per salvare il modello.

Ripetere la distribuzione

  1. Nel portale di Azure selezionare Crea una risorsa.

  2. In Cerca nel Marketplace digitare la distribuzione del modello e selezionare Distribuzione modello (distribuzione con modelli personalizzati).

  3. Selezionare Creare un modello personalizzato nell'editor.

  4. Selezionare Carica file e quindi seguire le istruzioni per caricare il file template.json modificato nell'ultima sezione.

  5. Nella pagina Distribuzione personalizzata seguire questa procedura:

    1. Selezionare una sottoscrizione di Azure.
    2. Selezionare un gruppo di risorse esistente o crearne uno. Se lo spazio dei nomi di origine si trovava in un cluster di Hub eventi, selezionare il gruppo di risorse che contiene il cluster nell'area di destinazione.
    3. Selezionare la località o l'area di destinazione. Se è stato selezionato un gruppo di risorse esistente, questa impostazione è di sola lettura.
    4. Nella sezione edizione Standard TTINGS seguire questa procedura:
      1. Immettere il nuovo nome dello spazio dei nomi.

        Distribuire un modello di Resource Manager

      2. Se lo spazio dei nomi di origine si trovava in un cluster di Hub eventi, immettere i nomi del gruppo di risorse e del cluster di Hub eventi come parte dell'ID esterno.

        /subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<CLUSTER'S RESOURCE GROUP>/providers/Microsoft.EventHub/clusters/<CLUSTER NAME>
        
      3. Se Hub eventi nello spazio dei nomi usa un account Archiviazione per l'acquisizione di eventi, specificare il nome del gruppo di risorse e l'account di archiviazione per StorageAccounts_<original storage account name>_external il campo.

        /subscriptions/0000000000-0000-0000-0000-0000000000000/resourceGroups/<STORAGE'S RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>
        
    5. Selezionare Rivedi e crea nella parte inferiore della pagina.
    6. Nella pagina Rivedi e crea rivedere le impostazioni e quindi selezionare Crea.
  6. È necessario riconfigurare le impostazioni di configurazione di rete (endpoint privati) nei nuovi Hub eventi.

Eliminare o pulire

Dopo la distribuzione, se si vuole ricominciare, è possibile eliminare lo spazio dei nomi di Hub eventi di destinazione e ripetere i passaggi descritti nelle sezioni Preparazione e spostamento di questo articolo.

Per eseguire il commit delle modifiche e completare lo spostamento di uno spazio dei nomi di Hub eventi, eliminare lo spazio dei nomi di Hub eventi nell'area originale. Assicurarsi di aver elaborato tutti gli eventi nello spazio dei nomi prima di eliminare lo spazio dei nomi.

Per eliminare uno spazio dei nomi di Hub eventi (origine o destinazione) usando il portale di Azure:

  1. Nella finestra di ricerca nella parte superiore di portale di Azure digitare Hub eventi e selezionare Hub eventi nei risultati della ricerca. Gli spazi dei nomi di Hub eventi vengono visualizzati in un elenco.

  2. Selezionare lo spazio dei nomi di destinazione da eliminare e selezionare Elimina dalla barra degli strumenti.

    Screenshot che mostra il pulsante Elimina spazio dei nomi -

  3. Nella pagina Elimina spazio dei nomi confermare l'eliminazione digitando il nome dello spazio dei nomi e quindi selezionare Elimina.

Passaggi successivi

In questa procedura si è appreso come spostare uno spazio dei nomi di Hub eventi da un'area a un'altra.

Per istruzioni sullo spostamento di un cluster di Hub eventi da un'area a un'altra area, vedere Rilocare Hub eventi in un'altra area .

Per altre informazioni sullo spostamento di risorse tra aree e sul ripristino di emergenza in Azure, vedere: