Megosztás a következőn keresztül:


A függvényalkalmazás áthelyezése egy másik Azure-régióba

Ez a cikk azt ismerteti, hogyan helyezhet át egy Azure Functions által üzemeltetett függvényalkalmazást egy másik Azure-régióba.

Számos oka lehet annak, hogy a meglévő Azure-erőforrásokat érdemes egyik régióból a másikba áthelyezni. Érdemes lehet:

  • Használjon ki egy új Azure-régiót.
  • Csak bizonyos régiókban elérhető szolgáltatások vagy szolgáltatások üzembe helyezése.
  • A belső szabályzat és a szabályozási követelményeknek való megfelelés.
  • Összhangban a vállalati egyesülésekkel és felvásárlásokkal
  • A kapacitástervezési követelményeknek való megfelelés.

A függvényalkalmazást üzemeltető Azure-erőforrások régióspecifikusak, és nem helyezhetők át régiók között. Ehelyett létre kell hoznia egy másolatot a meglévő függvényalkalmazás-erőforrásokról a célrégióban, majd újból üzembe kell helyeznie a függvénykódot az új alkalmazásba.

Ezeket az erőforrásokat áthelyezheti egy másik erőforráscsoportba vagy -előfizetésbe, amíg ugyanabban a régióban maradnak. További információ: App Service-erőforrások áthelyezése új erőforráscsoportba vagy előfizetésbe.

Előfeltételek

  • Győződjön meg arról, hogy a célrégió támogatja az Azure Functionst és minden kapcsolódó szolgáltatást, amelynek erőforrásait át szeretné helyezni.
  • Győződjön meg arról, hogy rendelkezik jogosultságokkal az új régióban szükséges erőforrások létrehozásához.

Előkészítés

Azonosítsa a forrásrégióban használt összes függvényalkalmazás-erőforrást, amely az alábbiakat is magában foglalhatja:

Amikor arra készül, hogy az alkalmazást egy új régióba helyezi át, az architektúra néhány része különleges figyelmet és tervezést igényel.

Függvényalkalmazás neve

A függvényalkalmazások nevének globálisan egyedinek kell lennie az összes Azure-alkalmazásban. Ez azt jelenti, hogy az új függvényalkalmazásnak nem lehet ugyanaz a neve és URL-címe, mint az eredetinek. Ez egyéni DNS használata esetén is igaz, mert az alapul szolgálónak <APP_NAME>.azurewebsites.net továbbra is egyedinek kell lennie. Előfordulhat, hogy frissítenie kell minden olyan ügyfelet, amely HTTP-végpontokhoz csatlakozik a függvényalkalmazásban. Ezeknek az ügyfeleknek az új URL-címet kell használniuk a kérések során.

Forráskód

Ideális esetben a forráskódot valamilyen kódtárban vagy tárolóadattárban tarthatja fenn, ha Linux-tárolóban fut. Ha folyamatos üzembe helyezést használ, tervezze meg az adattár vagy a tároló üzembe helyezésének kapcsolatát az új függvényalkalmazás címére. Ha valamilyen okból már nem rendelkezik a forráskóddal, letöltheti a jelenleg futó csomagot az eredeti függvényalkalmazásból. Javasoljuk, hogy a forrásfájlokat egy kódtárban tárolja, és folyamatos üzembe helyezést használjon a frissítésekhez.

Alapértelmezett tárfiók

A Functions-gazdagéphez Azure Storage-fiók szükséges. További információ: Tárfiókok követelményei. A legjobb teljesítmény érdekében a függvényalkalmazásnak egy tárfiókot kell használnia ugyanabban a régióban. Amikor új, új tárfiókkal rendelkező alkalmazást hoz létre az új régióban, az alkalmazás új funkcióelérési kulcsokat kap, és az eseményindítók (például időzítő eseményindítók) állapota alaphelyzetbe áll.

Megőrzött helyi tároló

A függvényvégrehajtások állapot nélküliek. Azonban nem akadályozzuk meg, hogy adatokat írjon a helyi fájlrendszerbe. Az alkalmazás által létrehozott és használt adatok tárolhatók a %HOME%\site virtuális meghajtón, de ezek az adatok nem lehetnek állapotfüggők. Ha a forgatókönyv megköveteli, hogy állapotot tartson fenn a függvényvégrehajtások között, fontolja meg inkább a Durable Functions használatát.

Ha az alkalmazás megőrzi az adatokat az alkalmazás megosztott tárolási útvonalán, mindenképpen tervezze meg, hogyan fogja kezelni az állapotot egy erőforrás áthelyezése során. Ne feledje, hogy a dedikált (App Service- ) csomagalkalmazások esetében a megosztás a webhely része. A Használati és Prémium csomagok esetében a megosztás alapértelmezés szerint egy Azure Files-megosztás az alapértelmezett tárfiókban. Előfordulhat, hogy a Linuxon futó alkalmazások kifejezetten csatlakoztatott megosztást használnak a tartós tároláshoz.

Csatlakoztatott szolgáltatások

A függvények szolgáltatás SDK-val vagy eseményindítókkal és kötésekkel kapcsolódhatnak az Azure Serviceshez és más erőforrásokhoz. Az alkalmazás új régióba való áthelyezése negatív hatással lehet minden csatlakoztatott szolgáltatásra. Ha a késés vagy az egész során problémák lépnek fel, fontolja meg a csatlakoztatott szolgáltatások áthelyezését az új régióba is. Ha meg szeretné tudni, hogyan helyezheti át ezeket az erőforrásokat régiók között, tekintse meg az adott szolgáltatások dokumentációját. A csatlakoztatott szolgáltatásokkal rendelkező alkalmazások áthelyezésekor érdemes lehet megfontolni a régiók közötti vészhelyreállítási és üzletmenet-folytonossági stratégiát az áthelyezés során.

A csatlakoztatott szolgáltatások módosítása szükségessé teheti az alkalmazásbeállításokban tárolt értékek frissítését, amelyek a szolgáltatásokhoz való csatlakozáshoz használatosak.

Konfiguráció

  • Az Azure Portalon pillanatképet készíthet a meglévő alkalmazásbeállításokról és kapcsolati sztring. Bontsa ki a Beállítások>környezeti változóit, válassza a Speciális szerkesztés lehetőséget az Alkalmazásbeállítások vagy a Kapcsolatok sztringek területen, és mentse a meglévő beállításokat vagy kapcsolatokat tartalmazó JSON-kimenetet. Ezeket a beállításokat újra létre kell hoznia az új régióban, de maguk az értékek valószínűleg megváltoznak a csatlakoztatott szolgáltatások későbbi régióváltozásai miatt.

  • A meglévő Key Vault-referenciák nem exportálhatók az Azure-beli földrajzi határokon. Az új régióban újra létre kell hoznia a szükséges hivatkozásokat.

  • Az alkalmazáskonfigurációt Azure-alkalmazás Konfiguráció vagy más központi (alsóbb rétegbeli) adatbázis-függőség felügyelheti. Tekintse át az alkalmazáskonfigurációs áruházakat vagy hasonló áruházakat olyan környezet- és régióspecifikus beállítások esetében, amelyek módosításokat igényelhetnek.

Egyéni tartományok

Ha a függvényalkalmazás egyéni tartományt használ, azt előzetesen kösse a célalkalmazáshoz. Ellenőrizze és engedélyezze a tartományt a célalkalmazásban. Az áthelyezés után újra kellképeznie a tartománynevet.

Virtuális hálózatok

Az Azure Functions lehetővé teszi az alkalmazások integrálását a virtuális hálózati erőforrásokkal, és akár virtuális hálózaton is futtathatja őket. További információkért tekintse meg az Azure Functions hálózatkezelési lehetőségeit. Amikor új régióba költözik, először át kell helyeznie vagy újra létre kell hoznia az összes szükséges virtuális hálózatot és alhálózati erőforrást az alkalmazás üzembe helyezése előtt. Ez magában foglalja a privát végpontok és szolgáltatásvégpontok áthelyezését vagy újra létrehozását.

Identitások

  • Az új célrégióban újra létre kell hoznia a rendszer által hozzárendelt felügyelt identitásokat az alkalmazással együtt. Az EasyAuth által használt, automatikusan létrehozott Microsoft Entra ID-alkalmazás alapértelmezés szerint az alkalmazás erőforrásának neve.

  • A felhasználó által hozzárendelt felügyelt identitások nem helyezhetők át régiók között. Ha a felhasználó által hozzárendelt felügyelt identitásokat ugyanabban az erőforráscsoportban szeretné tartani az alkalmazással, újra létre kell hoznia őket az új régióban. További információt az Azure-erőforrások felügyelt identitásainak áthelyezése egy másik régióba című témakörben talál.

  • A felügyelt identitásoknak ugyanazokat az engedélyeket adja meg az áthelyezett szolgáltatásokban, mint a lecserélt eredeti identitások, beleértve a csoporttagságokat is.

Diplomák

Az App Service tanúsítványerőforrásai áthelyezhetők egy új erőforráscsoportba vagy előfizetésbe, de nem régiókba. Az exportálható tanúsítványok importálhatók az alkalmazásba vagy az új régióBan található Key Vaultba is. Ez az exportálási és importálási folyamat egyenértékű a régiók közötti áthelyezéssel.

A szolgáltatás áthelyezésének megtervezése során különböző típusú tanúsítványokat kell figyelembe venni:

Tanúsítvány típusa Exportálható Megjegyzések
Felügyelt App Service Nem Hozza létre újra ezeket a tanúsítványokat az új régióban.
Felügyelt Azure Key Vault Igen Ezek a tanúsítványok exportálhatók a Key Vaultból, majd importálhatók a Key Vaultba az új régióban.
Privát kulcs (önkiszolgáló) Igen Az Azure-on kívül beszerzett tanúsítványok exportálhatók az App Service-ből, majd importálhatók az új alkalmazásba vagy az új régióban található Key Vaultba .
Nyilvános kulcs Nem Előfordulhat, hogy az alkalmazás csak nyilvános kulccsal és titkos kóddal rendelkező tanúsítványokkal rendelkezik, amelyek más biztonságos végpontokhoz való hozzáférésre szolgálnak. Szerezze be a szükséges nyilvános kulcsú tanúsítványfájlokat, és importálja őket az alkalmazásba az új régióban.

Hozzáférési kulcsok

A Functions hozzáférési kulcsokkal megnehezíti a HTTP-végpontok elérését a függvényalkalmazásban. Ezek a kulcsok az alapértelmezett tárfiókban vannak titkosítva. Amikor új alkalmazást hoz létre az új régióban, új kulcskészlet jön létre. Az új régióban az új kulcsok használatához frissítenie kell minden olyan meglévő ügyfelet, amely hozzáférési kulcsokat használ. Bár az új kulcsokat kell használnia, újra létre lehet hozni a régi kulcsokat az új alkalmazásban. További információ: A hozzáférési kulcsok használata az Azure Functionsben.

Leállás

Ha minimális állásidőre van szükség, fontolja meg a függvényalkalmazás futtatását mindkét régióban a vészhelyreállítási architektúra implementálásához ajánlott módon. Az implementálható architektúra a függvényalkalmazás eseményindító-típusaitól függ. További információ: Megbízhatóság az Azure Functionsben.

Tartós függvények

A Durable Functions bővítmény lehetővé teszi a vezénylések definiálását, amelyek állapotának fenntartása a függvényvégrehajtásokban állapotalapú entitások használatával történik. Ideális esetben engedélyeznie kell a vezénylések futtatását a Durable Functions-alkalmazás migrálása előtt, különösen akkor, ha új tárfiókra szeretne váltani az új régióban. A Durable Functions-alkalmazások migrálása során fontolja meg ezen vészhelyreállítási és földrajzi elosztási stratégiák egyikének használatát.

Áthelyez

A függvényalkalmazás új régióban való újbóli létrehozásához először újra létre kell hoznia egy App Service-csomag, a függvényalkalmazás-példány és a kapcsolódó erőforrások, például a virtuális hálózatok, az identitások és a tárolóhelyek Azure-infrastruktúráját. Újra kell csatlakoznia, vagy az új régióban újra létre kell hoznia az alkalmazás által igényelt Azure-erőforrásokat. Ezek az erőforrások az alapértelmezett Azure Storage-fiókot és az Application Insights-példányt is tartalmazhatják.

Ezután csomagolhatja és újra üzembe helyezheti a tényleges alkalmazás forráskódját vagy tárolóját az új régióban futó függvényalkalmazásba.

Az Azure-infrastruktúra újbóli létrehozása

A célrégióban többféleképpen is létrehozhat függvényalkalmazást és kapcsolódó erőforrásokat az Azure-ban:

  • Üzembehelyezési sablonok: Ha a függvényalkalmazást eredetileg infrastruktúra-kódként (IaC)-fájlok (Bicep, ARM-sablonok vagy Terraform) használatával telepítette, frissítheti az előző üzembe helyezéseket, hogy az új régiót célozza meg, és az új régióban lévő erőforrások újbóli létrehozásához használja őket. Ha már nem rendelkezik ezekkel az üzembe helyezési fájlokkal, bármikor letöltheti a meglévő erőforráscsoporthoz tartozó ARM-sablont az Azure Portalról.
  • Azure CLI-/PowerShell-szkriptek: Ha eredetileg azure CLI- vagy Azure PowerShell-szkriptekkel telepítette a függvényalkalmazást, frissítheti ezeket a szkripteket, hogy ehelyett az új régiót célozza meg, és futtassa őket újra. Ha már nem rendelkezik ezekkel a szkriptekkel, akkor a meglévő erőforráscsoporthoz tartozó ARM-sablont is letöltheti az Azure Portalról.
  • Azure Portal: Ha a függvényalkalmazást eredetileg a portálon hozta létre, vagy nem érzi jól magát szkriptek vagy IaC-fájlok használatával, egyszerűen újra létrehozhat mindent a portálon. Győződjön meg arról, hogy ugyanazt az üzemeltetési csomagot, nyelvi futtatókörnyezetet és nyelvi verziót használja, mint az eredeti alkalmazás.

Konfigurált erőforrások áttekintése

Tekintse át és konfigurálja a fenti Előkészítés lépésben azonosított erőforrásokat a célrégióban, ha azok nincsenek konfigurálva az üzembe helyezés során. Ha folyamatos üzembe helyezést használ felügyelt identitáshitelesítéssel, győződjön meg arról, hogy a szükséges identitások és szerepkör-leképezések léteznek az új függvényalkalmazásban.

A forráskód ismételt üzembe helyezése

Most, hogy már rendelkezik az infrastruktúrával, újracsomagolhatja és újra üzembe helyezheti a forráskódot a függvényalkalmazásban. Itt az ideje, hogy a forráskódot vagy a tárolórendszerképet egy adattárba helyezze át, és engedélyezze a folyamatos üzembe helyezést az adattárból.

A Functions által támogatott egyéb közzétételi módszereket is használhatja. A legtöbb eszközalapú közzétételhez engedélyeznie kell az alapszintű hitelesítést a scm végponton, ami éles alkalmazásokhoz nem ajánlott.

Áthelyezési szempontok

  • Ne felejtse el ellenőrizni a konfigurációt, és tesztelni a függvényeket a célrégióban.
  • Ha egyéni tartományt konfigurált, újraképezze a tartománynevet.
  • Dedikált (App Service) csomagban futó függvényalkalmazások esetén tekintse át az App Service migrálási csomagját is, ha a csomagot megosztja egy vagy több webalkalmazással.

A fölöslegessé vált elemek eltávolítása

Az áthelyezés befejezése után törölje a függvényalkalmazást és az üzemeltetési tervet a forrásrégióból. A prémium vagy dedikált csomagokban lévő függvényalkalmazásokért akkor is fizetnie kell, ha maga az alkalmazás nem fut. Ha más szolgáltatásokat is létrehozott az új régióban, akkor a régebbi szolgáltatásokat is törölnie kell, miután biztos abban, hogy már nincs rájuk szükség.

Tekintse át az Azure Architecture Centerben a több régióban futó függvényalkalmazásokat a fejlettebb és georedundánsabb megoldásarchitektúrák részeként.