Aktifkan redundansi zona di Azure Container Registry untuk ketahanan dan ketersediaan tinggi

Selain replikasi geografis, yang mereplikasi data registri di satu atau beberapa wilayah Azure untuk memberikan ketersediaan dan mengurangi latensi untuk operasi regional, Azure Container Registry mendukung redundansi zona opsional. Redundansi zona memberikan ketahanan dan ketersediaan tinggi pada registri atau sumber daya replikasi (replika) di wilayah tertentu.

Artikel ini memperlihatkan cara menyiapkan registri atau replika kontainer zona redundan dengan menggunakan templat Azure CLI, portal Microsoft Azure, atau Azure Resource Manager.

Zona redundansi adalah fitur pratinjau dari tingkat layanan registri kontainer Premium. Untuk informasi tentang tingkat dan batas layanan registri, lihat tingkat layanan Azure Container Registry.

Dukungan regional

  • Zona Ketersediaan ACR didukung di wilayah berikut:

    Amerika Eropa Afrika Asia Pasifik
    Brasil Selatan
    Kanada Tengah
    US Tengah
    US Timur
    AS Timur 2
    US Timur 2 EUAP
    AS Tengah Bagian Selatan
    Virginia Pemerintah AS
    US Barat 2
    AS Barat 3
    Prancis Tengah
    Jerman Barat Tengah
    Eropa Utara
    Norwegia Timur
    Swedia Tengah
    Swiss Utara
    UK Selatan
    Eropa Barat
    Afrika Selatan Utara
    Australia Timur
    India Tengah
    Tiongkok Utara 3
    Asia Timur
    Jepang Timur
    Korea Tengah
    Qatar Tengah
    Asia Tenggara
    UAE Utara
  • Konversi wilayah ke zona ketersediaan saat ini tidak didukung.

  • Untuk mengaktifkan dukungan zona ketersediaan di suatu wilayah, buat registri di wilayah yang diinginkan dengan dukungan zona ketersediaan diaktifkan, atau tambahkan wilayah yang direplikasi dengan dukungan zona ketersediaan diaktifkan.

  • Registri dengan stempel yang mengaktifkan AZ membuat replikasi wilayah asal dengan stempel yang mengaktifkan AZ secara default. Stempel AZ tidak dapat dinonaktifkan setelah diaktifkan.

  • Replikasi wilayah asal merepresentasikan registri wilayah asal. Replikasi ini membantu melihat dan mengelola properti zona ketersediaan dan tidak dapat dihapus.

  • Zona ketersediaan adalah per wilayah, setelah replikasi dibuat, statusnya tidak dapat diubah, kecuali dengan menghapus dan membuat ulang replikasi.

  • Redundansi zona tidak dapat dinonaktifkan di suatu wilayah.

  • Tugas ACR belum mendukung zona ketersediaan.

Tentang redundansi zona

Gunakan zona ketersediaan Azure untuk membuat registri kontainer Azure yang tangguh dan berkualitas tinggi dalam wilayah Azure. Misalnya, organisasi dapat menyiapkan registri kontainer Azure zona redundan dengan sumber daya Azure yang didukung lainnya untuk memenuhi residensi data atau persyaratan kepatuhan lainnya, sekaligus memberikan ketersediaan tinggi dalam suatu wilayah.

Azure Container Registry juga mendukung replikasi geografis, yang mereplikasi layanan di beberapa wilayah, memungkinkan redundansi dan lokalitas untuk menghitung sumber daya di lokasi lain. Kombinasi zona ketersediaan untuk redundansi dalam suatu wilayah, dan replikasi geografis di beberapa wilayah, akan meningkatkan keandalan dan performa registri.

Zona ketersediaan adalah lokasi fisik unik yang berada dalam wilayah Azure. Untuk memastikan ketahanan, ada minimal tiga zona terpisah di semua wilayah yang diaktifkan. Setiap zona memiliki satu atau beberapa pusat data yang dilengkapi dengan daya, pendinginan, dan jaringan yang independen. Ketika dikonfigurasi untuk redundansi zona, registri (atau replika registri di wilayah yang berbeda) direplikasi di semua zona ketersediaan di wilayah tersebut, membuatnya tetap tersedia jika ada kegagalan pusat data.

Membuat registri redundan zona - CLI

Untuk menggunakan Azure CLI untuk mengaktifkan redundansi zona, Anda memerlukan Azure CLI versi 2.17.0 atau yang lebih baru, atau Azure Cloud Shell. Jika Anda perlu memasang atau memutakhirkan, lihat Memasang Azure CLI.

Membuat grup sumber daya

Jika diperlukan, jalankan perintah az group create untuk membuat grup sumber daya untuk registri.

az group create --name <resource-group-name> --location <location>

Buat registri yang diaktifkan zona

Jalankan perintah az acr create untuk membuat registri redundansi zona di tingkat layanan Premium. Pilih wilayah yang mendukung zona ketersediaan untuk Azure Container Registry. Dalam contoh berikut, redundansi zona diaktifkan di wilayah eastus. Lihat bantuan perintah az acr create untuk opsi registri lainnya.

az acr create \
  --resource-group <resource-group-name> \
  --name <container-registry-name> \
  --location eastus \
  --zone-redundancy enabled \
  --sku Premium

Dalam output perintah, perhatikan properti zoneRedundancy untuk registri. Ketika diaktifkan, registri memiliki zona redundan:

{
 [...]
"zoneRedundancy": "Enabled",
}

Buat replikasi redundan zona

Jalankan perintah az acr replication create untuk membuat replika registri zona redundan di wilayah yang mendukung zona ketersediaan untuk Azure Container Registry, seperti westus2.

az acr replication create \
  --location westus2 \
  --resource-group <resource-group-name> \
  --registry <container-registry-name> \
  --zone-redundancy enabled

Dalam output perintah, perhatikan properti zoneRedundancy untuk replika. Ketika diaktifkan, replika ini memiliki zona redundan:

{
 [...]
"zoneRedundancy": "Enabled",
}

Membuat registri redundan zona - portal

  1. Masuk ke portal Azure.

  2. Pilih Buat sumber daya>Kontainer>Registri Kontainer.

  3. Di tab Dasar-Dasar, pilih atau buat grup sumber daya, dan masukkan nama registri yang unik.

  4. Di Lokasi, pilih wilayah yang mendukung redundansi zona untuk Azure Container Registry, seperti East US.

  5. Di SKU, pilih Premium.

  6. Di Zona ketersediaan, pilih Diaktifkan.

  7. Secara opsional, konfigurasikan lebih banyak pengaturan registri, lalu pilih Tinjau + buat.

  8. Pilih Buat untuk menyebarkan instans registri.

    Mengaktifkan redundansi zona di portal Microsoft Azure

Untuk membuat replikasi redundan zona:

  1. Navigasikan ke registri kontainer lapisan Premium Anda, dan pilih Replikasi.

  2. Pada peta yang muncul, pilih segi enam hijau di wilayah yang mendukung redundansi zona untuk Azure Container Registry, seperti West US 2. Atau pilih + Tambahkan.

  3. Di jendela Buat replikasi, konfirmasikan Lokasi. Di Zona ketersediaan, pilih Diaktifkan, lalu pilih Buat.

    Aktifkan replikasi redundan zona di portal Microsoft Azure

Membuat registri redundan zona - templat

Membuat grup sumber daya

Jika diperlukan, jalankan perintah az group create untuk membuat grup sumber daya untuk registri di wilayah yang mendukung zona ketersediaan untuk Azure Container Registry, seperti eastus. Wilayah ini digunakan oleh templat untuk mengatur lokasi registri.

az group create --name <resource-group-name> --location eastus

Sebarkan templat

Anda dapat menggunakan templat Resource Manager berikut untuk membuat registri yang direplikasi secara geografis dengan redundan zona. Templat secara default memungkinkan redundansi zona dalam registri dan replika regional.

Salin konten berikut ke file baru dan simpan menggunakan nama file seperti registryZone.json.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "acrName": {
        "type": "string",
        "defaultValue": "[concat('acr', uniqueString(resourceGroup().id))]",
        "minLength": 5,
        "maxLength": 50,
        "metadata": {
          "description": "Globally unique name of your Azure Container Registry"
        }
      },
      "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
          "description": "Location for registry home replica."
        }
      },
      "acrSku": {
        "type": "string",
        "defaultValue": "Premium",
        "allowedValues": [
          "Premium"
        ],
        "metadata": {
          "description": "Tier of your Azure Container Registry. Geo-replication and zone redundancy require Premium SKU."
        }
      },
      "acrZoneRedundancy": {
        "type": "string",
        "defaultValue": "Enabled",
        "metadata": {
          "description": "Enable zone redundancy of registry's home replica. Requires registry location to support availability zones."
        }
      },
      "acrReplicaLocation": {
        "type": "string",
        "metadata": {
          "description": "Short name for registry replica location."
        }
      },
      "acrReplicaZoneRedundancy": {
        "type": "string",
        "defaultValue": "Enabled",
        "metadata": {
          "description": "Enable zone redundancy of registry replica. Requires replica location to support availability zones."
        }
      }
    },
    "resources": [
      {
        "comments": "Container registry for storing docker images",
        "type": "Microsoft.ContainerRegistry/registries",
        "apiVersion": "2020-11-01",
        "name": "[parameters('acrName')]",
        "location": "[parameters('location')]",
        "sku": {
          "name": "[parameters('acrSku')]",
          "tier": "[parameters('acrSku')]"
        },
        "tags": {
          "displayName": "Container Registry",
          "container.registry": "[parameters('acrName')]"
        },
        "properties": {
          "adminUserEnabled": "[parameters('acrAdminUserEnabled')]",
          "zoneRedundancy": "[parameters('acrZoneRedundancy')]"
        }
      },
      {
        "type": "Microsoft.ContainerRegistry/registries/replications",
        "apiVersion": "2020-11-01",
        "name": "[concat(parameters('acrName'), '/', parameters('acrReplicaLocation'))]",
        "location": "[parameters('acrReplicaLocation')]",
          "dependsOn": [
          "[resourceId('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
        ],
        "properties": {
          "zoneRedundancy": "[parameters('acrReplicaZoneRedundancy')]"
        }
      }
    ],
    "outputs": {
      "acrLoginServer": {
        "value": "[reference(resourceId('Microsoft.ContainerRegistry/registries',parameters('acrName')),'2019-12-01').loginServer]",
        "type": "string"
      }
    }
  }

Jalankan perintah az deployment group create berikut untuk membuat registri menggunakan file templat sebelumnya. Jika ditunjukkan, berikan:

  • nama registri unik, atau sebarkan templat tanpa parameter dan ini akan membuat nama unik untuk Anda
  • lokasi untuk replika yang mendukung zona ketersediaan, seperti westus2
az deployment group create \
  --resource-group <resource-group-name> \
  --template-file registryZone.json \
  --parameters acrName=<registry-name> acrReplicaLocation=<replica-location>

Dalam output perintah, perhatikan properti zoneRedundancy untuk registri dan replika. Ketika diaktifkan, setiap sumber daya memiliki zona redundan:

{
 [...]
"zoneRedundancy": "Enabled",
}

Langkah berikutnya