Merelokasi Azure Event Hubs ke wilayah lain

Artikel ini memperlihatkan kepada Anda cara menyalin namespace layanan Azure Event Hubs dan pengaturan konfigurasi ke wilayah lain.

Jika Anda memiliki sumber daya lain di grup sumber daya Azure yang berisi ruang nama Azure Event Hubs, Anda mungkin ingin mengekspor templat di tingkat grup sumber daya, sehingga semua sumber daya terkait dapat dipindahkan ke wilayah baru dalam satu langkah. Untuk mempelajari cara mengekspor grup sumber daya ke templat, lihat Memindahkan sumber daya di seluruh wilayah(dari grup sumber daya).

Prasyarat

  • Pastikan bahwa layanan dan fitur yang akun Anda gunakan didukung di wilayah target.

  • Jika Anda mengaktifkan fitur penangkapan untuk hub peristiwa di namespace layanan, pindahkan akun Azure Storage atau Azure Data Lake Store Gen 2 sebelum memindahkan namespace layanan Azure Event Hubs. Anda juga dapat memindahkan grup sumber daya yang berisi ruang nama Storage dan Azure Event Hubs ke wilayah lain dengan mengikuti langkah-langkah yang mirip dengan yang dijelaskan dalam artikel ini.

  • Jika ruang nama Azure Event Hubs berada dalam kluster Azure Event Hubs, pindahkan kluster khusus ke wilayah target sebelum Anda menjalankan langkah-langkah di artikel ini. Anda juga dapat menggunakan template mulai cepat di GitHub untuk membuat kluster Azure Event Hubs. Dalam templat, hapus bagian ruang nama JSON untuk membuat hanya kluster.

  • Identifikasi semua dependensi sumber daya. Bergantung pada cara Anda menyebarkan Azure Event Hubs, layanan berikut mungkin memerlukan penyebaran di wilayah target:

  • Identifikasi semua sumber daya dependen. Azure Event Hubs adalah sistem olahpesan yang memungkinkan aplikasi menerbitkan dan berlangganan pesan. Pertimbangkan apakah aplikasi Anda pada target memerlukan dukungan olahpesan untuk serangkaian layanan dependen yang sama dengan yang dimilikinya pada target sumber.

Waktu henti

Untuk memahami kemungkinan waktu henti yang terlibat, lihat Cloud Adoption Framework untuk Azure: Pilih metode relokasi.

Pertimbangan untuk Titik Akhir Layanan

Titik akhir layanan jaringan virtual untuk Azure Event Hubs membatasi akses ke jaringan virtual tertentu. Titik akhir juga dapat membatasi akses ke daftar rentang alamat IPv4 (protokol internet versi 4). Setiap pengguna yang terhubung ke Azure Event Hubs dari luar sumber tersebut ditolak aksesnya. Jika Titik akhir layanan dikonfigurasi di wilayah sumber untuk sumber daya Azure Event Hubs, hal yang sama perlu dilakukan di target satu.

Untuk rekreasi Event Hubs yang berhasil ke wilayah target, VNet dan Subnet harus dibuat sebelumnya. Jika pemindahan kedua sumber daya ini dilakukan dengan alat Azure Resource Mover, titik akhir layanan tidak akan dikonfigurasi secara otomatis. Oleh karena itu, mereka perlu dikonfigurasi secara manual, yang dapat dilakukan melalui portal Azure, Azure CLI, atau Azure PowerShell.

Pertimbangan untuk Titik Akhir Privat

Azure Private Link menyediakan konektivitas privat dari jaringan virtual ke platform Azure sebagai layanan (PaaS), milik pelanggan, atau layanan mitra Microsoft. Private Link menyederhanakan arsitektur jaringan dan mengamankan koneksi antara titik akhir di Azure dengan menghilangkan paparan data ke internet publik.

Untuk rekreasi Event Hubs yang berhasil di wilayah target, VNet dan Subnet harus dibuat sebelum rekreasi aktual terjadi.

Siapkan

Untuk memulai, ekspor templat Resource Manager. Templat ini berisi pengaturan yang menjelaskan ruang nama Azure Event Hubs Anda.

  1. Masuk ke portal Azure.

  2. Pilih Semua sumber daya, lalu pilih ruang nama Azure Event Hubs Anda.

  3. Pada halaman Ruang Nama Azure Event Hubs, pilih Ekspor templat di bawah Otomatisasi di menu kiri.

  4. Pilih Unduh di halaman Ekspor templat.

    Cuplikan layar memperlihatkan tempat mengunduh templat Resource Manager

  5. Temukan file .zip yang telah Anda unduh dari portal, dan unzip file tersebut ke folder pilihan Anda.

    File zip ini berisi file .json yang menyertakan templat dan skrip untuk menyebarkan templat.

Mengubah templat

Ubah templat dengan mengubah nama dan wilayah namespace Layanan Pusat Aktivitas.

  1. Pilih Penyebaran templat.

  2. Di portal Azure, pilih Buat.

  3. Pilih Buat template Anda sendiri di editor.

  4. Pilih Muat file, lalu ikuti petunjuk untuk memuat file template.json yang telah Anda unduh di bagian terakhir.

  5. Dalam file template.json, beri nama namespace Layanan Pusat Aktivitas dengan mengatur nilai default nama namespace layanan. Contoh ini menetapkan nilai default nama namespace Layanan Pusat Aktivitas ke 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. Edit properti lokasi di file template.json ke wilayah target. Contoh ini menetapkan wilayah target ke 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"
             }
         }
     }
    

    Untuk mendapatkan kode lokasi wilayah, lihat Lokasi Azure. Kode untuk suatu wilayah adalah nama wilayah tanpa spasi, Central US = centralus.

  7. Hapus sumber daya jenis titik akhir privat dalam templat.

     {
         "type": "Microsoft.EventHub/namespaces/privateEndpointConnections",
    
     }
    
  8. Jika Anda mengonfigurasi titik akhir layanan di Azure Event Hubs, di bagian networkrulesets , di bawah virtualNetworkRules, tambahkan aturan untuk subnet target. Pastikan bahwa ignoreMissingVnetServiceEndpointbendera _ diatur ke False, sehingga IaC gagal menyebarkan Azure Event Hubs jika titik akhir layanan tidak dikonfigurasi di wilayah target.

    _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. Pilih Simpan untuk menyimpan templat.

Menyebarkan ulang

  1. Di portal Microsoft Azure, pilih Buat sumber daya.

  2. Di Cari Marketplace; ketik penyebaran templat, dan pilih Penyebaran templat (sebar menggunakan templat kustom).

  3. Pilih Buat template Anda sendiri di editor.

  4. Pilih Muat file, lalu ikuti instruksi untuk memuat file template.json yang Anda ubah di bagian terakhir.

  5. Pada halaman Penyebaran kustom, ikuti langkah-langkah berikut:

    1. Pilih langganan Azure.
    2. Pilih grup sumber daya yang sudah ada atau buat yang baru. Jika ruang nama sumber berada di kluster Azure Event Hubs, pilih grup sumber daya yang berisi kluster di wilayah target.
    3. Pilih lokasi atau wilayah target. Jika Anda memilih grup sumber daya yang ada, pengaturan ini bersifat baca-saja.
    4. Di bagian PENGATURAN , lakukan langkah-langkah berikut:
      1. Masukkan nama ruang nama baru.

        Menyebarkan templat Resource Manager

      2. Jika ruang nama sumber Anda berada di kluster Azure Event Hubs, masukkan nama grup sumber daya dan kluster Azure Event Hubs sebagai bagian dari ID eksternal.

        /subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<CLUSTER'S RESOURCE GROUP>/providers/Microsoft.EventHub/clusters/<CLUSTER NAME>
        
      3. Jika Azure Event Hubs di namespace Anda menggunakan akun Storage untuk menangkap peristiwa, tentukan nama grup sumber daya dan akun penyimpanan untuk StorageAccounts_<original storage account name>_external bidang.

        /subscriptions/0000000000-0000-0000-0000-0000000000000/resourceGroups/<STORAGE'S RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>
        
    5. Pilih Tinjau + buat di bagian bawah halaman.
    6. Pada halaman Tinjau + buat, tinjau pengaturan, lalu pilih Buat.
  6. Pengaturan konfigurasi jaringan (titik akhir privat) perlu dikonfigurasi ulang di Azure Event Hubs baru.

Membuang dan membersihkan

Setelah penyebaran, jika Anda ingin memulai kembali, Anda dapat menghapus ruang nama Azure Event Hubs target, dan mengulangi langkah-langkah yang dijelaskan di bagian Mempersiapkan dan Memindahkan pada artikel ini.

Untuk menerapkan perubahan dan menyelesaikan pemindahan ruang nama Azure Event Hubs, hapus ruang nama Azure Event Hubs di wilayah asal. Pastikan Anda memproses semua kejadian di ruang nama sebelum menghapus ruang nama.

Untuk menghapus ruang nama Azure Event Hubs (sumber atau target) dengan menggunakan portal Microsoft Azure:

  1. Di jendela pencarian di bagian atas portal Microsoft Azure, ketik Event Hubs, dan pilih Event Hubs dari hasil pencarian. Anda melihat ruang nama Azure Event Hubs dalam daftar.

  2. Pilih namespace target untuk dihapus, dan pilih Hapus dari toolbar.

    Cuplikan layar memperlihatkan hapus namespace - tombol

  3. Pada halaman Hapus Ruang Nama, konfirmasikan penghapusan dengan mengetikkan nama ruang nama, lalu pilih Hapus.

Langkah berikutnya

Dalam panduan ini, Anda mempelajari cara memindahkan namespace Layanan Pusat Aktivitas dari satu wilayah ke wilayah lainnya.

Untuk petunjuk tentang memindahkan kluster Azure Event Hubs dari satu wilayah ke wilayah lain, lihat Artikel Memindahkan Pusat Aktivitas ke wilayah lain.

Untuk mempelajari selengkapnya tentang memindahkan sumber daya antar wilayah dan pemulihan bencana di Azure, lihat: