Flytta Azure Event Hubs till en annan region

Den här artikeln visar hur du kopierar ett Event Hubs-namnområde och konfigurationsinställningar till en annan region.

Om du har andra resurser i Azure-resursgruppen som innehåller Event Hubs-namnområdet kanske du vill exportera mallen på resursgruppsnivå så att alla relaterade resurser kan flyttas till den nya regionen i ett steg. Information om hur du exporterar en resursgrupp till mallen finns i Flytta resurser mellan regioner (från resursgrupp).

Förutsättningar

  • Kontrollera att tjänsterna och funktionerna som kontot använder stöds i målregionen.

  • Om du har aktiverat avbildningsfunktionen för händelsehubbar i namnområdet flyttar du Azure Storage- eller Azure Data Lake Store Gen 2-konton innan du flyttar Event Hubs-namnområdet. Du kan också flytta resursgruppen som innehåller både Lagrings- och Event Hubs-namnområden till den andra regionen genom att följa stegen som liknar de som beskrivs i den här artikeln.

  • Om Event Hubs-namnområdet finns i ett Event Hubs-kluster flyttar du det dedikerade klustret till målregionen innan du går igenom stegen i den här artikeln. Du kan också använda snabbstartsmallen på GitHub för att skapa ett Event Hubs-kluster. I mallen tar du bort namnområdesdelen av JSON för att bara skapa klustret.

  • Identifiera alla resursberoenden. Beroende på hur du har distribuerat Event Hubs kan följande tjänster behöva distribueras i målregionen:

  • Identifiera alla beroende resurser. Event Hubs är ett meddelandesystem som låter program publicera och prenumerera på meddelanden. Fundera på om ditt program på målet kräver meddelandestöd för samma uppsättning beroende tjänster som det hade vid källmålet.

Driftstopp

Information om möjliga stilleståndstider finns i Cloud Adoption Framework for Azure: Select a relocation method (Molnimplementeringsramverk för Azure: Välj en omlokaliseringsmetod).

Överväganden för tjänstslutpunkter

Tjänstslutpunkterna för virtuella nätverk för Azure Event Hubs begränsar åtkomsten till ett angivet virtuellt nätverk. Slutpunkterna kan också begränsa åtkomsten till en lista över adressintervall för IPv4 (Internet Protocol version 4). Alla användare som ansluter till händelsehubbar utanför dessa källor nekas åtkomst. Om tjänstslutpunkter konfigurerades i källregionen för Event Hubs-resursen skulle samma sak behöva göras i målområdet.

För att händelsehubbarna ska kunna återskapas till målregionen måste det virtuella nätverket och undernätet skapas i förväg. Om flytten av dessa två resurser utförs med Azure Resource Mover-verktyget konfigureras inte tjänstslutpunkterna automatiskt. Därför måste de konfigureras manuellt, vilket kan göras via Azure-portalen, Azure CLI eller Azure PowerShell.

Överväganden för privat slutpunkt

Azure Private Link tillhandahåller privata anslutningar från ett virtuellt nätverk till Azure Platform as a Service (PaaS), kundägda eller Microsoft-partnertjänster. Private Link förenklar nätverksarkitekturen och skyddar anslutningen mellan slutpunkter i Azure genom att eliminera dataexponering för det offentliga Internet.

För att händelsehubbarna i målregionen ska kunna återskapas måste det virtuella nätverket och undernätet skapas innan den faktiska rekreationen inträffar.

Förbereda

Kom igång genom att exportera en Resource Manager-mall. Den här mallen innehåller inställningar som beskriver eventhubs-namnområdet.

  1. Logga in på Azure-portalen.

  2. Välj Alla resurser och välj sedan Event Hubs-namnområdet.

  3. På sidan Event Hubs-namnområde väljer du Exportera mall under Automation på den vänstra menyn.

  4. Välj Ladda nedsidan Exportera mall .

    Skärmbild som visar var du kan ladda ned Resource Manager-mall

  5. Leta upp den .zip fil som du laddade ned från portalen och packa upp filen till valfri mapp.

    Den här zip-filen innehåller de .json filer som innehåller mallen och skripten för att distribuera mallen.

Ändra mallen

Ändra mallen genom att ändra Namnområdesnamn och region för Event Hubs.

  1. Välj Malldistribution.

  2. I Azure-portalen väljer du Skapa.

  3. Välj alternativet för att skapa din egen mall i redigeringsprogrammet.

  4. Välj Läs in fil och följ sedan anvisningarna för att läsa in den template.json fil som du laddade ned i det sista avsnittet.

  5. I filen template.json namnger du Event Hubs-namnområdet genom att ange standardvärdet för namnområdesnamnet. I det här exemplet anges standardvärdet för namnområdesnamnet för Event Hubs till 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. Redigera platsegenskapen i filen template.json till målregionen. I det här exemplet anges målregionen till 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"
             }
         }
     }
    

    Information om hur du hämtar platskoder för regioner finns i Azure-platser. Koden för en region är regionnamnet utan blanksteg, centrala usa = centrala.

  7. Ta bort resurser av typen privat slutpunkt i mallen.

     {
         "type": "Microsoft.EventHub/namespaces/privateEndpointConnections",
    
     }
    
  8. Om du har konfigurerat en tjänstslutpunkt i händelsehubbar lägger networkrulesets du till regeln för målundernätet i avsnittet under virtualNetworkRules. Kontrollera att ignoreMissingVnetServiceEndpointflaggan _ är inställd på False, så att IaC inte kan distribuera händelsehubbarna om tjänstslutpunkten inte har konfigurerats i målregionen.

    _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. Spara mallen genom att välja Spara .

Omdistribuera

  1. I Azure-portalen väljer du Skapa en resurs.

  2. I Sök på Marketplace skriver du malldistribution och väljer Malldistribution (distribuera med anpassade mallar).

  3. Välj alternativet för att skapa din egen mall i redigeringsprogrammet.

  4. Välj Läs in fil och följ sedan anvisningarna för att läsa in den template.json fil som du ändrade i det sista avsnittet.

  5. Följ dessa steg på sidan Anpassad distribution :

    1. Välj en Azure-prenumeration.
    2. Välj en befintlig resursgrupp eller skapa en. Om källnamnområdet fanns i ett Event Hubs-kluster väljer du den resursgrupp som innehåller kluster i målregionen.
    3. Välj målplats eller region. Om du har valt en befintlig resursgrupp är den här inställningen skrivskyddad.
    4. I avsnittet INSTÄLLNINGAR gör du följande:
      1. Ange det nya namnområdesnamnet.

        Distribuera Resource Manager-mall

      2. Om källnamnområdet fanns i ett Event Hubs-kluster anger du namn på resursgruppen och Event Hubs-klustret som en del av det externa ID:t.

        /subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<CLUSTER'S RESOURCE GROUP>/providers/Microsoft.EventHub/clusters/<CLUSTER NAME>
        
      3. Om Event Hubs i ditt namnområde använder ett lagringskonto för att samla in händelser anger du resursgruppens namn och lagringskontot för StorageAccounts_<original storage account name>_external fältet.

        /subscriptions/0000000000-0000-0000-0000-0000000000000/resourceGroups/<STORAGE'S RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>
        
    5. Välj Granska + skapa längst ned på sidan.
    6. På sidan Granska + skapa granskar du inställningarna och väljer sedan Skapa.
  6. Nätverkskonfigurationsinställningar (privata slutpunkter) måste konfigureras på nytt i de nya händelsehubbarna.

Ta bort eller rensa

Om du vill börja om efter distributionen kan du ta bort event hubs-målnamnområdet och upprepa stegen som beskrivs i avsnitten Förbered och flytta i den här artikeln.

Om du vill checka in ändringarna och slutföra flytten av ett Event Hubs-namnområde tar du bort Event Hubs-namnområdet i den ursprungliga regionen. Kontrollera att du har bearbetat alla händelser i namnområdet innan du tar bort namnområdet.

Så här tar du bort ett Event Hubs-namnområde (källa eller mål) med hjälp av Azure-portalen:

  1. I sökfönstret överst i Azure-portalen skriver du Event Hubs och väljer Event Hubs i sökresultat. Du ser Event Hubs-namnrymderna i en lista.

  2. Välj målnamnområdet som ska tas bort och välj Ta bort i verktygsfältet.

    Skärmbild som visar knappen Ta bort namnområde –

  3. På sidan Ta bort namnområde bekräftar du borttagningen genom att skriva namnet på namnområdet och väljer sedan Ta bort.

Nästa steg

I den här instruktioner har du lärt dig hur du flyttar ett Event Hubs-namnområde från en region till en annan.

Anvisningar om hur du flyttar ett Event Hubs-kluster från en region till en annan region finns i artikeln Flytta händelsehubbar till en annan region .

Mer information om hur du flyttar resurser mellan regioner och haveriberedskap i Azure finns i: