Georeplikáció Azure Container Registry

Azok a vállalatok, amelyek helyi jelenlétet vagy gyakori elérésű biztonsági mentést szeretnének végezni, több Azure-régió szolgáltatásainak futtatását választják. 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áció lehetővé teszi, hogy az Azure Container Registry egyetlen beállításjegyzékként működjön, és több régiót szolgál 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:

  • Egyetlen beállításjegyzék-, rendszerkép- és címkenevek több régióban is használhatók
  • 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
  • Csökkentse az adatátviteli költségeket, ha lemezképrétegeket kér le egy helyi, replikált beállításjegyzékből ugyanabban a régióban 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 szolgáltatáskimaradás esetén

Megjegyzés

  • Ha több Azure-tárolóregisztrációs adatbázisban kell megőriznie a tárolólemezképek másolatait, Azure Container Registry a rendszerképek importálását is támogatja. Egy DevOps-munkafolyamatban például importálhat egy rendszerképet egy fejlesztési beállításjegyzékből egy éles beállításjegyzékbe, anélkül, hogy Docker-parancsokat kellene használnia.
  • 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 Description
    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 (AKS) fürtöket 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 ugyanazt a kódot és rendszerképet használja az összes régióban. 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 üzemelő példány egyedi konfigurációval rendelkezik az erőforrásokhoz, például a helyi adatbázishoz.

A fejlesztői csapat a Seattle WA-ban található, az USA nyugati adatközpontját használva.

Leküldés több beállításjegyzékbe
Leküldés több beállításjegyzékbe

A georeplikációs funkciók használata előtt a Contoso rendelkezik egy USA-alapú beállításjegyzékkel az USA nyugati régiójában, egy további nyugat-európai beállításjegyzékkel. A különböző régiók kiszolgálásához a fejlesztői csapat két különböző regisztrációs adatbázisba küldi a rendszerképeket.

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

A több beállításjegyzék 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ő régiója fürtök az USA nyugati régiójának beállításjegyzékéből kérnek le kimenő forgalmi díjakat, mivel ezek a távoli tárológazdák az USA nyugati adatközpontjaiból kérnek le lemezképeket.
  • A fejlesztői csapatnak le kell küldenie a rendszerképeket az USA nyugati régiójába és Nyugat-Európa regisztrációs adatbázisaiba.
  • A fejlesztői csapatnak konfigurálnia és karban kell tartania 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ó előnyei

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

A 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épek üzembe helyezésének egyetlen konfigurációját kezelheti, mivel minden régió ugyanazt a lemezkép URL-címét használja: contoso.azurecr.io/public/products/web:1.2
  • Leküldés egyetlen beállításjegyzékbe, míg az ACR automatikusan kezeli a georeplikációt. Az ACR csak az egyedi rétegeket replikálja, így csökkentve a régiók közötti adatátvitelt.
  • Konfigurálja a regionális webhookokat az 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.

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 kombinációja és a több régióra kiterjedő georeplikáció 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áció konfigurálása olyan egyszerű, mintha régiókra kattintana egy térképen. A georeplikációt olyan eszközökkel is kezelheti, mint az az acr replication parancsok az Azure CLI-ben, vagy üzembe helyezhet egy, a georeplikációhoz engedélyezett beállításjegyzéket egy Azure Resource Manager-sablonnal.

A georeplikáció a prémium beállításjegyzékek egyik funkciója. Ha a beállításjegyzék még nem prémium szintű, a Azure Portal Alapszintű és Standard beállításról Prémiumra válthat:

Szolgáltatási szintek váltása a Azure Portal

A prémium szintű beállításjegyzék georeplikációjának konfigurálásához jelentkezzen be a Azure Portal.

Lépjen a Azure Container Registry, é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 lehetséges replikarégiákat jelölik
  • A szürke hatszögek olyan Azure-régiókat jelölnek, amelyek még nem érhetők el a replikációhoz

Replika konfigurálásához válasszon 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óhoz tartozó zöld hatszöget, 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álon megjelenik a Ready (Kész) kifejezés. A replika állapota a portálon nem frissül automatikusan. A frissítési gombbal megtekintheti a frissített állapotot.

Megfontolandó szempontok a georeplikált beállításjegyzék használatához

  • A georeplikált beállításjegyzék minden régiója független a beállítás beállítása után. Azure Container Registry SLA-k minden georeplikált régióra vonatkoznak.
  • A georeplikált beállításjegyzék minden leküldéses vagy lekéréses rendszerképműveletéhez az Azure Traffic Manager a háttérben kérést küld a régióhoz legközelebbi beállításjegyzékbe a hálózati késés fenntartása érdekében.
  • Miután leküld egy képet vagy címkefrissítést a legközelebbi régióba, időbe telik, amíg Azure Container Registry replikálja a jegyzékfájlokat és a rétegeket a többi választott régióba. A nagyobb képek replikálásához hosszabb idő kell, mint a kisebbeké. A rendszer egy végleges konzisztenciamodellel szinkronizálja a lemezképeket és a címkéket a replikációs régiók között.
  • 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 úgy, hogy reagáljanak a leküldéses eseményekre. 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 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 célokból letilthatja a replikációra irányuló útválasztást a replikált adatok karbantartása közben.
  • Ha privát kapcsolatot konfigurál a regisztrációs adatbázishoz egy virtuális hálózat privát végpontjaival, a dedikált adatvégpontok alapértelmezés szerint engedélyezve vannak 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 kimaradás történik a beállításjegyzék kezdő régiójában (abban a régióban, ahol létrehozták) vagy annak replikarégiójában, a georeplikált beállításjegyzék továbbra is elérhető marad az adatsík műveleteihez, 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.
  • Az Azure Key Vaultban tárolt , ügyfél által felügyelt kulccsal titkosított georeplikált beállításjegyzék magas rendelkezésre állásának megtervezéséhez 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 a Azure Portal vagy más eszközökkel, például az az acr replication delete paranccsal az Azure CLI-ben.

Replika törlése a Azure Portal:

  1. Lépjen a Azure Container Registry, és válassza a Replikációk lehetőséget.
  2. Jelölje 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.

Az Azure CLI használata a myregistry replikájának törléséhez az USA keleti régiójában:

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

Georeplikáció díjszabása

A georeplikáció a prémium szintű Azure Container Registry szolgáltatásszint 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 egyetlenre konszolidált, é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égyszer prémiumot fizetne további konfiguráció vagy felügyelet nélkül. Minden régió helyileg lekéri a rendszerképeket, javítva a teljesítményt és a megbízhatóságot hálózati kimenő díjak nélkül 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 regisztrációs 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 Traffic Manager a beállításjegyzék-kéréseket a hálózat legközelebbi replikált beállításjegyzékéhez 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 érvényesítésekor. Ez a probléma azért fordul elő, mert a beállításjegyzék DNS-nevének megoldása egyes Linux-gazdagépeken történik. Ez a probléma nem fordul elő Windows rendszeren, amely ügyféloldali DNS-gyorsítótárat biztosít.

Ha ez a probléma jelentkezik, az egyik megoldás egy ügyféloldali DNS-gyorsítótár alkalmazása, például dnsmasq a Linux-gazdagépen. Ez segít biztosítani, hogy a beállításjegyzék neve egységesen legyen feloldva. 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ásai című témakört.

Ha képek leküldésekor a legközelebbi replikához szeretné optimalizálni a DNS-feloldásokat, konfiguráljon egy georeplikált beállításjegyzéket ugyanabban az Azure-régióban, mint a leküldéses műveletek forrása, vagy a legközelebbi régiót, amikor 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 egy vagy több replikációra való átirányítását. Az Azure CLI 2.8-es verziójától kezdve konfigurálhat egy --region-endpoint-enabled lehetőséget (előzetes verziót) replikált régió létrehozásakor vagy frissítésekkor. Amikor beállít egy replikációs --region-endpoint-enabled beállítást a értékre false, a Traffic Manager már nem irányítja át a Docker leküldéses vagy lekéréses kéréseit az adott régióba. Alapértelmezés szerint az összes replikációhoz való ú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-e 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 beállításjegyzékben lévő replikációk listázásához. Ezután futtassa az az acr replikációs frissítést , és állítsa be --region-endpoint-enabled false egy adott replikációra. 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

Replikációs útválasztás visszaállítása:

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

Replikáció létrehozása egy privát végpontot engedélyező beállításjegyzé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 elakad a kiépítési állapotban a replikáció létrehozásakor.

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

  • 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ély-ellenő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áció a Azure Container Registry című háromrészes oktatóanyag-sorozatot. Végigvezetheti egy georeplikált beállításjegyzék létrehozását, egy tároló létrehozását, majd üzembe helyezését egyetlen docker push paranccsal több regionális Web Apps tárolópéldányokhoz.