Alapkonfiguráció magas rendelkezésre állású zónaredundáns webalkalmazás

Azure App Service
Azure Application Gateway
Azure Storage
Azure SQL Database
Azure Private Link
Azure Virtual Network
Azure Monitor

Ez a cikk egy alapszintű architektúrát biztosít a webalkalmazások Azure-alkalmazás szolgáltatásban való futtatásához egyetlen régióban. Útmutatást nyújt egy biztonságos, zónaredundáns és magas rendelkezésre állású azure-beli webalkalmazás megtervezéséhez. Az architektúra nyilvános végpontot tesz elérhetővé Azure-alkalmazás átjárón keresztül webalkalmazási tűzfallal. A kéréseket a privát kapcsolaton keresztül irányítja át Azure-alkalmazás szolgáltatáshoz. Az App Service-alkalmazás virtuális hálózati integrációt és Private Linket használ az Olyan Azure PaaS-szolgáltatásokkal való biztonságos kommunikációhoz, mint az Azure Key Vault és az Azure SQL Database.

Fontos

GitHub-embléma Az útmutatót egy példa implementáció is alátámasztja, amely egy alapszintű App Service-implementációt mutat be az Azure-ban. Ez az implementáció használható a további megoldásfejlesztés alapjául az éles környezet felé vezető első lépésben.

Architektúra

Diagram, amely egy alapkonfigurációs App Service-architektúrát mutat be zonális redundanciával és magas rendelkezésre állással.

1. ábra: Alapkonfiguráció Azure-alkalmazás szolgáltatásarchitektúra

Töltse le az architektúra Visio-fájlját.

Összetevők

  • A Microsoft Entra ID egy felhőalapú identitás- és hozzáférés-kezelési szolgáltatás. Egyetlen identitásvezérlő síkot biztosít a webalkalmazáshoz hozzáférő felhasználók engedélyeinek és szerepköreinek kezeléséhez. Integrálható az App Service-vel, és leegyszerűsíti a webalkalmazások hitelesítését és engedélyezését.
  • Az Application Gateway egy 7. rétegbeli (HTTP/S) terheléselosztó és webes forgalomkezelő. URL-alapú útválasztással osztja el a bejövő forgalmat a rendelkezésre állási zónák között, és kiosztja a titkosítást az alkalmazás teljesítményének javítása érdekében.
  • A webalkalmazási tűzfal (WAF) egy natív felhőszolgáltatás, amely megvédi a webalkalmazásokat az olyan gyakori biztonsági résektől, mint az SQL-injektálás és a helyek közötti szkriptelés. A WAF betekintést nyújt a webalkalmazásba irányuló és onnan érkező forgalomba, lehetővé téve az alkalmazás figyelését és védelmét.
  • Az App Service egy teljes körűen felügyelt platform webalkalmazások létrehozására, üzembe helyezésére és skálázására.
  • Az Azure Key Vault egy szolgáltatás, amely biztonságosan tárolja és kezeli a titkos kulcsokat, a titkosítási kulcsokat és a tanúsítványokat. Központosítja a bizalmas információk kezelését.
  • Az Azure Monitor egy monitorozási szolgáltatás, amely telemetriai adatokat gyűjt, elemez és végez az üzembe helyezés során.
  • Az Azure-beli virtuális hálózat egy szolgáltatás, amely lehetővé teszi izolált és biztonságos magánhálózatok létrehozását az Azure-ban. Az App Service-en futó webalkalmazások esetében egy virtuális hálózati alhálózatra van szükség, amely privát végpontokat használ az erőforrások közötti hálózati biztonságos kommunikációhoz.
  • A Private Link lehetővé teszi az ügyfelek számára, hogy nyilvános IP-címzés nélkül közvetlenül a privát virtuális hálózatokról elérhessék az Azure Platform szolgáltatásként (PaaS) nyújtott szolgáltatásait.
  • Az Azure DNS a DNS-tartományok üzemeltetési szolgáltatása, amely a Microsoft Azure-infrastruktúrával biztosít névfeloldást. saját DNS zónák lehetővé teszik a szolgáltatás teljes tartománynevének (FQDN) egy privát végpont IP-címére való leképezését.
  • Az Azure SQL Database a relációs adatok felügyelt relációs adatbázis-szolgáltatása.

Hálózat

A hálózati biztonság az App Services alaparchitektúrájának középpontjában áll (lásd a 2. ábrát). Magas szinten a hálózati architektúra a következőket biztosítja:

  1. Egyetlen biztonságos belépési pont az ügyfélforgalomhoz
  2. A hálózati forgalom szűrve van
  3. Az átvitel alatt lévő adatok végpontok közötti titkosítása TLS használatával történik
  4. Az adatkiszivárgás minimalizálható az Azure-beli forgalom privát kapcsolat használatával történő megtartásával
  5. A hálózati erőforrások logikailag vannak csoportosítva és elkülönítve egymástól a hálózat szegmentálásán keresztül

Hálózati folyamatok

Egy alapkonfigurációs App Service-hálózati architektúrát bemutató diagram.

2. ábra: Az alapkonfigurációs Azure-alkalmazás szolgáltatásalkalmazás hálózati architektúrája

Az alábbiakban az App Service-példány felé irányuló internetes forgalom bejövő forgalmát, valamint az App Service-ből az Azure-szolgáltatásokba irányuló folyamatot ismerteti.

Bejövő folyamat

  1. A felhasználó kérést küld az Application Gateway nyilvános IP-címére.
  2. A WAF-szabályok kiértékelése történik. A WAF-szabályok pozitívan befolyásolják a rendszer megbízhatóságát azáltal, hogy védelmet nyújtanak a különböző támadások ellen, például a helyek közötti szkriptelés (XSS) és az SQL-injektálás ellen. Azure-alkalmazás Átjáró hibát ad vissza a kérelmezőnek, ha egy WAF-szabályt megsértenek, és a feldolgozás leáll. Ha nem sérülnek a WAF-szabályok, az Application Gateway átirányítja a kérést a háttérkészletbe, amely ebben az esetben az App Service alapértelmezett tartománya.
  3. A privát DNS-zóna privatelink.azurewebsites.net a virtuális hálózathoz van csatolva. A DNS-zóna egy A rekorddal rendelkezik, amely leképozza az App Service alapértelmezett tartományát az App Service privát végpontjának privát IP-címére. Ez a társított privát DNS-zóna lehetővé teszi, hogy az Azure DNS feloldja az alapértelmezett tartományt a privát végpont IP-címére.
  4. A rendszer átirányítja a kérést egy App Service-példányra a privát végponton keresztül.

App Service–Azure PaaS-szolgáltatások folyamata

  1. Az App Service kérést küld a szükséges Azure-szolgáltatás DNS-nevére. A kérés lehet egy titkos kód lekérése az Azure Key Vaulthoz, az Azure Storage a közzétételi zip-fájlhoz, az Azure SQL Database-hez vagy bármely más, a Private Linket támogató Azure-szolgáltatáshoz. Az App Service virtuális hálózat integrációs funkciója átirányítja a kérést a virtuális hálózaton keresztül.
  2. A bejövő folyamat 3. lépéséhez hasonlóan a csatolt privát DNS-zóna egy A rekorddal rendelkezik, amely leképezi az Azure-szolgáltatás tartományát a privát végpont privát IP-címére. Ez a társított privát DNS-zóna lehetővé teszi, hogy az Azure DNS feloldja a tartományt a szolgáltatás privát végpontjának IP-címére.
  3. A rendszer a kérést a privát végponton keresztül irányítja a szolgáltatáshoz.

Bejövő forgalom az App Servicesbe

Az Application Gateway egy regionális erőforrás, amely megfelel az alaparchitektúra követelményeinek. Az Application Gateway egy méretezhető, regionális, 7. rétegbeli terheléselosztó, amely támogatja az olyan funkciókat, mint a webalkalmazási tűzfal és a TLS-kiszervezés. Az Application Gateway Azure-alkalmazás-szolgáltatásokba való bejövő forgalomhoz való implementálásakor vegye figyelembe az alábbi szempontokat.

  • Telepítse az Application Gatewayt, és konfiguráljon egy WAF-szabályzatot egy Microsoft által felügyelt szabálykészlettel. A megelőzési mód használatával mérsékelheti azokat a webes támadásokat, amelyek miatt egy forrásszolgáltatás (az architektúrában az App Service) elérhetetlenné válhat.
  • Implementáljon végpontok közötti TLS-titkosítást.
  • Privát végpontok használatával implementálhatja az App Service-hez való bejövő privát hozzáférést.
  • Fontolja meg az Application Gateway automatikus skálázásának implementálását, hogy könnyen alkalmazkodjon a dinamikus forgalmi folyamatokhoz.
  • Fontolja meg legalább három méretarányú példányszám használatát, és mindig használja a régió által támogatott összes rendelkezésre állási zónát. Bár az Application Gateway magas rendelkezésre állású módon van üzembe helyezve, még egyetlen méretezési példány esetében is, egy új példány létrehozása meghibásodás esetén akár hét percet is igénybe vehet. Ha több példányt helyez üzembe a rendelkezésre állási zónákban, akkor hiba esetén egy példány fut egy új példány létrehozásakor.
  • A hálózatelkülönítés biztosítása érdekében tiltsa le a nyilvános hálózati hozzáférést az App Service-ben. A Bicepben ez a tulajdonságok/siteConfig beállítással publicNetworkAccess: 'Disabled' érhető el.

Folyamat az App Servicesből az Azure-szolgáltatásokba

Ez az architektúra virtuális hálózati integrációt használ az App Service-hez, különösen a magánvégpontokra irányuló forgalom átirányítására a virtuális hálózaton keresztül. Az alaparchitektúra nem teszi lehetővé , hogy az összes forgalom-útválasztás a virtuális hálózaton keresztül kényszerítse ki az összes kimenő forgalmat, csak a belső forgalmat, például a privát végpontokhoz kötött forgalmat.

Az olyan Azure-szolgáltatásoknak, amelyek nem igényelnek hozzáférést a nyilvános internetről, engedélyezniük kell a privát végpontokat, és le kell tiltani a nyilvános végpontokat. A privát végpontok az architektúra egészében a biztonság javítására szolgálnak, mivel lehetővé teszik, hogy az App Service közvetlenül a magánhálózatról csatlakozzon a Private Link-szolgáltatásokhoz nyilvános IP-címzés nélkül.

Ebben az architektúrában az Azure SQL Database, az Azure Storage és a Key Vault mind le van tiltva nyilvános végpontokkal. Az Azure-szolgáltatás tűzfalai csak más engedélyezett Azure-szolgáltatásokból érkező forgalom engedélyezésére szolgálnak. Konfiguráljon más Azure-szolgáltatásokat privát végpontokkal, például az Azure Cosmos DB-vel és az Azure Redis Cache-zel. Ebben az architektúrában az Azure Monitor nem használ privát végpontot, de lehetséges.

Az alaparchitektúra minden szolgáltatáshoz egy privát DNS-zónát implementál. A privát DNS-zóna egy A rekordot tartalmaz, amely megfelel a szolgáltatás teljes tartományneve és a privát végpont privát IP-címe között. A zónák a virtuális hálózathoz vannak csatolva. saját DNS zónacsoportok biztosítják a privát kapcsolat DNS-rekordjainak automatikus létrehozását és frissítését.

A virtuális hálózati integráció és a privát végpontok megvalósításakor vegye figyelembe az alábbi szempontokat.

Virtuális hálózatok szegmentálása és biztonsága

Az architektúra hálózata külön alhálózatokkal rendelkezik az Application Gatewayhez, az App Service-integrációs összetevőkhöz és a privát végpontokhoz. Minden alhálózat rendelkezik egy hálózati biztonsági csoporttal, amely az alhálózatok bejövő és kimenő forgalmát is a szükségesre korlátozza. Az alábbi táblázat az alapterv által az egyes alhálózatokhoz hozzáadott NSG-szabályok egyszerűsített nézetét mutatja be. A tábla megadja a szabály nevét és függvényét.

Alhálózat Bejövő Kimenő
snet-AppGateway AppGw.In.Allow.ControlPlane: Bejövő vezérlősík-hozzáférés engedélyezése

AppGw.In.Allow443.Internet: Bejövő internetes HTTPS-hozzáférés engedélyezése
AppGw.Out.Allow.AppServices: Kimenő hozzáférés engedélyezése az AppServicesSubnethez

AppGw.Out.Allow.PrivateEndpoints: Kimenő hozzáférés engedélyezése a PrivateEndpointsSubnethez

AppPlan.Out.Allow.AzureMonitor: Kimenő hozzáférés engedélyezése az Azure Monitorhoz
snet-PrivateEndpoints Alapértelmezett szabályok: Bejövő forgalom engedélyezése a virtuális hálózatról Alapértelmezett szabályok: Kimenő forgalom engedélyezése a virtuális hálózatra
snet-AppService Alapértelmezett szabályok: Bejövő forgalom engedélyezése a virtuális hálózatról AppPlan.Out.Allow.PrivateEndpoints: Kimenő hozzáférés engedélyezése a PrivateEndpointsSubnethez

AppPlan.Out.Allow.AzureMonitor: Kimenő hozzáférés engedélyezése az Azure Monitorhoz

A virtuális hálózatok szegmentálásának és biztonságának megvalósításakor vegye figyelembe az alábbi szempontokat.

  • Engedélyezze a DDoS-védelmet a virtuális hálózat számára egy olyan alhálózattal, amely egy nyilvános IP-címmel rendelkező application gateway része.
  • Ha lehetséges, adjon hozzá egy NSG-t minden alhálózathoz. A legszigorúbb szabályokat kell használnia, amelyek teljes körű megoldást tesznek lehetővé.
  • Használjon alkalmazásbiztonsági csoportokat. Az alkalmazásbiztonsági csoportok lehetővé teszik az NSG-k csoportosítását, így egyszerűbbé téve a szabályok létrehozását összetett környezetekben.

Egy virtuális alhálózati séma például a következő lehet:

Típus Név Címtartomány
Virtual Network Címelőtag 10.0.0.0/16
Alhálózat GatewaySubnet 10.0.1.0/24
Alhálózat AppServicesSubnet 10.0.0.0/24
Alhálózat PrivateEndpointsSubnet 10.0.2.0/27
Alhálózat AgentsSubject 10.0.2.32/27

Referencia az Azure-Samples\app-service-baseline-implementációra

Megbízhatóság

Az alapkonfigurációs App Services-architektúra a fő regionális szolgáltatások zonális redundanciájával foglalkozik. A rendelkezésre állási zónák fizikailag különálló helyek egy régión belül. Zónaredundanciát biztosítanak a támogató szolgáltatásokhoz, ha két vagy több példányt helyeznek üzembe a támogató régiókban. Ha az egyik zóna állásidőt tapasztal, előfordulhat, hogy a többi zóna továbbra sem változik.

Az architektúra emellett elegendő Azure-szolgáltatáspéldányt is biztosít az igények kielégítéséhez. Az alábbi szakaszok megbízhatósági útmutatást nyújtanak az architektúra legfontosabb szolgáltatásaihoz. Így a rendelkezésre állási zónák a magas rendelkezésre állás és a hibatűrés biztosításával segítenek a megbízhatóság elérésében.

Application Gateway

Helyezze üzembe Azure-alkalmazás Átjáró v2-t zónaredundáns konfigurációban. Érdemes legalább három skálázási példányszámot használni, hogy elkerülje az Application Gateway egy példányának hat–hét perces indítási idejét, ha hiba történik.

App Services

  • Az App Services legalább három példányának üzembe helyezése rendelkezésre állási zóna támogatással.
  • Valósítsa meg az állapot-ellenőrzési végpontokat az alkalmazásokban, és konfigurálja az Alkalmazás Szolgáltatásállapot ellenőrzési funkciót a kérések nem megfelelő példányoktól való átirányításához. Az App Service állapot-ellenőrzéséről további információt az App Service-példányok állapot-ellenőrzéssel történő monitorozása című témakörben talál. Az állapot-ellenőrzési végpontok ASP.NET alkalmazásokban való implementálásával kapcsolatos további információkért lásd : Állapotellenőrzések a ASP.NET Core-ban.
  • Túlterjeszkedő kapacitás a zónahibák kezeléséhez.

SQL Database

Blob Storage

  • Az Azure Zone-Redundáns Tárolás (ZRS) szinkron módon replikálja az adatokat a régió három rendelkezésre állási zónájában. Standard ZRS- vagy Standard GZRS-tárfiókok létrehozása az adatok rendelkezésre állási zónák közötti replikálásához.
  • Hozzon létre külön tárfiókokat az üzemelő példányokhoz, webes eszközökhöz és egyéb adatokhoz, hogy külön kezelhesse és konfigurálhassa a fiókokat.

Méretezhetőség

A méretezhetőség lehetővé teszi, hogy az alkalmazások kezelni tudják a megnövekedett és csökkenő keresletet, miközben optimalizálják a teljesítményt és a költségeket. Az alábbi szakaszok az architektúra fő összetevőinek méretezhetőségét ismertetik.

Application Gateway

  • Az Application Gateway automatikus skálázásának implementálása az igények kielégítése érdekében történő skálázáshoz vagy kiskálázáshoz.
  • Állítsa a példányok maximális számát a vártnál magasabb számra. Csak a használt kapacitásegységekért kell fizetnie.
  • Állítson be egy minimális példányszámot, amely képes kezelni a forgalom kis kiugrásait. A minimális példányszám kiszámításához használhatja az átlagos számításiegység-használatot .
  • Kövesse az Application Gateway alhálózat méretezésére vonatkozó útmutatást.

App Service

  • A magas rendelkezésre állás érdekében használjon standard vagy magasabb csomagokat három vagy több feldolgozópéldánysal.
  • Az automatikus skálázás engedélyezésével gondoskodhat arról, hogy fel- és leskálázható legyen az igényeknek megfelelően.
  • Érdemes lehet megnyitni egy támogatási jegyet, hogy a példányszám kétszeresére növelje a feldolgozók maximális számát, ha az App Service következetesen a maximális példányok számának felét használja. A példányok maximális száma egy Prémium App Service-csomag esetében legfeljebb 30, standard csomag esetén pedig 10 lehet.
  • Fontolja meg az alkalmazás több bélyegének üzembe helyezését, amikor az App Service eléri a felső korlátot.
  • Válassza ki a megfelelő Azure-alkalmazás szolgáltatáscsomagot, amely megfelel a számítási feladatokra vonatkozó követelményeknek.
  • Adjon hozzá Azure CDN-t Azure-alkalmazás szolgáltatáshoz a statikus tartalom kiszolgálásához.
  • Fontolja meg az App Service-környezetet , ha a zajos szomszédok aggodalomra adnak okot.

SQL Server

Az adatbázis-erőforrások skálázása az architektúra hatókörén kívül eső összetett témakör. Az adatbázis skálázása során vegye figyelembe a következő erőforrásokat:

Egyéb skálázhatósági útmutató

Biztonság

Az alapszintű App Service-architektúra a webalkalmazás alapvető biztonsági javaslataira összpontosít. A titkosítás és az identitás minden rétegben való működésének megértése kritikus fontosságú a számítási feladatok biztonságossá tételéhez.

App Service

  • Helyi hitelesítési módszerek letiltása FTP- és SCM-helytelepítésekhez
  • Kapcsolja ki a távoli hibakeresést.
  • Használja a legújabb TLS-verziót.
  • Engedélyezze a Microsoft Defender for App Service-t.
  • Használja a támogatott platformok, programozási nyelvek, protokollok és keretrendszerek legújabb verzióit.
  • Fontolja meg az App Service-környezetet , ha magasabb elkülönítést vagy biztonságos hálózati hozzáférést igényel.

Titkosítás

Az éles webalkalmazásnak HTTPS használatával kell titkosítania az átvitel alatt lévő adatokat. A HTTPS protokoll a Transport Layer Securityre (TLS) támaszkodik, és nyilvános és titkos kulcsokat használ a titkosításhoz. Egy tanúsítványt (X.509) kell tárolnia a Key Vaultban, és engedélyeznie kell az Application Gateway számára a titkos kulcs lekérését. Inaktív adatok esetén egyes szolgáltatások automatikusan titkosítják az adatokat, mások pedig lehetővé teszik a testreszabást.

Átvitt adatok

Az alaparchitektúrában az átvitt adatok titkosítva lesznek a felhasználótól a webalkalmazásba az App Service-ben. Az alábbi munkafolyamat bemutatja, hogyan működik a titkosítás magas szinten.

Egy alapkonfigurációs App Service-titkosítási folyamatot bemutató ábra.

  1. A felhasználó HTTPS-kérelmet küld a webalkalmazásnak.
  2. A HTTPS-kérés eléri az application gatewayt.
  3. Az Application Gateway egy tanúsítványt (X.509) használ a Key Vaultban, hogy biztonságos TLS-kapcsolatot hozzon létre a felhasználó webböngészőjével. Az Application Gateway visszafejti a HTTPS-kérést, hogy a webalkalmazás tűzfala megvizsgálhassa.
  4. Az Application Gateway TLS-kapcsolatot hoz létre az App Service-vel a felhasználói kérés újratitkosításához. Az App Service natív támogatást nyújt a HTTPS-hez, így nem kell tanúsítványt hozzáadnia az App Service-hez. Az Application Gateway elküldi a titkosított forgalmat az App Service-nek. Az App Service visszafejti a forgalmat, és a webalkalmazás feldolgozza a kérést.

Az átvitel közbeni titkosítás konfigurálásakor vegye figyelembe az alábbi javaslatokat.

  • Hozza létre vagy töltse fel a tanúsítványt a Key Vaultba. A HTTPS-titkosításhoz tanúsítvány szükséges (X.509). Az egyéni tartomány megbízható hitelesítésszolgáltatójától származó tanúsítványra van szüksége.
  • Tárolja a titkos kulcsot a tanúsítványban a Key Vaultban.
  • Kövesse az Azure-erőforrások Azure RBAC-beli és felügyelt identitásait használó Azure-kulcstartókhoz való hozzáférés engedélyezésének engedélyezése az alkalmazások számára című útmutatót, amely hozzáférést biztosít az Application Gateway számára a tanúsítvány titkos kulcsához. Ne használjon Key Vault-hozzáférési szabályzatokat a hozzáférés biztosításához. A hozzáférési szabályzatok csak széles körű engedélyek megadását teszik lehetővé, nem csak bizonyos értékekhez.
  • Végpontok közötti titkosítás engedélyezése. Az App Service az Application Gateway háttérkészlete. Amikor a háttérkészlet háttérbeállítását konfigurálja, használja a HTTPS protokollt a 443-as háttérporton keresztül.

Inaktív adatok

  • Bizalmas adatok titkosítása az Azure SQL Database-ben transzparens adattitkosítással. A transzparens adatok titkosítják a teljes adatbázist, biztonsági mentéseket és tranzakciónapló-fájlokat, és nem igényel módosításokat a webalkalmazásban.
  • Az adatbázis titkosítási késésének minimalizálása. A titkosítási késés minimalizálása érdekében helyezze a biztonságossá tenni kívánt adatokat a saját adatbázisába, és csak az adott adatbázis titkosítását engedélyezze.
  • A beépített titkosítási támogatás ismertetése. Az Azure Storage automatikusan titkosítja az inaktív adatokat kiszolgálóoldali titkosítással (256 bites AES). Az Azure Monitor automatikusan titkosítja az inaktív adatokat a Microsoft által felügyelt kulcsok (MMK-k) használatával.

Identitás- és hozzáférés-kezelés

Az App Service alapkonfigurációja konfigurálja a felhasználói identitások (felhasználók) és számítási feladatok identitásainak (Azure-erőforrások) hitelesítését és engedélyezését, és implementálja a minimális jogosultság elvét.

Felhasználói identitások

  • Használja az App Service ("EasyAuth") integrált hitelesítési mechanizmusát. Az EasyAuth leegyszerűsíti az identitásszolgáltatók webalkalmazásba való integrálásának folyamatát. A webalkalmazáson kívüli hitelesítést kezeli, így nem kell jelentős kódmódosításokat végrehajtania.
  • Konfigurálja az egyéni tartomány válasz URL-címét. A webalkalmazást át kell irányítania a következőre https://<application-gateway-endpoint>/.auth/login/<provider>/callback: . Cserélje le <application-gateway-endpoint> a nyilvános IP-címre vagy az application gatewayhez társított egyéni tartománynévre. Cserélje le <provider> a használt hitelesítési szolgáltatóra, például a Microsoft Entra ID "aad"-ra. Az Azure Front dokumentációjával beállíthatja ezt a folyamatot az Application Gatewayrel vagy az Application Gateway beállításával.

Számítási feladatok identitásai

  • Felügyelt identitás használata számítási feladatok identitásaihoz. A felügyelt identitás szükségtelenné teszi a fejlesztők számára a hitelesítési hitelesítő adatok kezelését.
  • Felhasználó által hozzárendelt felügyelt identitások használata. A rendszer által hozzárendelt identitások a versenyfeltételek és a műveletek sorrendje alapján okozhatják az infrastruktúra kódként történő üzembe helyezését. A felhasználó által hozzárendelt felügyelt identitások használatával elkerülhet néhány ilyen üzembe helyezési hibaforgatókönyvet. További információ: Felügyelt identitások.

Telepítés

Az alapkonfigurációs App Service-alkalmazás üzembe helyezése az Azure Web Apps és az Azure Pipelines CI/CD-ben található útmutatást követi. Az útmutatón kívül az App Services alaparchitektúrája figyelembe veszi, hogy az alkalmazás és az üzembehelyezési tárfiók hálózati védelem alatt áll. Az architektúra tagadja az App Service nyilvános elérését. Ez azt jelenti, hogy nem telepíthet a virtuális hálózaton kívülről. Az alapkonfiguráció bemutatja, hogyan helyezheti üzembe az alkalmazáskódot a virtuális hálózaton belül saját üzemeltetésű üzembehelyezési ügynökök használatával. Az alábbi üzembe helyezési útmutató az alkalmazáskód üzembe helyezésére összpontosít, és nem az infrastruktúra vagy az adatbázis változásainak üzembe helyezésére.

Az App Service alapkonfigurációs üzembehelyezési architektúráját bemutató diagram.

3. ábra: Azure-alkalmazás szolgáltatásalkalmazások üzembe helyezése

Üzembehelyezési folyamat

  1. A kiadási folyamat részeként a folyamat feladatkérést küld a feladatsorban lévő saját üzemeltetésű ügynökök számára. A feladatkérés célja, hogy az ügynök feltöltse a közzétételi zip-fájl buildelési összetevőt egy Azure Storage-fiókba.

  2. A saját üzemeltetésű üzembehelyezési ügynök lekérdezéssel veszi fel az új feladatkérést. Letölti a feladatot és a build összetevőt.

  3. A saját üzemeltetésű üzembehelyezési ügynök feltölti a zip-fájlt a tárfiókba a tárfiók privát végpontján keresztül.

  4. A folyamat folytatódik, és egy felügyelt ügynök felveszi a következő feladatot. A felügyelt ügynök cli-hívást indít az appSetting WEBSITE_RUN_FROM_PACKAGE frissítésére az előkészítési ponthoz tartozó új közzétételi zip-fájl nevére.

    az webapp config appsettings set -g MyResourceGroupName -n MyUniqueApp --slot staging --settings WEBSITE_RUN_FROM_PACKAGE=UriToNewZip
    
  5. Azure-alkalmazás szolgáltatás lekéri az új közzétételi zip-fájlt a tárfiók privát végpontjáról. Az átmeneti példány újraindul az új csomaggal, mert WEBSITE_RUN_FROM_PACKAGE másik fájlnévre lett beállítva.

  6. A folyamat újraindul, és minden füsttesztet futtat, vagy jóváhagyásra vár. Ha a tesztek sikeresek vagy jóváhagyást kapnak, a folyamat felcseréli az előkészítési és az éles tárolóhelyeket.

Üzembe helyezési útmutató

Az alábbiakban az alaparchitektúra fő telepítési útmutatóját emeli ki.

  • Az üzembehelyezési ütközések elkerülése érdekében használja a csomagból való futtatás parancsot. Ha az alkalmazást közvetlenül egy csomagból futtatja a Azure-alkalmazás Szolgáltatásban, a csomag fájljai nem lesznek átmásolva a wwwroot könyvtárba. Ehelyett maga a ZIP-csomag közvetlenül az írásvédett wwwroot könyvtárként lesz csatlakoztatva. Ez kiküszöböli a fájlzárolási ütközéseket az üzembe helyezés és a futtatókörnyezet között, és biztosítja, hogy csak a teljes mértékben üzembe helyezett alkalmazások futnak bármikor
  • Adja meg a verziószámokat az üzembe helyezett csomag zip-fájljaiban. WEBSITE_RUN_FROM_PACKAGE Az appSetting másik fájlnévvel való frissítésével az App Services automatikusan felveszi az új verziót, és újraindítja a szolgáltatást.
  • Használjon üzembehelyezési pontokat a rugalmas kódtelepítésekhez.
  • Fontolja meg a felügyelt és a saját üzemeltetésű ügynökök kombinációjának használatát.
  • Az infrastruktúra üzembe helyezésének automatizálása az infrastruktúra kódként (IaC) használatával.
  • Folyamatosan ellenőrizze a számítási feladatot, hogy tesztelje a teljes megoldás teljesítményét és rugalmasságát olyan szolgáltatásokkal, mint az Azure Load Testing és az Azure Chaos Studio.

Konfiguráció

Az alkalmazásokhoz konfigurációs értékekre és titkos kódokra is szükség van. A konfigurációhoz és a titkos kódok kezeléséhez kövesse az alábbi útmutatást.

  • Soha ne ellenőrizze a titkos kulcsokat, például a jelszavakat vagy a hozzáférési kulcsokat a forrásvezérlőben.
  • Az Azure Key Vault használatával titkos kulcsokat tárolhat.
  • Használja az App Service-konfigurációt az alkalmazáskonfigurációhoz. Ha ki kell külsőleg beállítania a konfigurációt az alkalmazáskonfigurációból, vagy funkciójelző-támogatást kell igényelnie, fontolja meg a Azure-alkalmazás Konfiguráció használatát.
  • Key Vault-referenciák használata az App Service-konfigurációban a titkos kódok biztonságos felfedéséhez az alkalmazásban.
  • Hozzon létre olyan alkalmazásbeállításokat, amelyek ragaszkodnak egy ponthoz, és nem lesznek felcserélve, ha különböző éles és előkészítési beállításokra van szüksége. Az üzembehelyezési pontok közötti váltáskor a rendszer alapértelmezés szerint vált az alkalmazásbeállítások között is.
  • Helyi környezeti változókat állíthat be a helyi fejlesztéshez, vagy kihasználhatja az alkalmazásplatform funkcióit. Az App Services-konfiguráció környezeti változókként teszi elérhetővé az alkalmazásbeállításokat. A Visual Studio például lehetővé teszi a környezeti változók beállítását az indítási profilokban. Lehetővé teszi az alkalmazás Gépház és a felhasználói titkos kódok használatát is a helyi alkalmazásbeállítások és titkos kódok tárolásához.

Figyelés

A monitorozás az informatikai rendszerekből származó adatok gyűjtése és elemzése. A monitorozás célja a webalkalmazások állapotának és biztonságának nyomon követése több rétegben. A megfigyelhetőség az alapkonfigurációs App Service-architektúra egyik fő aspektusa.

A webalkalmazás monitorozásához metrikákat és naplókat kell gyűjtenie és elemeznie az alkalmazáskódból, az infrastruktúrából (futtatókörnyezetből) és a platformról (Azure-erőforrások). További információ: Azure-tevékenységnapló, Azure-erőforrásnaplók és alkalmazásnaplók.

A platform figyelése

A platformmonitorozás az azure-szolgáltatásokból származó adatok gyűjtése az architektúrában. Tekintse meg a platformfigyeléssel kapcsolatos alábbi útmutatást.

Application Gateway

Az Application Gateway a háttérkészletében figyeli az erőforrások állapotát. Az Application Gateway Access naplóiban olyan információkat gyűjthet, mint az időbélyeg, a HTTP-válaszkód és az URL-elérési út. További információt az Application Gateway alapértelmezett állapotadat-mintavételi és háttérállapot- és diagnosztikai naplóiban talál.

App Service

Az App Service beépített és integrált monitorozási eszközökkel rendelkezik, amelyeket engedélyeznie kell a jobb megfigyelhetőség érdekében. Ha a webalkalmazás már rendelkezik telemetriai és monitorozási funkciókkal ("folyamatban lévő rendszerállapot"), akkor továbbra is működnie kell az App Service-ben.

  • Automatikus rendszerállapot engedélyezése. Az App Service rendelkezik egy eszközkiterjesztéssel, amelyet kódmódosítások nélkül engedélyezhet. Az alkalmazásteljesítmény-monitorozás (APM) láthatósága. További információ: Azure-alkalmazás szolgáltatás teljesítményének figyelése.
  • Elosztott nyomkövetés engedélyezése. Az automatikus rendszerállapot lehetővé teszi az elosztott felhőrendszerek monitorozását elosztott nyomkövetéssel és teljesítményprofilozóval.
  • Kódalapú rendszerállapot használata egyéni telemetriai adatokhoz. Azure-alkalmazás Elemzések az egyéni alkalmazástelemetria kódalapú rendszerezését is támogatja. Adja hozzá az Alkalmazás Elemzések SDK-t a kódhoz, és használja az Application Elemzések API-t.
  • App Service-naplók engedélyezése. Az App Service platform négy további naplót támogat, amelyeket engedélyeznie kell a hibaelhárítás támogatásához. Ezek a naplók alkalmazásnaplók, webkiszolgálói naplók, részletes hibaüzenetek és sikertelen kérelmek nyomon követése.
  • Strukturált naplózás használata. Strukturált naplózási kódtár hozzáadása az alkalmazáskódhoz. Frissítse a kódot kulcs-érték párok használatára, és engedélyezze az Alkalmazásnaplók app service-ben való tárolását a Log Analytics-munkaterületen.
  • Kapcsolja be az App Service Health-ellenőrzést. Az állapot-ellenőrzés átirányítja a kéréseket a nem megfelelő állapotú példányoktól, és lecseréli a nem megfelelő példányokat. Az App Service-csomagnak két vagy több példányt kell használnia az állapot-ellenőrzések működéséhez.

Adatbázis

Szabályozás

A webalkalmazások architekturális és biztonsági döntések végrehajtásával élvezhetik az Azure Policy előnyeit. Az Azure Policy (1) lehetetlenné teheti az üzembe helyezést (megtagadás) vagy a (2) könnyen észlelhető (audit) konfigurációs eltérést az előnyben részesített kívánt állapottól. Ez segít elkapni az infrastruktúra kódalapú (IaC) üzemelő példányait vagy az Azure Portal azon módosításait, amelyek eltérnek a megállapodott architektúrától. Az összes erőforrást az architektúrában az Azure Policy szabályozása alá kell helyeznie. Ha lehetséges, használjon beépített szabályzatokat vagy szabályzatkezdeményezéseket az alapvető hálózati topológia, szolgáltatásfunkciók, biztonsági és monitorozási döntések kikényszerítéséhez, például:

  • Az App Service-nek le kell tiltania a nyilvános hálózati hozzáférést
  • Az App Service-nek virtuális hálózati integrációt kell használnia
  • Az App Service-nek az Azure Private Link használatával kell csatlakoznia a PaaS-szolgáltatásokhoz
  • Az App Service-nek le kell tiltani a helyi hitelesítési módszereket az FTP & SCM-helyek üzembe helyezéséhez
  • Az App Service-nek ki kell kapcsolnia a távoli hibakeresést
  • Az App Service-alkalmazásoknak a legújabb TLS-verziót kell használniuk
  • Engedélyezni kell a Microsoft Defender for App Service-t
  • A webalkalmazási tűzfalat (WAF) engedélyezni kell az Application Gatewayhez

További beépített szabályzatok az olyan kulcsfontosságú szolgáltatásokhoz, mint az Application Gateway és a hálózati összetevők, az App Service, a Key Vault és a Monitorozás. Létrehozhat egyéni szabályzatokat, vagy használhat közösségi szabályzatokat (például az Azure-beli kezdőzónákból), ha a beépített szabályzatok nem fedik le teljes mértékben az ön igényeit. A beépített szabályzatok előnyben részesíthetők, ha elérhetők.

Következő lépések