Georeplikáció az Azure Container Registryben

A helyi jelenlétre vagy gyakori biztonsági mentésre vágyó vállalatok úgy döntenek, hogy több Azure-régióból futtatnak szolgáltatásokat. Az ajánlott eljárás az, ha mindegyik olyan régióban elhelyez egy tárolóregisztrációs adatbázist, amelyben rendszerképeket futtat, így hálózatközeli műveletek futtathatók, ami lehetővé teszi a rendszerképek gyors és megbízható átvitelét. A georeplikálás lehetővé teszi, hogy az Azure-tárolóregisztrációs adatbázis egyetlen beállításjegyzékként működjön, és több régiót szolgáljon ki több elsődleges regionális adatbázissal.

A georeplikált regisztrációs adatbázis a következő előnyöket nyújtja:

  • Az önálló beállításjegyzék-, rendszerkép- és címkenevek több régióban is használhatók
  • A regionális üzemelő példányok teljesítményének és megbízhatóságának javítása hálózat közeli beállításjegyzék-hozzáféréssel
  • Az adatátviteli költségek csökkentése képrétegek lekérésével egy helyi, replikált beállításjegyzékből ugyanabban vagy a közeli régióban, mint a tárológazda
  • A több régióra kiterjedő regisztrációs adatbázisok egy helyen felügyelhetők
  • A beállításjegyzék rugalmassága regionális leállás esetén

Feljegyzés

  • Ha több Azure-tárolóregisztrációs adatbázisban kell megőriznie a tárolólemezképek másolatait, az Azure Container Registry támogatja a rendszerképek importálását is. Egy DevOps-munkafolyamatban például docker-parancsok használata nélkül importálhat lemezképet egy fejlesztési beállításjegyzékből egy éles beállításjegyzékbe.
  • Ha egy beállításjegyzéket egy másik Azure-régióba szeretne áthelyezni a beállításjegyzék georeplikálása helyett, olvassa el a Tárolóregisztrációs adatbázis manuális áthelyezése másik régióba című témakört.

Előfeltételek

  • A felhasználónak a következő engedélyekre van szüksége (a beállításjegyzék szintjén) a replikációk létrehozásához/törléséhez:

    Engedély Leírás
    Microsoft.ContainerRegistry/registries/write Replikáció létrehozása
    Microsoft.ContainerRegistry/registries/replications/write Replikáció törlése

Példa használati esetre

A Contoso egy nyilvános jelenléti webhelyet futtat az Egyesült Államokban, Kanadában és Európában. Ezeknek a piacoknak a helyi és hálózatközeli tartalommal való kiszolgálásához a Contoso Azure Kubernetes Service-fürtöket (AKS) futtat az USA nyugati régiójában, az USA keleti régiójában, Közép-Kanadában és Nyugat-Európában. A Docker-rendszerképként üzembe helyezett webhelyalkalmazás minden régióban ugyanazt a kódot és rendszerképet használja. Az adott régióhoz tartozó tartalom egy adatbázisból lesz lekérve, amely minden régióban egyedileg van kiépítve. Minden regionális üzembe helyezés egyedi konfigurációval rendelkezik az erőforrásokhoz, például a helyi adatbázishoz.

A fejlesztői csapat Seattle-ben, WA-ban található, és az USA nyugati adatközpontját használja.

Leküldés több regisztrációs adatbázisba
Leküldés több regisztrációs adatbázisba

A georeplikációs funkciók használata előtt a Contoso usa-beli adatbázissal rendelkezett az USA nyugati régiójában, és egy további nyugat-európai beállításjegyzéket is tartalmazott. A különböző régiók kiszolgálása érdekében a fejlesztői csapat képeket küld két különböző adatbázisba.

docker push contoso.azurecr.io/public/products/web:1.2
docker push contosowesteu.azurecr.io/public/products/web:1.2

Lekérés több adatbázisból
Lekérés több adatbázisból

Több regisztrációs adatbázis tipikus kihívásai a következők:

  • Az USA keleti régiója, az USA nyugati régiója és Kanada középső fürtje lekéri az USA nyugati régiójának adatbázisát, és kimenő díjakat von maga után, mivel ezek a távoli tároló-gazdagépek lekérnek képeket az USA nyugati adatközpontjaiból.
  • A fejlesztői csapatnak képeket kell küldenie az USA nyugati és nyugat-európai adatbázisaiba.
  • A fejlesztői csapatnak konfigurálnia és karbantartania kell az egyes regionális üzemelő példányokat a helyi beállításjegyzékre hivatkozó rendszerképnevekkel.
  • A beállításjegyzék-hozzáférést minden régióhoz konfigurálni kell.

A georeplikációs szolgáltatás előnyei

Lekérés georeplikált beállításjegyzékből

Az Azure Container Registry georeplikációs funkciója a következő előnyökkel jár:

  • Egyetlen beállításjegyzék kezelése az összes régióban: contoso.azurecr.io
  • A rendszerképtelepítések egyetlen konfigurációjának kezelése, mivel minden régió ugyanazt a kép URL-címet használja: contoso.azurecr.io/public/products/web:1.2
  • Leküldés egyetlen beállításjegyzékbe, miközben az ACR automatikusan kezeli a georeplikációs adatokat. Az ACR csak az egyedi rétegeket replikálja, így csökkentve a régiók közötti adatátvitelt.
  • A regionális webhookok konfigurálása adott replikák eseményeinek értesítésére.
  • Biztosítson egy magas rendelkezésre állású beállításjegyzéket, amely rugalmas a regionális kimaradásokkal szemben.

Az Azure Container Registry a rendelkezésre állási zónákat is támogatja, hogy rugalmas és magas rendelkezésre állású Azure-tárolóregisztrációs adatbázist hozzon létre egy Azure-régión belül. A régión belüli redundancia rendelkezésre állási zónáinak és a több régióra kiterjedő georeplikációs zónák kombinációja növeli a beállításjegyzék megbízhatóságát és teljesítményét.

Aktív georeplikáció konfigurálása

A georeplikálás konfigurálása olyan egyszerű, mint a régiókra kattintva a térképen. A georeplikálást olyan eszközökkel is kezelheti, mint az az acr replikációs parancsok az Azure CLI-ben, vagy üzembe helyezhet egy, a georeplikáláshoz engedélyezett beállításjegyzéket egy Azure Resource Manager-sablonnal.

A georeplikálás a prémium szintű regisztrációs adatbázisok egyik funkciója. Ha a beállításjegyzék még nem prémium szintű, az Azure Portalon az Alapszintű és a Standard verzióról a Prémium verzióra válthat:

Szolgáltatási szintek váltása az Azure Portalon

A prémium szintű beállításjegyzék georeplikációs konfigurálásához jelentkezzen be az Azure Portalra.

Nyissa meg az Azure Container Registryt, és válassza a Replikációk lehetőséget:

Replikációk az Azure Portal tárolójegyzékeinek felhasználói felületén

Megjelenik egy térkép, amelyen az összes aktuális Azure-régió látható:

Régiótérkép az Azure Portalon

  • A kék hatszögek az aktuális replikákat jelölik
  • A zöld hatszögek a replika lehetséges régióit jelölik
  • A szürke hatszögek a replikációhoz még nem elérhető Azure-régiókat jelölik

Replika konfigurálásához jelöljön ki egy zöld hatszöget, majd válassza a Létrehozás lehetőséget:

Replikáció létrehozásának felhasználói felülete az Azure Portalon

További replikák konfigurálásához jelölje ki a többi régió zöld hatszögeit, majd kattintson a Létrehozás gombra.

Az ACR megkezdi a képek szinkronizálását a konfigurált replikák között. Ha elkészült, a portál a Ready (Kész) nevet jeleníti meg. A portál replikaállapota nem frissül automatikusan. A frissítési gombbal megtekintheti a frissített állapotot.

Georeplikált beállításjegyzék használatának szempontjai

  • A georeplikált beállításjegyzék minden régiója független a beállítás beállítását követően. Az Azure Container Registry SLA-k minden georeplikált régióra vonatkoznak.
  • A földrajzilag replikált beállításjegyzék minden leküldéses vagy lekéréses lemezkép-műveletéhez az Azure Traffic Manager a háttérben kérést küld a beállításjegyzék legközelebbi helyére a régióban a hálózati késés fenntartása érdekében.
  • Miután leküldött egy rendszerképet vagy címkefrissítést a legközelebbi régióba, az Azure Container Registry egy ideig replikálja a jegyzékeket és a rétegeket a többi kiválasztott régióba. A nagyobb képek sokszorosítása hosszabb időt vesz igénybe, mint a kisebbeké. A képek és címkék szinkronizálása a replikációs régiókban egy esetleges konzisztenciamodell segítségével történik.
  • A georeplikált beállításjegyzék leküldéses frissítésétől függő munkafolyamatok kezeléséhez javasoljuk, hogy konfigurálja a webhookokat a leküldéses eseményekre való reagáláshoz. Regionális webhookokat állíthat be egy georeplikált beállításjegyzékben a leküldéses események nyomon követéséhez a georeplikált régiókban.
  • A tartalomrétegeket képviselő blobok kiszolgálásához az Azure Container Registry adatvégpontokat használ. A beállításjegyzékhez dedikált adatvégpontokat engedélyezhet a beállításjegyzék minden georeplikált régiójában. Ezek a végpontok lehetővé teszik a szigorú hatókörű tűzfal-hozzáférési szabályok konfigurálását. Hibaelhárítási okokból a replikált adatok karbantartása során opcionálisan letilthatja a replikációra irányuló útválasztást.
  • Ha privát kapcsolatot konfigurál a beállításjegyzékhez egy virtuális hálózat privát végpontjaival, a dedikált adatvégpontok alapértelmezés szerint engedélyezve lesznek az egyes georeplikált régiókban.

A magas rendelkezésre állás szempontjai

  • A magas rendelkezésre állás és rugalmasság érdekében javasoljuk, hogy hozzon létre egy beállításjegyzéket egy olyan régióban, amely támogatja a zónaredundancia engedélyezését. A zónaredundancia engedélyezése minden replikarégióban szintén ajánlott.
  • Ha a beállításjegyzék otthoni régiójában (a létrehozási régióban) vagy annak replikarégiójában leáll, a georeplikált beállításjegyzék továbbra is elérhető marad az adatsík-műveletekhez, például tárolólemezképek leküldéséhez vagy lekéréséhez.
  • Ha a beállításjegyzék otthoni régiója elérhetetlenné válik, előfordulhat, hogy nem tudja végrehajtani a beállításjegyzék-kezelési műveleteket, beleértve a hálózati szabályok konfigurálását, a rendelkezésre állási zónák engedélyezését és a replikák kezelését.
  • Ha egy Azure-kulcstartóban tárolt ügyfél által felügyelt kulccsal titkosított georeplikált beállításjegyzék magas rendelkezésre állását szeretné megtervezni, tekintse át a Key Vault feladatátvételére és redundanciára vonatkozó útmutatóját.

Replika törlése

Miután konfigurált egy replikát a beállításjegyzékhez, bármikor törölheti, ha már nincs rá szükség. Replika törlése az Azure Portalon vagy más eszközökkel, például az az acr replikáció törlési parancsával az Azure CLI-ben.

Replika törlése az Azure Portalon:

  1. Nyissa meg az Azure Container Registryt, és válassza a Replikációk lehetőséget.
  2. Válassza ki a replika nevét, és válassza a Törlés lehetőséget. Győződjön meg arról, hogy törölni szeretné a replikát.

Ha az Azure CLI használatával szeretné törölni a myregistry replikáját az USA keleti régiójában:

az acr replication delete --name eastus --registry myregistry

Georeplikáció díjszabása

A georeplikálás az Azure Container Registry prémium szolgáltatási szintjének egyik funkciója. Amikor replikál egy beállításjegyzéket a kívánt régiókba, minden régióhoz prémium szintű regisztrációs díjat kell fizetnie.

Az előző példában a Contoso két regisztrációs adatbázist konszolidált egyre, és replikákat ad hozzá az USA keleti régiójához, Közép-Kanadához és Nyugat-Európához. A Contoso havonta négyszeres prémiumot fizetne, további konfiguráció és felügyelet nélkül. Minden régió helyileg lekéri a rendszerképeket, és hálózati kimenő díjak nélkül javítja a teljesítményt és a megbízhatóságot az USA nyugati régiójából Kanadába és az USA keleti régiójába.

Leküldéses műveletek hibaelhárítása georeplikált adatbázisokkal

Előfordulhat, hogy a rendszerképet georeplikált beállításjegyzékbe leküldő Docker-ügyfél nem küldi le az összes képréteget és annak jegyzékfájlját egyetlen replikált régióba. Ez azért fordulhat elő, mert az Azure Forgalomkezelő a nyilvántartási kérelmeket a hálózathoz legközelebbi replikált nyilvántartásba irányítja. Ha a beállításjegyzék két közeli replikációs régióval rendelkezik, a rendszerképrétegek és a jegyzékfájl elosztható a két helyre, és a leküldéses művelet meghiúsul a jegyzékfájl ellenőrzésekor. Ez a probléma azért merül fel, mert a rendszerleíró adatbázis DNS-neve egyes Linux-állomásokon feloldásra kerül. Ez a probléma nem fordul elő a Windows rendszerben, amely ügyféloldali DNS-cache-t biztosít.

Ha ez a probléma felmerül, az egyik megoldás egy ügyféloldali DNS-cache, például a dnsmasq alkalmazása a Linux-állomáson. Ez segít biztosítani, hogy a kibocsátásiegység-forgalmi jegyzék neve következetesen kerüljön feloldásra. Ha Linux rendszerű virtuális gépet használ az Azure-ban egy regisztrációs adatbázisba való leküldéshez, tekintse meg az Azure-beli Linux rendszerű virtuális gépek DNS-névfeloldási beállításainak beállításait.

A DNS-feloldás optimalizálása érdekében a legközelebbi replikára történő feloldás érdekében a képek tolása során konfiguráljon egy georeplikált nyilvántartást ugyanabban az Azure régióban, mint a tolatási műveletek forrása, vagy a legközelebbi régióban, ha az Azure-on kívül dolgozik.

A replikáció felé történő útválasztás ideiglenes letiltása

A georeplikált beállításjegyzékkel végzett műveletek hibaelhárításához érdemes lehet ideiglenesen letiltani a Traffic Manager útválasztását egy vagy több replikációra. Az Azure CLI 2.8-s verziójától kezdve konfigurálhat egy --region-endpoint-enabled lehetőséget (előzetes verzió), amikor replikált régiót hoz létre vagy frissít. Amikor beállítja a replikáció beállítását --region-endpoint-enabledfalse, a Traffic Manager már nem irányítja a docker leküldéses vagy lekéréses kérelmeket az adott régióba. Alapértelmezés szerint az összes replikációra irányuló útválasztás engedélyezve van, és az összes replikáció adatszinkronizálása megtörténik, függetlenül attól, hogy az útválasztás engedélyezve van vagy le van tiltva.

Ha le szeretné tiltani az útválasztást egy meglévő replikációra, először futtassa az az acr replikációs listát a replikációk beállításjegyzékben való listázásához. Ezután futtassa az az acr replikációs frissítést , és állítson be --region-endpoint-enabled false egy adott replikációt. Például a westus replikáció beállításának konfigurálása a myregistryben:

# Show names of existing replications
az acr replication list --registry --output table

# Disable routing to replication
az acr replication update --name westus \
  --registry myregistry --resource-group MyResourceGroup \
  --region-endpoint-enabled false

Az útválasztás visszaállítása replikációra:

az acr replication update --name westus \
  --registry myregistry --resource-group MyResourceGroup \
  --region-endpoint-enabled true

Replikáció létrehozása egy magán végpontot engedélyező kibocsátásiegység-forgalmi jegyzékhez

Amikor új beállításjegyzék-replikációt hoz létre a privát végponttal engedélyezett elsődleges beállításjegyzékhez, javasoljuk, hogy ellenőrizze, hogy a felhasználói identitás érvényes privát végpontlétrehozási engedélyekkel rendelkezik-e. Ellenkező esetben a művelet a replikáció létrehozásakor megreked a rendelkezésre bocsátási állapotban.

Kövesse az alábbi lépéseket, ha a beállításjegyzék-replikáció létrehozásakor elakadt a kiépítési állapotban:

  • Manuálisan törölje a kiépítési állapotban elakadt replikációt.
  • Adja hozzá a Microsoft.Network/privateEndpoints/privateLinkServiceProxies/write felhasználói identitás engedélyét.
  • Hozza létre újra a beállításjegyzék replikációs kérését.

Ez az engedélyellenőrzés csak azokra a regisztrációs adatbázisokra vonatkozik, amelyeken engedélyezve van a privát végpont.

Következő lépések

Tekintse meg a georeplikálás az Azure Container Registryben című háromrészes oktatóanyag-sorozatot. Végigvezethet egy georeplikált beállításjegyzék létrehozásán, egy tároló létrehozásán, majd üzembe helyezésén egyetlen docker push paranccsal több regionális Web Apps for Containers-példányon.