Přemístění služby Azure Container Registry do jiné oblasti
Tento článek ukazuje, jak přemístit prostředky služby Azure Container Registry do jiné oblasti ve stejném předplatném tenanta Active Directory.
Poznámka:
Pokud potřebujete distribuovat stejné image kontejnerů napříč několika oblastmi Azure, Azure Container Registry podporuje také geografickou replikaci. Geografickou replikací registru (vyžaduje se úroveň služby Premium), můžete obsluhovat více oblastí s identickými názvy imagí a značek z jednoho registru.
Požadavky
Registr můžete přemístit pouze v rámci stejného tenanta služby Active Directory. Toto omezení platí pro registry, které jsou šifrované a nešifrované pomocí klíče spravovaného zákazníkem.
Pokud má zdrojový registr povolené zóny dostupnosti, musí cílová oblast podporovat také zóny dostupnosti. Další informace o podpoře zón dostupnosti pro Azure Container Registry najdete v tématu Povolení redundance zón ve službě Azure Container Registry.
Důležité informace o koncových bodech služby
Koncové body služby virtuální sítě pro Azure Container Registry omezují přístup k zadané virtuální síti. Koncové body můžou také omezit přístup k seznamu rozsahů adres IPv4 (protokol IPv4 verze 4). Přístup byl odepřen všem uživatelům, kteří se připojují k registru mimo tyto zdroje. Pokud byly koncové body služby nakonfigurované ve zdrojové oblasti pro prostředek registru, je potřeba provést totéž v cílové oblasti. Postup pro tento scénář je uvedený níže:
V případě úspěšného obnovení registru do cílové oblasti je nutné předem vytvořit virtuální síť a podsíť. Pokud se přesun těchto dvou prostředků provádí pomocí nástroje Azure Resource Mover, koncové body služby se nenakonfigurují automaticky, takže budete muset zadat ruční konfiguraci.
Za druhé je potřeba provést změny v IaC služby Azure Container Registry. V
networkAcl
části v částivirtualNetworkRules
přidejte pravidlo pro cílovou podsíť. Ujistěte se, žeignoreMissingVnetServiceEndpoint
je příznak nastavený na False, aby se IaC nepodařilo nasadit službu Azure Container Registry v případě, že koncový bod služby není nakonfigurovaný v cílové oblasti. Tím zajistíte splnění požadavků v cílové oblasti.
Důležité informace o privátním koncovém bodu
Azure Private Link poskytuje privátní připojení z virtuální sítě k platformě Azure jako službě (PaaS), službám vlastněným zákazníkem nebo partnerským službám Microsoftu. Private Link zjednodušuje síťovou architekturu a zabezpečuje připojení mezi koncovými body v Azure tím, že eliminuje vystavení dat veřejnému internetu.
V případě úspěšného obnovení vašeho prostředku v cílové oblasti musí být virtuální síť a podsíť vytvořeny, než dojde k skutečnému obnovení.
Důležité informace o integraci DNS privátního koncového bodu Azure
Je důležité správně nakonfigurovat nastavení DNS tak, aby přeložil IP adresu privátního koncového bodu na plně kvalifikovaný název domény (FQDN) připojovací řetězec.
Stávající služby Microsoft Azure už můžou mít konfiguraci DNS pro veřejný koncový bod. Tato konfigurace musí být přepsána pro připojení pomocí privátního koncového bodu.
Síťové rozhraní přidružené k privátnímu koncovému bodu obsahuje informace pro konfiguraci VAŠEHO DNS. Informace o síťovém rozhraní zahrnují plně kvalifikovaný název domény a privátní IP adresy vašeho prostředku privátního propojení.
Ke konfiguraci nastavení DNS pro privátní koncové body můžete použít následující možnosti:
- Použijte soubor hostitele (doporučuje se jenom pro testování). Soubor hostitele na virtuálním počítači můžete použít k přepsání DNS.
- Použijte zónu privátního DNS. Pomocí zón privátního DNS můžete přepsat překlad názvů DNS pro privátní koncový bod. S virtuální sítí je možné propojit zónu privátního DNS za účelem překladu konkrétních domén.
- Použijte modul pro předávání DNS (volitelné). Modul pro předávání DNS můžete použít k přepsání překladu DNS pro prostředek privátního propojení. Vytvořte pravidlo předávání DNS, které bude používat privátní zónu DNS na serveru DNS hostovaném ve virtuální síti.
Služba Azure Container Registry musí být nakonfigurovaná v cílové oblasti s úrovní Premium.
Pokud je přístup veřejné sítě k registru zakázaný, přístup k registru určitými důvěryhodnými službami , včetně Služby Azure Security Center, vyžaduje povolení nastavení sítě, aby se pravidla sítě obešla.
Pokud má registr schválený privátní koncový bod a přístup k veřejné síti je zakázaný, úložiště a značky se nedají vypisovat mimo virtuální síť pomocí webu Azure Portal, Azure CLI nebo jiných nástrojů.
V případě nové repliky je nutné ručně přidat nový záznam DNS pro koncový bod dat v cílové oblasti.
Odstávka
Informace o možných výpadkech najdete v tématu Architektura přechodu na cloud pro Azure: Výběr metody přemístění.
Příprava
Poznámka:
Pokud chcete přemístit pouze službu Container Registry, která neobsahuje žádná data specifická pro klienta a je potřeba je přesunout sama, můžete registr jednoduše znovu nasadit pomocí Bicep nebo JSON.
Pokud chcete zobrazit další šablony konfigurace dostupnosti, přejděte na Definování prostředků pomocí Bicep, šablon ARM a zprostředkovatele Terraform AzAPI.
Příprava na přemístění s migrací dat:
Vytvořte mapu závislostí se všemi službami Azure používanými registrem. Pro služby, které jsou v rozsahu přemístění, musíte zvolit odpovídající strategii přemístění.
Identifikujte rozložení zdrojové sítě pro Službu Azure Container Registry (ACR), jako je brána firewall a izolace sítě.
Načtěte všechny požadované image ze zdrojového registru pro import do cílového registru. Pokud chcete načíst image, spusťte následující příkaz:
Get-AzContainerRegistryRepository -RegistryName registry
Pomocí úloh ACR můžete načíst konfigurace automatizace zdrojového registru pro import do cílového registru.
Export šablony
Začněte exportem šablony Resource Manageru. Tato šablona obsahuje nastavení, která popisují registr kontejneru. Další informace o tom, jak používat exportované šablony, najdete v tématu Použití exportované šablony z webu Azure Portal a referenční informace k šabloně.
Na webu Azure Portal přejděte do zdrojového registru.
V nabídce v části Automatizace vyberte Exportovat šablonu>Ke stažení.
Vyhledejte .zip soubor, který jste stáhli z portálu, a rozbalte ho do libovolné složky.
Tento soubor ZIP obsahuje soubory .json, které obsahují šablonu a skripty pro nasazení šablony.
Úprava šablony
Zkontrolujte vlastnosti registru v souboru JSON šablony, který jste stáhli, a proveďte potřebné změny. Minimálně:
- Změňte název
defaultValue
registru na požadovaný název cílového registru. location
Aktualizace do požadované oblasti Azure pro cílový registr
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"registries_myregistry_name": {
"defaultValue": "myregistry",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2020-11-01-preview",
"name": "[parameters('myregistry_name')]",
"location": "centralus",
...
}
]
}
Ověřte všechny přidružené prostředky ve stažené šabloně, jako jsou mapy oborů registru, konfigurace replikace, nastavení diagnostiky, jako je log analytics.
Pokud je zdrojový registr šifrovaný, zašifrujte cílový registr pomocí klíče spravovaného zákazníkem a aktualizujte šablonu nastavením požadované spravované identity, trezoru klíčů a klíče. Klíč spravovaný zákazníkem můžete povolit jenom při nasazení registru.
Vytvořit skupinu zdrojů
Pomocí příkazu az group create vytvořte skupinu prostředků pro cílový registr. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus.
az group create --name myResourceGroup --location eastus
Opětovné nasazení
Pomocí příkazu az deployment group create nasaďte cílový registr pomocí šablony:
az deployment group create --resource-group myResourceGroup \
--template-file template.json --name mydeployment
Poznámka:
Pokud se během nasazování zobrazí chyby, budete možná muset aktualizovat určité konfigurace v souboru šablony a zkusit příkaz zopakovat.
Import obsahu registru v cílovém registru
Po vytvoření registru v cílové oblasti:
K importu imagí a dalších artefaktů, které chcete zachovat ze zdrojového registru do cílového registru, použijte příkaz az acr import nebo ekvivalentní příkaz
Import-AzContainerImage
PowerShellu. Příklady příkazů najdete v tématu Import imagí kontejneru do registru kontejneru.Pomocí příkazů Azure CLI az acr repository list a az acr repository show-tags nebo ekvivalentů Azure PowerShellu můžete vytvořit výčet obsahu zdrojového registru.
Spusťte příkaz importu pro jednotlivé artefakty nebo ho skriptujte, aby se spustil seznam artefaktů.
Následující ukázkový skript Azure CLI vytvoří výčet zdrojových úložišť a značek a pak importuje artefakty do cílového registru ve stejném předplatném Azure. Podle potřeby upravte import konkrétních úložišť nebo značek. Pokud chcete importovat z registru v jiném předplatném nebo tenantovi, podívejte se na příklady importu imagí kontejneru do registru kontejneru.
#!/bin/bash
# Modify registry names for your environment
SOURCE_REG=myregistry
TARGET_REG=targetregistry
# Get list of source repositories
REPO_LIST=$(az acr repository list \
--name $SOURCE_REG --output tsv)
# Enumerate tags and import to target registry
for repo in $REPO_LIST; do
TAGS_LIST=$(az acr repository show-tags --name $SOURCE_REG --repository $repo --output tsv);
for tag in $TAGS_LIST; do
echo "Importing $repo:$tag";
az acr import --name $TARGET_REG --source $SOURCE_REG.azurecr.io/$repo":"$tag;
done
done
Přidružte závislé prostředky k cílové službě Azure Container Registry, jako je pracovní prostor služby Log Analytics v nastavení diagnostiky.
Spuštěním následujícího příkazu nakonfigurujte integraci služby Azure Container Registry s oběma typy clusterů AKS, zřízenými nebo ještě zřízenými:
Set-AzAksCluster -Name myAKSCluster -ResourceGroupName myResourceGroup -AcrNameToAttach <acr-name>
Proveďte potřebné změny v souboru manifestu Kubernetes, aby se integrovaly s přemísťovanými službami Azure Container Registry (ACR).
Aktualizujte systémy vývoje a nasazení tak, aby používaly cílový registr místo zdrojového registru.
Aktualizujte všechna pravidla brány firewall klienta tak, aby umožňovala přístup k cílovému registru.
Ověření
Potvrďte v cílovém registru následující informace:
- Nastavení registru, jako je název registru, úroveň služby, veřejný přístup a replikace
- Úložiště a značky pro obsah, který chcete zachovat.
Odstranění původního registru
Po úspěšném nasazení cílového registru, migrovaného obsahu a ověřeného nastavení registru můžete zdrojový registr odstranit.
Související obsah
- Pokud chcete přesunout prostředky registru do nové skupiny prostředků ve stejném předplatném nebo v [novém předplatném], přečtěte si téma Přesun prostředků Azure do nové skupiny prostředků nebo předplatného.
Přečtěte si další informace o importu imagí kontejnerů do registru kontejnerů Azure z veřejného registru nebo jiného privátního registru.
Viz referenční informace k šabloně Resource Manageru pro Azure Container Registry.