Revolučně jednoduchá Azure CDN s podporou custom domén a SSL
Tento článek byl napsán v roce 2017. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.
Služba Azure CDN cachuje statický obsah ve strategických lokalitách tak, aby mohl být obsah uživatelům následně servírován s co nejnižší latencí. S úspěchem lze CDN použít při servírování CSS a JS souborů nebo například statických dokumentů a obrázků. V článku popisuji co Azure CDN umí a jak ji nastavit.
Vytvoření Azure CDN profilu
Microsoft Azure aktuálně poskytuje 3 odlišné Azure CDN produkty. Standard Akamai, Standard Verizon a Premium Verizon. Produkty jsou do určité míry srovnatelné s tím, že:
- Akamai podporuje HTTP/2 ale neumí custom domain HTTPS
- Verizon umí custom domain HTTPS ale neumí HTTP/2
Premium Verizon oproti standard verzi poskytuje rozšířenou analytiku, reporty a některá pokročilá nastavení. Pokud tedy nepotřebujete HTTP/2, Verizon mohu doporučit.
Pro vytvoření Azure CDN stačí vyplnit jednoduchý formulář v Azure portálu. Nejdůležitější rozhodnutí je volba cenového plánu (viz. verze výše). Cenový plán později nelze měnit.
Konfigurace CDN
Vytvořený Azure CDN profil je nyní potřeba nastavit. Obecně se jedná jen o několik kliknutí a jediné komplikovanější kroky se skrývají za nastavením SSL. Ze všeho nejdříve je ale nutné vytvořit endpoint.
Endpoint
Endpoint si lze představit jako subdoménu u zvoleného poskytovatele (Akamai, Verizon) napojenou na zvolenou službu. V praxi si vývojář zakládá endpointy v podobě {něco}.azureedge.net
a takových endpointů lze pod jednu CDN zařadit více.
V tomto článku budu napojovat můj celý storage account na subdoménu miroslavholec.azureedge.net. Na bladu s nastavením CDN profilu zvolím možnost přidat nový Endpoint. Již během vytváření povolím porty 80 a 443.
.
Ačkoliv v tomto článku se napojuji na Azure Storage, stejně tak bych mohl použít jinou z nabízených služeb:
Custom domény
Každý Endpoint lze dále spravovat a nastavovat mu pokročilé funkce (a to zejména v případě verze Premium Verizon). Jednou z funkcí, která je však dostupná i ve Standard Verizon je podpora custom domén.
Pomocí custom domény lze dosáhnout mnohem přívětivější verze URL. V mém případě například cdn.miroslavholec.cz
. Nejen, že se jedná o smysluplnější a zapamatovatelnější název, ale vzniká především i abstrakce, díky které si mohu dovolit napojovat různá úložiště dle potřeby, aniž by byla ovlivněna URL.
Formulář je v tomto případě velmi jednoduchý.
Je nutné zadat samozřejmě vlastněnou doménu (v mém případě subdoménu). Před zadáním doménového jména je vyžadováno, aby byl vytvořen CNAME záznam v rámci DNS, který z dané domény odkazuje na subdoménu poskytovatele.
Po vytvoření custom domény je možné dále rozkliknout nastavení a aktivovat si HTTPS.
V tomto případě je nutné verifikovat vlastnictví domény. Email k potvrzení vlastnictví přijde na email správce domény. Po kliknutí na odkaz se již pouze potvrdí žádost u DigiCert a certifikát je následně vystaven a automaticky připojen. Do 24 hodin se všechny nastavení obvykle zpropagují a CDN je na světě.
Certifikát je vydán na cca 3 roky.
Příště něco více
V tomto článku jsem ukázal jak snadné je nastavit si vlastní Azure CDN a nabídnout tak uživatelům statický obsah mnohem rychleji než obvyklým servírováním z azure storage. Na tento článek brzy navážu ukázkou statistik, nastavením cachování a filtrováním dle lokality.