Share via


Azure Event Hubs verplaatsen naar een andere regio

In dit artikel leest u hoe u een Event Hubs-naamruimte en configuratie-instellingen naar een andere regio kopieert.

Als u andere resources in de Azure-resourcegroep hebt die de Event Hubs-naamruimte bevat, kunt u de sjabloon exporteren op het niveau van de resourcegroep, zodat alle gerelateerde resources in één stap naar de nieuwe regio kunnen worden verplaatst. Zie Resources verplaatsen tussen regio's (van resourcegroep) voor meer informatie over het exporteren van een resourcegroep naar de sjabloon.

Vereisten

  • Zorg ervoor dat de services en functies die uw account gebruikt, worden ondersteund in de doelregio.

  • Als u de functie voor vastleggen hebt ingeschakeld voor Event Hubs in de naamruimte, verplaatst u Azure Storage- of Azure Data Lake Store Gen 2-accounts voordat u de Event Hubs-naamruimte verplaatst. U kunt ook de resourcegroep die zowel storage- als Event Hubs-naamruimten bevat, verplaatsen naar de andere regio door de stappen te volgen die vergelijkbaar zijn met de stappen die in dit artikel worden beschreven.

  • Als de Event Hubs-naamruimte zich in een Event Hubs-cluster bevindt, verplaatst u het toegewezen cluster naar de doelregio voordat u de stappen in dit artikel doorloopt. U kunt ook de quickstart-sjabloon op GitHub gebruiken om een Event Hubs-cluster te maken. Verwijder in de sjabloon het naamruimtegedeelte van de JSON om alleen het cluster te maken.

  • Identificeer alle resourceafhankelijkheden. Afhankelijk van hoe u Event Hubs hebt geïmplementeerd, moeten de volgende services mogelijk worden geïmplementeerd in de doelregio:

  • Identificeer alle afhankelijke resources. Event Hubs is een berichtensysteem waarmee toepassingen berichten kunnen publiceren en abonneren. Overweeg of voor uw toepassing op doel ondersteuning voor berichten is vereist voor dezelfde set afhankelijke services die het op het brondoel had.

Uitvaltijd

Zie Cloud Adoption Framework voor Azure om inzicht te hebben in de mogelijke downtime: Selecteer een herlocatiemethode.

Overwegingen voor service-eindpunten

De service-eindpunten van het virtuele netwerk voor Azure Event Hubs beperken de toegang tot een opgegeven virtueel netwerk. De eindpunten kunnen ook de toegang tot een lijst met IPv4-adresbereiken (internetprotocol versie 4) beperken. Elke gebruiker die verbinding maakt met de Event Hubs van buiten deze bronnen, wordt de toegang geweigerd. Als service-eindpunten zijn geconfigureerd in de bronregio voor de Event Hubs-resource, moet hetzelfde worden gedaan in de doelregio.

Voor een geslaagde recreatie van de Event Hubs naar de doelregio moet het VNet en subnet vooraf worden gemaakt. Als de verplaatsing van deze twee resources wordt uitgevoerd met het Azure Resource Mover-hulpprogramma, worden de service-eindpunten niet automatisch geconfigureerd. Daarom moeten ze handmatig worden geconfigureerd, wat kan worden gedaan via Azure Portal, de Azure CLI of Azure PowerShell.

Overwegingen voor privé-eindpunt

Azure Private Link biedt privéconnectiviteit van een virtueel netwerk naar Azure PaaS (Platform as a Service), klant- of Microsoft-partnerservices. Private Link vereenvoudigt de netwerkarchitectuur en beveiligt de verbinding tussen eindpunten in Azure door gegevensblootstelling op het openbare internet te elimineren.

Voor een succesvolle recreatie van de Event Hubs in de doelregio moet het VNet en subnet worden gemaakt voordat de daadwerkelijke recreatie plaatsvindt.

Voorbereiden

Exporteer een Resource Manager-sjabloon om aan de slag te gaan. Deze sjabloon bevat instellingen die uw Event Hubs-naamruimte beschrijven.

  1. Meld u aan bij het Azure-portaal.

  2. Selecteer Alle resources en selecteer vervolgens uw Event Hubs-naamruimte.

  3. Selecteer op de pagina Event Hubs-naamruimte de optie Sjabloon exporteren onder Automation in het linkermenu.

  4. Kies Downloaden op de pagina Sjabloon exporteren.

    Schermopname van het downloaden van een Resource Manager-sjabloon

  5. Zoek het .zip bestand dat u hebt gedownload uit de portal en pak dat bestand uit naar een map van uw keuze.

    Dit zip-bestand bevat de .json bestanden die de sjabloon en scripts bevatten om de sjabloon te implementeren.

De sjabloon aanpassen

Wijzig de sjabloon door de naam en regio van de Event Hubs-naamruimte te wijzigen.

  1. Selecteer Sjabloonimplementatie.

  2. Selecteer Maken in De Azure-portal.

  3. Selecteer Bouw uw eigen sjabloon in de editor.

  4. Selecteer Bestand laden en volg de instructies voor het laden van het template.json-bestand dat u in de laatste sectie hebt gedownload.

  5. Geef in het template.json bestand de Event Hubs-naamruimte een naam door de standaardwaarde van de naamruimtenaam in te stellen. In dit voorbeeld wordt de standaardwaarde van de naamruimtenaam van de Event Hubs ingesteld op 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. Bewerk de locatie-eigenschap in het template.json bestand in de doelregio. In dit voorbeeld wordt de doelregio ingesteld op 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"
             }
         }
     }
    

    Zie Azure-locaties voor het verkrijgen van regiolocatiecodes. De code voor een regio is de regionaam zonder spaties, VS = - centraal.

  7. Verwijder resources van het type privé-eindpunt in de sjabloon.

     {
         "type": "Microsoft.EventHub/namespaces/privateEndpointConnections",
    
     }
    
  8. Als u een service-eindpunt hebt geconfigureerd in uw Event Hubs, voegt u in de networkrulesets sectie onder virtualNetworkRulesDe regel voor het doelsubnet toe. Zorg ervoor dat de ignoreMissingVnetServiceEndpointvlag _is ingesteld op False, zodat de IaC de Event Hubs niet kan implementeren als het service-eindpunt niet is geconfigureerd in de doelregio.

    _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. Selecteer Opslaan om de sjabloon op te slaan.

Opnieuw implementeren

  1. Selecteer in Azure Portal Een resource maken.

  2. Typ in Marketplace sjabloonimplementatie en selecteer Sjabloonimplementatie (implementeren met aangepaste sjablonen) in Marketplace.

  3. Selecteer Bouw uw eigen sjabloon in de editor.

  4. Selecteer Bestand laden en volg de instructies voor het laden van het template.json bestand dat u in de laatste sectie hebt gewijzigd.

  5. Voer op de pagina Aangepaste implementatie de volgende stappen uit:

    1. Selecteer een Azure-abonnement.
    2. Selecteer een bestaande resourcegroep of maak er een. Als de bronnaamruimte zich in een Event Hubs-cluster bevindt, selecteert u de resourcegroep die het cluster in de doelregio bevat.
    3. Selecteer de doellocatie of regio. Als u een bestaande resourcegroep hebt geselecteerd, is deze instelling alleen-lezen.
    4. Voer in de sectie INSTELLINGEN de volgende stappen uit:
      1. Voer de naam van de nieuwe naamruimte in.

        Resource Manager-sjabloon implementeren

      2. Als uw bronnaamruimte zich in een Event Hubs-cluster bevindt, voert u namen in van de resourcegroep en het Event Hubs-cluster als onderdeel van de externe id.

        /subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<CLUSTER'S RESOURCE GROUP>/providers/Microsoft.EventHub/clusters/<CLUSTER NAME>
        
      3. Als Event Hubs in uw naamruimte een opslagaccount gebruikt voor het vastleggen van gebeurtenissen, geeft u de naam van de resourcegroep en het opslagaccount voor StorageAccounts_<original storage account name>_external het veld op.

        /subscriptions/0000000000-0000-0000-0000-0000000000000/resourceGroups/<STORAGE'S RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>
        
    5. Selecteer Controleren en maken onderaan de pagina.
    6. Controleer de instellingen op de pagina Beoordelen en maken en selecteer vervolgens Maken.
  6. De netwerkconfiguratie-instellingen (privé-eindpunten) moeten opnieuw worden geconfigureerd in de nieuwe Event Hubs.

Verwijderen of opschonen

Als u na de implementatie opnieuw wilt beginnen, kunt u de event Hubs-doelnaamruimte verwijderen en de stappen herhalen die worden beschreven in de secties Voorbereiden en verplaatsen van dit artikel.

Als u de wijzigingen wilt doorvoeren en de verplaatsing van een Event Hubs-naamruimte wilt voltooien, verwijdert u de Event Hubs-naamruimte in de oorspronkelijke regio. Zorg ervoor dat u alle gebeurtenissen in de naamruimte hebt verwerkt voordat u de naamruimte verwijdert.

Ga als volgt te werk om een Event Hubs-naamruimte (bron of doel) te verwijderen met behulp van Azure Portal:

  1. Typ Event Hubs in het zoekvenster boven aan Azure Portal en selecteer Event Hubs in de zoekresultaten. U ziet de Event Hubs-naamruimten in een lijst.

  2. Selecteer de doelnaamruimte die u wilt verwijderen en selecteer Verwijderen op de werkbalk.

    Schermopname met de knop Naamruimte verwijderen

  3. Bevestig de verwijdering op de pagina Naamruimte verwijderen door de naamruimtenaam te typen en selecteer Vervolgens Verwijderen.

Volgende stappen

In deze procedure hebt u geleerd hoe u een Event Hubs-naamruimte van de ene regio naar de andere verplaatst.

Zie Het artikel Event Hubs verplaatsen naar een andere regio voor instructies over het verplaatsen van een Event Hubs-cluster van de ene regio naar een andere regio.

Raadpleeg voor meer informatie over het verplaatsen van resources tussen regio's en herstel na noodgevallen in Azure: