Dayanıklılık ve yüksek kullanılabilirlik için Azure Container Registry'de alanlar arası yedekliliği etkinleştirme

Azure Container Registry, bölgesel işlemler için kullanılabilirlik sağlamak ve gecikme süresini azaltmak için kayıt defteri verilerini bir veya daha fazla Azure bölgesinde çoğaltan coğrafi çoğaltmaya ek olarak isteğe bağlı bölge yedekliliğini destekler. Bölge yedekliliği , belirli bir bölgedeki bir kayıt defterine veya çoğaltma kaynağına (çoğaltma) dayanıklılık ve yüksek kullanılabilirlik sağlar.

Bu makalede Azure CLI, Azure portalı veya Azure Resource Manager şablonu kullanılarak alanlar arası yedekli kapsayıcı kayıt defteri veya çoğaltmanın nasıl ayarlanacağı gösterilmektedir.

Alanlar arası yedeklilik, Premium kapsayıcı kayıt defteri hizmet katmanının bir özelliğidir. Kayıt defteri hizmet katmanları ve sınırları hakkında bilgi için bkz . Azure Container Registry hizmet katmanları.

Bölgesel Destek

  • ACR Kullanılabilirlik Alanları aşağıdaki bölgelerde desteklenir:

    Kuzey ve Güney Amerika Avrupa Afrika Asya Pasifik
    Güney Brezilya
    Orta Kanada
    Central US
    Doğu ABD
    Doğu ABD 2
    Doğu ABD 2 EUAP
    Orta Güney ABD
    US Government Virginia
    Batı ABD 2
    Batı ABD 3
    Orta Fransa
    Orta Batı Almanya
    Kuzey İtalya
    Kuzey Avrupa
    Doğu Norveç
    Orta İsveç
    Kuzey İsviçre
    Güney Birleşik Krallık
    West Europe
    Güney Afrika Kuzey
    Doğu Avustralya
    Orta Hindistan
    Kuzey Çin 3
    Doğu Asya
    Doğu Japonya
    Güney Kore - Orta
    Katar Merkezi
    Güneydoğu Asya
    Kuzey BAE
  • Kullanılabilirlik alanlarına bölge dönüştürmeleri şu anda desteklenmemektedir.

  • Bir bölgede kullanılabilirlik alanı desteğini etkinleştirmek için, kullanılabilirlik alanı desteği etkinleştirilmiş olarak istenen bölgede kayıt defterini oluşturun veya kullanılabilirlik alanı desteği etkinleştirilmiş çoğaltılmış bir bölge ekleyin.

  • AZ etkin damgalı bir kayıt defteri, varsayılan olarak AZ özellikli bir damga pulu ile bir giriş bölgesi çoğaltması oluşturur. AZ damgası etkinleştirildikten sonra devre dışı bırakılamaz.

  • Giriş bölgesi çoğaltması, giriş bölgesi kayıt defterini temsil eder. Kullanılabilirlik alanı özelliklerini görüntülemeye ve yönetmeye yardımcı olur ve silinemez.

  • Kullanılabilirlik alanı bölge başınadır; çoğaltmalar oluşturulduktan sonra, çoğaltmaları silip yeniden oluşturma dışında durumları değiştirilemez.

  • Bölgede alanlar arası yedeklilik devre dışı bırakılamaz.

  • ACR Görevleri henüz kullanılabilirlik alanlarını desteklemez.

Alanlar arası yedeklilik hakkında

Azure bölgesinde dayanıklı ve yüksek kullanılabilirliğe sahip bir Azure kapsayıcı kayıt defteri oluşturmak için Azure kullanılabilirlik alanlarını kullanın. Örneğin, kuruluşlar veri yerleşimi veya diğer uyumluluk gereksinimlerini karşılamak için desteklenen diğer Azure kaynaklarıyla alanlar arası yedekli bir Azure kapsayıcı kayıt defteri ayarlayabilir ve bir bölgede yüksek kullanılabilirlik sağlayabilir.

Azure Container Registry ayrıca coğrafi çoğaltmayı da destekler ve bu sayede hizmeti birden çok bölgede çoğaltır ve diğer konumlardaki kaynakları hesaplamak için yedeklilik ve yerellik sağlar. Bir bölge içinde yedeklilik için kullanılabilirlik alanlarının ve birden çok bölgede coğrafi çoğaltmanın birleşimi, bir kayıt defterinin hem güvenilirliğini hem de performansını artırır.

Kullanılabilirlik alanları, bir Azure bölgesi içindeki benzersiz fiziksel konumlardır. Dayanıklılığı güvence altına almak için etkinleştirilmiş tüm bölgelerde en az üç ayrı alan vardır. Her bölgede bağımsız güç, soğutma ve ağ ile donatılmış bir veya daha fazla veri merkezi vardır. Alanlar arası yedeklilik için yapılandırıldığında, bölgedeki tüm kullanılabilirlik alanlarında bir kayıt defteri (veya farklı bir bölgedeki kayıt defteri çoğaltması) çoğaltılır ve veri merkezi hataları olduğunda kullanılabilir durumda olur.

Alanlar arası yedekli kayıt defteri oluşturma - CLI

Azure CLI'yi kullanarak alanlar arası yedekliliği etkinleştirmek için Azure CLI sürüm 2.17.0 veya üzeri ya da Azure Cloud Shell gerekir. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Kaynak grubu oluşturma

Gerekirse az group create komutunu çalıştırarak kayıt defteri için bir kaynak grubu oluşturun.

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

Bölge etkin kayıt defteri oluşturma

Premium hizmet katmanında alanlar arası yedekli bir kayıt defteri oluşturmak için az acr create komutunu çalıştırın. Azure Container Registry için kullanılabilirlik alanlarını destekleyen bir bölge seçin. Aşağıdaki örnekte, eastus bölgesinde alanlar arası yedeklilik etkinleştirilmiştir. az acr create Daha fazla kayıt defteri seçeneği için komut yardımına bakın.

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

Komut çıkışında kayıt defterinin zoneRedundancy özelliğini not edin. Etkinleştirildiğinde, kayıt defteri alanlar arası yedeklidir:

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

Alanlar arası yedekli çoğaltma oluşturma

Westus2 gibi Azure Container Registry için kullanılabilirlik alanlarını destekleyen bir bölgede alanlar arası yedekli kayıt defteri çoğaltması oluşturmak için az acr replication create komutunu çalıştırın.

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

Komut çıkışında, çoğaltmanın zoneRedundancy özelliğini not edin. Etkinleştirildiğinde, çoğaltma alanlar arası yedekli olur:

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

Alanlar arası yedekli kayıt defteri oluşturma - portal

  1. Azure Portal’ında oturum açın.

  2. Kaynak oluştur>Kapsayıcılar>Container Registry'yi seçin.

  3. Temel Bilgiler sekmesinde bir kaynak grubu seçin veya oluşturun ve benzersiz bir kayıt defteri adı girin.

  4. Konum bölümünde, Doğu ABD gibi Azure Container Registry için bölge yedekliliğini destekleyen bir bölge seçin.

  5. SKU'da Premium'ı seçin.

  6. Kullanılabilirlik alanları'nda Etkin'i seçin.

  7. İsteğe bağlı olarak, daha fazla kayıt defteri ayarı yapılandırın ve gözden geçir + oluştur'u seçin.

  8. Kayıt defteri örneğini dağıtmak için Oluştur'u seçin.

    Azure portalında alanlar arası yedekliliği etkinleştirme

Alanlar arası yedekli çoğaltma oluşturmak için:

  1. Premium katmanı kapsayıcı kayıt defterinize gidin ve Çoğaltmalar'ı seçin.

  2. Görüntülenen haritada, Batı ABD 2 gibi Azure Container Registry için alanlar arası yedekliliği destekleyen bir bölgede yeşil bir altıgen seçin. İsterseniz + Ekle'yi de seçebilirsiniz.

  3. Çoğaltma oluştur penceresinde Konum'u onaylayın. Kullanılabilirlik alanları'nda Etkin'i ve ardından Oluştur'u seçin.

    Azure portalında alanlar arası yedekli çoğaltmayı etkinleştirme

Alanlar arası yedekli kayıt defteri oluşturma - şablon

Kaynak grubu oluşturma

Gerekirse az group create komutunu çalıştırarak eastus gibi Azure Container Registry için kullanılabilirlik alanlarını destekleyen bir bölgede kayıt defteri için bir kaynak grubu oluşturun. Bu bölge, kayıt defteri konumunu ayarlamak için şablon tarafından kullanılır.

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

Şablonu dağıtma

Alanlar arası yedekli, coğrafi olarak çoğaltılmış bir kayıt defteri oluşturmak için aşağıdaki Resource Manager şablonunu kullanabilirsiniz. Şablon varsayılan olarak kayıt defterinde ve bölgesel çoğaltmada alanlar arası yedekliliği etkinleştirir.

Aşağıdaki içeriği yeni bir dosyaya kopyalayın ve gibi registryZone.jsonbir dosya adı kullanarak kaydedin.

{
    "$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"
      }
    }
  }

Yukarıdaki şablon dosyasını kullanarak kayıt defterini oluşturmak için aşağıdaki az deployment group create komutunu çalıştırın. Gösterildiği yerde şunları sağlayın:

  • benzersiz bir kayıt defteri adı kullanın veya şablonu parametresiz dağıttığınızda sizin için benzersiz bir ad oluşturur
  • çoğaltma için westus2 gibi kullanılabilirlik alanlarını destekleyen bir konum
az deployment group create \
  --resource-group <resource-group-name> \
  --template-file registryZone.json \
  --parameters acrName=<registry-name> acrReplicaLocation=<replica-location>

Komut çıktısında, kayıt defteri ve çoğaltma özelliğini not edin zoneRedundancy . Etkinleştirildiğinde her kaynak alanlar arası yedeklidir:

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

Sonraki adımlar