Gyakorlati tanácsok az Azure App Service-hez

Ez a cikk a Azure App Service használatának ajánlott eljárásait foglalja össze.

Közös elhelyezés

Ha egy megoldást, például egy webalkalmazást és egy adatbázist alkotó Azure-erőforrások különböző régiókban találhatók, az alábbi hatásokkal járhat:

  • Nagyobb késés az erőforrások közötti kommunikációban
  • A régiók közötti kimenő adatátvitel pénzügyi díjai az Azure díjszabási oldalán leírtak szerint.

Az ugyanabban a régióban való elhelyezés a legjobb megoldás, például egy webalkalmazást és egy tartalmat vagy adatokat tároló adatbázist vagy tárfiókot alkotó Azure-erőforrások esetében. Erőforrások létrehozásakor győződjön meg arról, hogy ugyanabban az Azure-régióban vannak, kivéve, ha konkrét üzleti vagy tervezési oka van annak, hogy ne legyenek azok. A App Service-alkalmazásokat az adatbázissal megegyező régióba helyezheti át az Prémium App Service Plan-alkalmazásokhoz jelenleg elérhető App Service klónozási funkcióval.

Tanúsítvány rögzítése

Az alkalmazásoknak soha nem kell szigorú függőségük vagy rögzítésük az alapértelmezett *.azurewebsites.net TLS-tanúsítványhoz, mert a *.azurewebsites.net TLS-tanúsítvány bármikor elforgatható, mivel a App Service szolgáltatásként nyújtott platform (PaaS) jellege miatt bármikor elforgatható. A tanúsítványrögzítés az a gyakorlat, amikor egy alkalmazás csak az elfogadható hitelesítésszolgáltatók (CA-k), nyilvános kulcsok, ujjlenyomatok vagy a tanúsítványhierarchia bármely részének adott listáját engedélyezi. Abban az esetben, ha a szolgáltatás elforgatja az App Service alapértelmezett helyettesítő karakteres TLS-tanúsítványt, a tanúsítvány által rögzített alkalmazások megszakadnak, és megszakítják az adott tanúsítványattribútum-készletre rögzített alkalmazások kapcsolatát. A *.azurewebsites.net TLS-tanúsítvány elforgatásának gyakorisága szintén nem garantált, mivel a rotálás gyakorisága bármikor változhat.

Vegye figyelembe, hogy a tanúsítvány-rögzítésre támaszkodó alkalmazásoknak szintén nem szabad szigorúan függenie egy App Service felügyelt tanúsítványtól. App Service a felügyelt tanúsítványok bármikor elforgathatók, ami hasonló problémákat okozhat a stabil tanúsítványtulajdonságokra támaszkodó alkalmazások esetében. Ajánlott egyéni TLS-tanúsítványt biztosítani a tanúsítvány-rögzítésre támaszkodó alkalmazásokhoz.

Ha egy alkalmazásnak tanúsítvány-rögzítési viselkedésre kell támaszkodnia, ajánlott egyéni tartományt hozzáadni egy webalkalmazáshoz, és megadni egy egyéni TLS-tanúsítványt a tartományhoz, amelyre ezután a tanúsítvány rögzítéséhez lehet támaszkodni.

Ha az alkalmazások a vártnál több memóriát használnak fel

Ha azt tapasztalja, hogy egy alkalmazás a vártnál több memóriát használ fel a monitorozási vagy szolgáltatásjavaslatok alapján, fontolja meg az App Service Automatikus javítás funkciót. Az Automatikus javítás funkció egyik lehetősége, hogy egyéni műveleteket hajt végre egy memóriaküszöb alapján. A műveletek az e-mail-értesítésektől a memóriaképen keresztüli vizsgálatig a helyszíni kockázatcsökkentésig terjednek a feldolgozói folyamat újrahasznosításával. Az automatikus javítás konfigurálható web.config és egy barátságos felhasználói felületen keresztül, a App Service támogatási webhely bővítményéhez tartozó blogbejegyzésben leírtak szerint.

Ha az alkalmazások a vártnál több processzort használnak fel

Ha azt tapasztalja, hogy egy alkalmazás a vártnál több processzort használ, vagy a monitorozási vagy szolgáltatásjavaslatok által jelzett ismétlődő cpu-kiugró értékeket tapasztal, fontolja meg a App Service csomag vertikális felskálázását vagy horizontális felskálázását. Ha az alkalmazás állapotalapú, a vertikális felskálázás az egyetlen lehetőség, míg ha az alkalmazás állapot nélküli, a horizontális felskálázás nagyobb rugalmasságot és nagyobb skálázási lehetőségeket biztosít.

A App Service skálázási és automatikus skálázási lehetőségekkel kapcsolatos további információkért lásd: Webalkalmazás méretezése Azure App Service.

Szoftvercsatorna-erőforrások kimerítésekor

A kimenő TCP-kapcsolatok kimerítésének gyakori oka az ügyfélkódtárak használata, amelyek nincsenek implementálva a TCP-kapcsolatok újrafelhasználására, vagy ha egy magasabb szintű protokoll, például a HTTP - Keep-Alive nincs használatban. Tekintse át a App Service-csomagban szereplő alkalmazások által hivatkozott összes kódtár dokumentációját, és győződjön meg arról, hogy azok konfigurálva vannak vagy elérhetők a kódban a kimenő kapcsolatok hatékony újrafelhasználása érdekében. A kapcsolatok kiszivárgásának elkerülése érdekében kövesse a kódtár dokumentációjának útmutatását a megfelelő létrehozáshoz és kiadáshoz vagy tisztításhoz. Bár az ilyen ügyfélkódtárak vizsgálata folyamatban van, a hatás csökkenthető több példányra való horizontális felskálázással.

Node.js és kimenő HTTP-kérések

Ha Node.js és sok kimenő HTTP-kéréssel dolgozik, fontos a HTTP -Keep-Alive kezelése. Az agentkeepalivenpm csomag használatával megkönnyítheti a kódban való használatát.

Mindig kezelje a http választ, még akkor is, ha semmit sem tesz a kezelőben. Ha nem kezeli megfelelően a választ, az alkalmazás végül elakad, mert nincs több szoftvercsatorna.

Ha például a http csomaggal https dolgozik:

const request = https.request(options, function(response) {
    response.on('data', function() { /* do nothing */ });
});

Ha App Service on Linux futtat egy több maggal rendelkező gépen, egy másik ajánlott eljárás a PM2 használata több Node.js folyamat elindítására az alkalmazás végrehajtásához. Ezt úgy teheti meg, hogy megad egy indítási parancsot a tárolóhoz.

Például négy példány indításához:

pm2 start /home/site/wwwroot/app.js --no-daemon -i 4

Amikor az alkalmazás biztonsági mentése meghiúsul

Az alkalmazás biztonsági mentésének két leggyakoribb oka a következő: érvénytelen tárolási beállítások és érvénytelen adatbázis-konfiguráció. Ezek a hibák általában akkor fordulnak elő, ha módosulnak a tároló- vagy adatbázis-erőforrások, vagy módosulnak az erőforrások elérésének módja (például a biztonsági mentési beállításokban kiválasztott adatbázis hitelesítő adatai). A biztonsági mentések általában ütemezés szerint futnak, és hozzáférésre van szükségük a tárolóhoz (a biztonsági mentési fájlok kimenetéhez) és az adatbázisokhoz (ahhoz, hogy a tartalom másolása és olvasása szerepeljen a biztonsági másolatban). Ha valamelyik erőforráshoz nem fér hozzá, akkor a biztonsági mentési hiba konzisztens lesz.

Ha biztonsági mentési hibák történnek, tekintse át a legutóbbi eredményeket, és ismerje meg, hogy milyen típusú hiba történik. A tárelérési hibák esetén tekintse át és frissítse a biztonsági mentési konfigurációban használt tárolási beállításokat. Adatbázis-hozzáférési hibák esetén tekintse át és frissítse a kapcsolati sztringeket az alkalmazásbeállítások részeként; ezután frissítse a biztonsági mentési konfigurációt, hogy megfelelően tartalmazza a szükséges adatbázisokat. Az alkalmazás biztonsági mentéséről további információt a webalkalmazás biztonsági mentése Azure App Service című témakörben talál.

Új Node.js alkalmazások Azure App Service

Azure App Service Node.js alkalmazások alapértelmezett konfigurációja a leggyakoribb alkalmazások igényeinek leginkább megfelelő. Ha a Node.js-alkalmazás konfigurációja a teljesítmény javítása vagy a cpu-/memória-/hálózati erőforrások erőforrás-használatának optimalizálása érdekében előnyös lenne a személyre szabott finomhangolásból, tekintse meg az ajánlott eljárásokat és hibaelhárítási útmutatót a Node-alkalmazásokhoz Azure App Service. Ez a cikk ismerteti a Node.js-alkalmazáshoz konfigurálandó iisnode-beállításokat, ismerteti az alkalmazás által esetlegesen felmerülő különböző forgatókönyveket és problémákat, és bemutatja, hogyan oldhatja meg ezeket a problémákat.

Amikor az eszközök internetes hálózata (IoT)-eszközök csatlakoznak az alkalmazásokhoz App Service

Vannak olyan forgatókönyvek, amelyekben javíthatja a környezetet az eszközök internetes hálózatának (IoT)-eszközök App Service csatlakoztatott futtatásakor. Az IoT-eszközök egyik nagyon gyakori gyakorlata a "tanúsítvány rögzítése". Annak érdekében, hogy elkerülje a szolgáltatás felügyelt tanúsítványainak változásai miatti előre nem látott állásidőt, soha ne rögzítse a tanúsítványokat az alapértelmezett *.azurewebsites.net tanúsítványra, sem a App Service felügyelt tanúsítványra. Ha a rendszernek tanúsítvány-rögzítési viselkedésre kell támaszkodnia, javasoljuk, hogy adjon hozzá egy egyéni tartományt egy webalkalmazáshoz, és adjon meg egy egyéni TLS-tanúsítványt a tartományhoz, amelyre ezután a tanúsítvány rögzítéséhez lehet támaszkodni. További információt a jelen cikk tanúsítvány-rögzítési szakaszában talál.

A környezet rugalmasságának növelése érdekében ne támaszkodjon egyetlen végpontra az összes eszközén. Legalább két különböző régióban kell üzemeltetnie a webalkalmazásokat, hogy elkerülje az egyetlen meghibásodási pontot, és készen álljon a feladatátvételi forgalomra. A App Service azonos egyéni tartományt adhat hozzá a különböző webalkalmazásokhoz, feltéve, hogy ezek a webalkalmazások különböző régiókban vannak üzemeltetve. Ez biztosítja, hogy ha tanúsítványokat kell rögzítenie, rögzítheti a megadott egyéni TLS-tanúsítványt is. Egy másik lehetőség a webalkalmazások előtti terheléselosztó használata, például az Azure Front Door vagy a Traffic Manager használata a webalkalmazások magas rendelkezésre állásának biztosítása érdekében. További információért tekintse meg a következő rövid útmutatót: Front Door létrehozása magas rendelkezésre állású globális webalkalmazáshoz vagy Azure App Service forgalom szabályozása Azure Traffic Manager.

Következő lépések

Az ajánlott eljárásokkal kapcsolatos további információkért látogasson el a App Service Diagnostics webhelyre, ahol megtalálhatja az erőforrásra vonatkozó gyakorlati tanácsokat.

  • Navigáljon a webalkalmazáshoz a Azure Portal.
  • Kattintson a Diagnosztikára, és oldja meg a problémákat a bal oldali navigációs sávon, amely App Service Diagnosztikát nyitja meg.
  • Válassza az Ajánlott eljárások kezdőlap csempét.
  • Kattintson az Ajánlott eljárások a rendelkezésre állási & teljesítményhez vagy az optimális konfiguráció ajánlott eljárásai elemre az alkalmazás aktuális állapotának megtekintéséhez az ajánlott eljárások tekintetében.

Ezen a hivatkozáson közvetlenül megnyithatja az erőforráshoz tartozó App Service Diagnosticst is: https://portal.azure.com/?websitesextension_ext=asd.featurePath%3Ddetectors%2FParentAvailabilityAndPerformance#@microsoft.onmicrosoft.com/resource/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/troubleshoot.