CDN-útmutató

Azure Front Door
Azure Storage
Azure Blob Storage

Egy tartalomkézbesítési hálózat (CDN) kiszolgálók olyan elosztott hálózata, amely hatékonyan kézbesíti a webes tartalmakat a felhasználóknak. A CDN-k gyorsítótárazott tartalmat tárolnak a végfelhasználókhoz közel álló peremhálózati kiszolgálókon a késés minimalizálása érdekében.

A CDN-ek segítségével általában statikus tartalmak, például képek, stíluslapok, dokumentumok, ügyféloldali szkriptek vagy HTML-oldalak továbbíthatók. A CDN használatának főbb előnyei a következők: kisebb késés, gyorsabb tartalomkézbesítés a felhasználóknak függetlenül attól, hogy a földrajzi helyük mennyire van közel az alkalmazást üzemeltető adatközponthoz. A CDN-k segíthetnek a webalkalmazások terhelésének csökkentésében is, mivel az alkalmazásnak nem kell kiszolgálnia a CDN-ben tárolt tartalomra vonatkozó kéréseket.

CDN-diagram

A Azure Azure Front Door a globális CDN-megoldás a Azure vagy bármely más helyen üzemeltetett nagy sávszélességű tartalom továbbítására. Konfigurálhatja a Azure Front Door Standard és Prémium szinteket a tartalom gyorsítótárazásához a hálózati peremhálózaton. Gyorsítótárazhatja az Azure Blob Storage-ból, webalkalmazásból, virtuális gépből, sőt akár bármely nyilvánosan elérhető webkiszolgálóról származó objektumokat.

Ez a cikk a CDN használata során alkalmazott általános ajánlott eljárásokat és szempontokat ismerteti. További információkért lásd a Gyorsítótárazás az Azure Front Doorral című dokumentációt.

Hogyan és miért érdemes használni a CDN-t

A CDN tipikus alkalmazásai:

  • Statisztikai erőforrások biztosítása ügyfélalkalmazásokhoz, gyakran egy webhelyről. Ezek az erőforrások lehetnek képek, stíluslapok, dokumentumok, fájlok, ügyféloldali szkriptek, HTML-lapok, HTML-töredékek vagy bármely más tartalom, amelyet a kiszolgálónak nem kell módosítania az egyes kérésekhez. Az alkalmazás futásidőben hozhat létre elemeket, és elérhetővé teheti őket a CDN számára (például az aktuális hírcímek listájának létrehozásával), de nem minden kéréshez.

  • Nyilvános statikus és megosztott tartalom biztosítása például mobiltelefonok, táblagépek és hasonló eszközök számára. Maga az alkalmazás egy szolgáltatás, amely API-t biztosít különböző eszközökön futó ügyfeleknek. A CDN a webes szolgáltatáson keresztül statikus adatkészleteket is biztosít az ügyfeleknek, például az ügyféloldali felhasználói felület létrehozásához. A CDN használható például JSON- vagy XML-dokumentumok terjesztésére.

  • Egész, csak nyilvános statikus tartalomból álló webhelyek kiszolgálása ügyfeleknek dedikált számítási erőforrások igénye nélkül.

  • Videofájlok streamelése az ügyfélnek igény szerint. A videók szempontjából előnyös a CDN-kapcsolatot biztosító, globálisan elhelyezett adatközpont által biztosított alacsony késés és megbízható kapcsolat.

  • Általában jobb felhasználói élmény, különösen az alkalmazást üzemeltető adatközponttól távol található felhasználók esetében. Ezek a felhasználók egyébként nagyobb késést tapasztalhatnak. A webalkalmazásokban a tartalom teljes méretének nagy része gyakran statikus, és a CDN használata segíthet fenntartani a teljesítményt és az általános felhasználói élményt, miközben kiküszöböli az alkalmazás több adatközpontban való üzembe helyezésének követelményét. A Azure Front Door peremhálózati helyek listáját Azure Front Door POP-helyek régiónként című témakörben találja.

  • IoT- (Eszközök internetes hálózata) megoldások támogatása. Az IoT-megoldásokba bevont nagy számú eszköz és berendezés könnyen túlterhelhetne egy alkalmazást, ha a firmware-frissítéseket közvetlenül kéne terjesztenie minden eszközre.

  • A csúcsokkal és a megnövekedett kereslettel való megbirkózás anélkül, hogy az alkalmazásnak skáláznia kellene, elkerülve a működési költségek ebből következő növekedését. Ha például egy operációs rendszer frissítését egy hardvereszközre, például egy adott útválasztó-modellre vagy egy fogyasztói eszközre, például egy intelligens TV-re bocsátják ki, óriási az igény, mivel rövid idő alatt felhasználók és eszközök milliói töltik le.

Problémák

A CDN használatának tervezésekor több esetleges problémát is figyelembe kell venni.

  • Üzembe helyezés. Határozza meg a forrást, ahonnan a CDN lekéri a tartalmat, és azt, hogy telepítenie kell-e a tartalmat egynél több tárolórendszerben. Fontolja meg a statikus tartalom és erőforrások üzembe helyezésének folyamatát. Előfordulhat például, hogy egy külön lépést kell végrehajtania a tartalom Azure Blob Storage való betöltéséhez.

  • Verziókezelés és gyorsítótár-vezérlés. Fontolja meg a statikus tartalom frissítését és az új verziók üzembe helyezését. Ismerje meg, hogyan működik a CDN gyorsítótárazása és a TTL (time-to-live) kezelése. Az Azure Front Doorral kapcsolatban lásd a következőt: Gyorsítótárazás az Azure Front Door használatával.

  • Tesztelés. A CDN-beállítások helyi tesztelése nehézkes lehet, ha helyben vagy átmeneti környezetben zajlik az alkalmazás fejlesztése és tesztelése.

  • Keresőmotor-optimalizálás (SEO). CDN használata esetében a képek, dokumentumok és a hasonló tartalmak kiszolgálása különböző tartományból történik. Ez hatással lehet a tartalomhoz tartozó keresőmotor-optimalizálásra.

  • Tartalombiztonság. Nem minden CDN biztosít identitásalapú hozzáférés-vezérlést a tartalomhoz. Azure Front Door WAF-ja védi az alkalmazásokat a gyakori kihasználásoktól, és a forrásbiztonság megakadályozza, hogy a forgalom megkerülje a Front Doort. Ezek a funkciók nem helyettesítik a privát tartalmak alkalmazásszintű engedélyezését. További információ: Web Application Firewall az Azure Front Dooron és Az Azure Front Door-források felé irányuló forgalom védelme.

  • Ügyfélbiztonság. Előfordulhat, hogy az ügyfelek olyan környezetből csatlakoznak, amely nem teszi lehetővé az erőforrások elérését a CDN-en. Ez lehet egy biztonsági okból korlátozott környezet, amely csupán néhány ismert forráshoz enged hozzáférést, vagy egy olyan, amely a lap forrását kivéve mindenhonnan megakadályozza az erőforrások betöltését. Az ilyen esetek kezeléséhez szükséges egy tartalék megvalósítás.

  • Rugalmasság. A CDN egy potenciálisan hibaérzékeny pontja az alkalmazásoknak.

Olyan forgatókönyvek, amelyekben a CDN kevésbé hasznos lehet:

  • Ha a tartalom alacsony találati rátával rendelkezik, előfordulhat, hogy csak néhány alkalommal érhető el, amíg érvényes (az élettartam-beállítás határozza meg).

  • Ha az adat bizalmas, például nagyvállalatoknál vagy ellátási lánccal kapcsolatos ökoszisztémáknál.

Általános irányelvek és bevált gyakorlatok

A CDN használata kiváló módszer az alkalmazások terhelésének minimalizálására, valamint a lehető legmagasabb szintű rendelkezésre állás és teljesítmény elérésére. Érdemes lehet ezt a stratégiát alkalmazni az alkalmazás által használt összes megfelelő tartalomhoz és erőforráshoz. Amikor megtervezi a CDN-használati stratégiáját, vegye figyelembe az alábbi szempontokat.

Telepítés

Előfordulhat, hogy a statikus tartalmat az alkalmazástól függetlenül kell kiépíteni és üzembe helyezni, ha nem tartalmazza az alkalmazás üzembehelyezési csomagjában vagy folyamatában. Gondolja át, hogy ez hogyan befolyásolja az alkalmazás-összetevők és a statikus erőforrás-tartalom kezeléséhez használt verziószámozási megközelítést.

Érdemes kötegelési és minifikációs technikákat alkalmazni az ügyfeleknél tapasztalható betöltési idő csökkentése érdekében. Több fájl kombinálása egyetlen fájlba történik. A kicsinyítés eltávolítja a szükségtelen karaktereket a szkriptekből és a CSS-fájlokból, de a működőképességet ez nem befolyásolja.

Ha a tartalmat egy másik helyen kell üzembe helyeznie, ez egy további lépés az üzembe helyezési folyamat során. Ha az alkalmazás frissíti a CDN tartalmát, esetleg rendszeres időközönként vagy egy eseményre válaszul, a frissített tartalmat minden más helyen, valamint a CDN végpontján kell tárolnia.

Fontolja meg, hogyan kezeli a helyi fejlesztést és tesztelést, ha bizonyos statikus tartalmakat várhatóan egy CDN-ből fognak kiszolgálni. Például előre üzembe helyezheti a tartalmat a CDN-ben a buildszkript részeként. Másik megoldásként használhat fordítási irányelveket vagy jelzőket annak szabályozására, hogy hogyan töltse be az alkalmazás az erőforrásokat. Hibakeresési módban például az alkalmazás be tudná tölteni a statikus erőforrásokat egy helyi mappából. Kiadási módban az alkalmazás a CDN-t használná.

Gondolja végig a fájltömörítési lehetőségeket, például a gzip (GNU zip) formátumot. A tömörítést a forráskiszolgálón a webalkalmazás üzemelteti, vagy közvetlenül a peremhálózati kiszolgálókon a CDN végezheti el. További információt a Azure Front Door fájljainak tömörítésével a teljesítmény javítása című témakörben talál.

Útválasztás és verziókezelés

Előfordulhat, hogy a tartalom különböző verzióit kell kiszolgálnia különböző időpontokban. Az alkalmazás új verziójának üzembe helyezésekor például érdemes lehet új tartalmat kiszolgálni, és megőrizni a korábbi verziók régi (régebbi formátumú) tartalmát. Ha Azure Blob Storage használ tartalomforrásként, minden verziót külön blobtárolóban tárolhat. Egy Azure Front Door-forrás egy tárfiók gazdagépét azonosítja, nem pedig egy különálló tárolót. Ha egy másik tárfiókból származó tartalmat szeretne kiszolgálni, mutasson rá a forrásra. Ha egy másik tárolóból származó tartalmat szeretne kiszolgálni ugyanabban a fiókban, állítsa be az útvonal forrásútvonalát, vagy adjon hozzá egy URL-átírási szabályt, amely a tárolót célozza.

A statikus tartalom új verzióinak telepítése egy alkalmazás frissítésekor kihívást jelenthet, ha a korábbi erőforrások a CDN-en lettek gyorsítótárazva. További információkért tekintse meg a gyorsítótár-vezérlésről szóló alábbi szakaszt.

Fontolja meg a CDN-tartalomhozzáférés ország vagy régió szerinti korlátozását. Azure Front Door a WAF használatával szűri a kéréseket annak az országnak vagy régiónak megfelelően, amelyből a kérés származik, és korlátozza a kézbesített tartalmat. További információért lásd: Geo-filtering on a domain for Azure Front Door.

Tartsa stabilan a nyilvános URL-címeket, ha csak a tárolási hely változik. URL-átírással egy meglévő URL-címet képezhet le egy új forrásútvonalra az ügyfél átirányítása nélkül. Ha a nyilvános URL-címnek változnia kell, inkább egy meglévő CDN-ről vagy fordított proxyról adjon vissza átirányítást az alkalmazás meghívása helyett. Az Azure Front Door Standard és Premium szabálykészleteken keresztül támogatja a URL-átirányításokat.

Ha a gazdagépnév megváltozik, a régi gazdagépnév maradjon elérhető addig, amíg átirányításra van szükség. Tartsa karban az átirányítást kiszolgáló végpontra mutató DNS-t, őrizze meg a régi gazdagépnév egyéni tartományát és útvonaltársításait, és tartson fenn érvényes TLS-tanúsítványt a HTTPS-hez. E függőségek nélkül az ügyfelek nem tudják megkapni az átirányítást.

Gyorsítótár-vezérlés

Gondolja át, hogyan működjön a gyorsítótárazás a rendszerében. Például az Azure Front Doorban beállíthatja a gyorsítótárazási szabályokat a szabálymotorban, és egyéni gyorsítótárazási működést alkalmazhat megadott útvonalakra. A forrásnál lévő gyorsítótárirányelv-fejlécek küldésével azt is szabályozhatja, hogy hogyan menjen végbe a gyorsítótárazás egy CDN-ben.

További információért lásd: Caching with Azure Front Door.

Ha meg szeretné akadályozni, hogy az objektumok elérhetők legyenek a CDN-en, törölheti őket a forrásból, eltávolíthatja vagy törölheti a CDN-végpontot, illetve blobtárolóként privátsá teheti a tárolót vagy a blobot. Az elemek azonban mindaddig nem lesznek eltávolítva a CDN-ből, amíg az élettartam el nem jár. A CDN-végpontok manuálisan is véglegesen törölhetők.

Biztonság

Azure Front Door egy Microsoft által felügyelt TLS-tanúsítvánnyal vagy saját tanúsítványával https-en keresztül is kézbesíthet tartalmakat. A vegyes tartalomra vonatkozó böngészőbeli figyelmeztetések elkerülése érdekében a HTTPS használatával kérjen statikus tartalmat, amely a HTTPS-ben betöltött oldalakon jelenik meg. További információért lásd: Végpontok közötti TLS az Azure Front Door segítségével.

Ha statikus objektumokat (pl. betűkészletfájlokat) kézbesít a CDN használatával, előfordulhat, hogy az azonos eredethez kapcsolódó szabályzatproblémák merülnek fel, ha XMLHttpRequest hívást használ ezen erőforrások különböző tartományból való lekérésére. Sok webböngésző nem engedélyezi az eltérő eredetű erőforrások megosztását (CORS), ha a webkiszolgáló nincs a megfelelő válaszfejlécek beállítására konfigurálva. A CDN-t beállíthatja a CORS támogatására az alábbi módszerek egyikével:

CDN-tartalék

Fontolja meg, hogy az alkalmazás hogyan kezeli a CDN meghibásodását vagy ideiglenes elérhetetlenségét. Előfordulhat, hogy az ügyfélalkalmazások használhatják a helyileg (az ügyfélen) gyorsítótárazott erőforrások másolatait a korábbi kérések során, vagy olyan kódot is megadhat, amely észleli a hibát, és ehelyett erőforrásokat kér le a forrásból (az alkalmazásmappából vagy az erőforrásokat tároló Azure Blob Storage tárolóból), ha a CDN nem érhető el.