Ajánlott eljárások Azure-alkalmazás szolgáltatáshoz

Ez a cikk a Azure-alkalmazás szolgáltatás használatának ajánlott eljárásait foglalja össze.

Közös elhelyezés

A Azure-alkalmazás szolgáltatásmegoldás egy webalkalmazásból és egy tartalom vagy adatok tárolására szolgáló adatbázisból vagy tárfiókból áll. Ha ezek az erőforrások különböző régiókban találhatók, a helyzetnek a következő hatásai lehetnek:

  • Megnövekedett 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

A colocation a legjobb megoldásokat alkotó Azure-erőforrásokhoz. 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 okai vannak annak, hogy ne legyenek. Az App Service-alkalmazásokat az adatbázissal megegyező régióba helyezheti át a Prémium App Service-csomagokban elérhető App Service klónozási funkcióval .

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

A tanúsítványrögzítés olyan gyakorlat, amelyben egy alkalmazás csak az elfogadható hitelesítésszolgáltatók (CA-k), a nyilvános kulcsok, az ujjlenyomatok vagy a tanúsítványhierarchia bármely részének meghatározott listáját engedélyezi.

Az alkalmazásoknak soha ne legyen kemény függőségük, és ne rögzítsen az alapértelmezett helyettesítő (*.azurewebsites.net) TLS-tanúsítványt. Az App Service szolgáltatásként nyújtott platform (PaaS), így ezt a tanúsítványt bármikor elforgathatja. Ha a szolgáltatás elforgatja az alapértelmezett helyettesítő helyettesítő TLS-tanúsítványt, a tanúsítvány által rögzített alkalmazások megszakadnak, és megszakítják a kapcsolatot egy adott tanúsítványattribútum-készletre rögzített alkalmazások esetében. A tanúsítvány elforgatásának gyakorisága szintén nem garantált, mert a forgás gyakorisága bármikor változhat.

A tanúsítvány-rögzítésre támaszkodó alkalmazásoknak nem szabad szigorú függőséget tanúsítaniuk az App Service által felügyelt tanúsítványoktól. Az App Service által 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 az alkalmazásnak 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. Az alkalmazás ezután az egyéni TLS-tanúsítványra támaszkodhat a tanúsítvány rögzítéséhez.

Memóriaerőforrások

Ha a figyelési vagy szolgáltatási javaslatok azt jelzik, hogy egy alkalmazás a vártnál több memóriát használ fel, fontolja meg az App Service automatikus javítási funkcióját. Az automatikus javítást a web.config használatával konfigurálhatja.

Az automatikus javítás egyik lehetősége az egyéni műveletek végrehajtása memóriaküszöb alapján. A műveletek az e-mail-értesítésektől a memóriaképen keresztüli vizsgálaton át a helyszíni kockázatcsökkentésig terjednek a feldolgozói folyamat újrahasznosításával.

CPU-erőforrások

Ha a figyelési vagy szolgáltatási javaslatok azt jelzik, hogy egy alkalmazás a vártnál több processzort használ fel, vagy ismétlődő cpu-kiugró értékeket tapasztal, fontolja meg az App Service-csomag ská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. 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.

Az App Service skálázási és automatikus skálázási beállításairól további információt az alkalmazások vertikális felskálázása a Azure-alkalmazás Service-ben című témakörben talál.

Szoftvercsatorna-erőforrások

A kimenő TCP-kapcsolatok kimerülésének gyakori oka az olyan ügyfélkódtárak használata, amelyek nem használják újra a TCP-kapcsolatokat, vagy amelyek nem használnak magasabb szintű protokollt, például HTTP-t.

Tekintse át az App Service-csomagban szereplő alkalmazások által hivatkozott egyes kódtárak dokumentációját. Győződjön meg arról, hogy a kódtárak 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 ügyfélkódtárak ilyen vizsgálata folyamatban van, a hatásokat több példányra való skálázással mérsékelheti.

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

A Node.js és számos kimenő HTTP-kérés használatakor fontos a HTTP életben tartása. Az agentkeepalivenpm csomag használatával egyszerűbbé teheti a kódot.

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.

Íme egy példa a válasz kezelésére, amikor a http csomaggal https dolgozik:

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

Ha az App Service-alkalmazást olyan Linux rendszerű gépen futtatja, amely több maggal rendelkezik, egy másik ajánlott eljárás a PM2 használata több Node.js-folyamat elindításához az alkalmazás futtatásához. Ezt úgy teheti meg, hogy megad egy indítási parancsot a tárolóhoz.

Ezzel a paranccsal például négy példányt indíthat el:

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

Alkalmazás biztonsági mentése

A biztonsági mentések általában ütemezés szerint futnak, és hozzáférést igényelnek a tárolóhoz (a biztonsági másolatban szereplő fájlok kimenetéhez) és az adatbázisokhoz (ahhoz, hogy a biztonsági mentés tartalmazza a tartalom másolását és olvasását). Az egyik erőforrás elérésének sikertelensége konzisztens biztonsági mentési hiba.

Az alkalmazás biztonsági mentésének két leggyakoribb oka az érvénytelen tárolási beállítások és az adatbázis-konfiguráció érvénytelen. Ezek a hibák általában a tár- vagy adatbázis-erőforrások módosítása vagy az erőforrások eléréséhez szükséges hitelesítő adatok módosítása után fordulnak elő. Előfordulhat például, hogy a biztonsági mentés beállításai között kiválasztott adatbázis hitelesítő adatai frissülnek.

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ó tárolási beállításait. Adatbázis-hozzáférési hibák esetén tekintse át és frissítse a kapcsolati sztring 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 az alkalmazás biztonsági mentése és visszaállítása a Azure-alkalmazás Service-ben című témakörben talál.

Node.js-alkalmazások

A Node.js-alkalmazások Azure-alkalmazás szolgáltatás alapértelmezett konfigurációja a leggyakoribb alkalmazások igényeinek leginkább megfelel. Ha személyre szeretné szabni a Node.js-alkalmazás alapértelmezett konfigurációját a teljesítmény javítása vagy a cpu-, memória- vagy hálózati erőforrások erőforrás-használatának optimalizálása érdekében, tekintse meg az ajánlott eljárásokat és hibaelhárítási útmutatót a Node-alkalmazásokhoz Azure-alkalmazás szolgáltatásban. Ez a cikk ismerteti azokat az iisnode-beállításokat, amelyeket esetleg konfigurálnia kell a Node.js-alkalmazáshoz. Azt is ismerteti, hogyan oldhatja meg az alkalmazással kapcsolatos forgatókönyveket vagy problémákat.

IoT-eszközök

Az App Service-hez csatlakoztatott eszközök internetes hálózatának (IoT) futtatásakor javíthatja a környezetet.

Az IoT-eszközök egyik gyakori gyakorlata a tanúsítvány rögzítése. A szolgáltatás felügyelt tanúsítványainak változásai miatti váratlan állásidő elkerülése érdekében soha ne rögzítse a tanúsítványokat az alapértelmezett *.azurewebsites.net tanúsítványra vagy az App Service által 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. Az alkalmazás ezután az egyéni TLS-tanúsítványra támaszkodhat a tanúsítvány rögzítéséhez. További információkért tekintse meg a cikk tanúsítvány-rögzítési szakaszát.

A környezet rugalmasságának növelése érdekében ne támaszkodjon egyetlen végpontra az összes eszközén. Webalkalmazásait legalább két régióban üzemeltetheti, hogy elkerülje az egyetlen meghibásodási pontot, és készen álljon a forgalom feladatátvételére.

Az App Service-ben azonos egyéni tartományokat adhat hozzá több webalkalmazáshoz, feltéve, hogy ezek a webalkalmazások különböző régiókban vannak üzemeltetve. Ez a funkció 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 egy terheléselosztó használata a webalkalmazások, például az Azure Front Door vagy az Azure Traffic Manager előtt a webalkalmazások magas rendelkezésre állásának biztosítása érdekében. További információ: Rövid útmutató: Front Door-példány létrehozása magas rendelkezésre állású globális webalkalmazáshoz vagy Azure-alkalmazás szolgáltatásforgalom szabályozása az Azure Traffic Managerrel.

További lépések

Az erőforrásra vonatkozó gyakorlati tanácsok beszerzéséhez használja az App Service-diagnosztikát:

  1. Nyissa meg a webalkalmazást az Azure Portalon.
  2. Nyissa meg az App Service-diagnosztikát a bal oldali panelEn található Diagnosztizálás és problémamegoldás lehetőség kiválasztásával.
  3. Válassza az Ajánlott eljárások csempét.
  4. Válassza az ajánlott eljárások a rendelkezésre álláshoz és teljesítményhez vagy az optimális konfiguráció ajánlott eljárásait 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 App Service-diagnosztikát az erőforráshoz: https://portal.azure.com/?websitesextension_ext=asd.featurePath%3Ddetectors%2FParentAvailabilityAndPerformance#@microsoft.onmicrosoft.com/resource/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/troubleshoot.