Miroslav Holec
Premium

Revolučně jednoduchá Azure CDN s podporou custom domén a SSL

Miroslav Holec   26. února 2017

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

Cenové plány Azure CDN

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.

Založení Azure CDN služby

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.

Vytvoření nového endpointu.

Ačkoliv v tomto článku se napojuji na Azure Storage, stejně tak bych mohl použít jinou z nabízených služeb:

Podporované služby pro Azure CDN

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.

Přidání custom doményk Endpointu

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ý.

Formulář přidání custom domény

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.

Aktivace HTTPS na custom doméně

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ě.

Obrázek a odkaz na CDN

Certifikát je vydán na cca 3 roky.

Vlastnosti certifikátu

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.