Tento článek popisuje řešení kontejneru pro hostování rozsáhlé instalace WordPressu náročné na úložiště v Azure. Řešení maximalizuje škálovatelnost a zabezpečení. Mezi klíčové komponenty patří Azure Front Door, Azure Kubernetes Service (AKS) a Azure NetApp Files.
Architektura
Stáhněte si soubor aplikace Visio s touto architekturou.
Poznámka:
Toto řešení můžete rozšířit implementací tipů a doporučení, které nejsou specifické pro žádnou konkrétní metodu hostování WordPressu. Obecné tipy pro nasazení instalace WordPressu najdete v tématu WordPress v Azure.
Tok dat
- Uživatelé přistupují k front-endu prostřednictvím služby Azure Front Door s povoleným firewallem webových aplikací Azure.
- Azure Front Door používá jako zdroj interní instanci Azure Load Balanceru. Interní nástroj pro vyrovnávání zatížení je skrytá komponenta AKS. Azure Front Door načte všechna data, která nejsou uložená v mezipaměti.
- Interní nástroj pro vyrovnávání zatížení distribuuje příchozí provoz do podů v rámci AKS.
- Azure Key Vault ukládá tajné kódy, jako je privátní klíč, což je certifikát X.509.
- Aplikace WordPress používá privátní koncový bod pro přístup k flexibilní instanci serveru Služby Azure Database for MySQL. Aplikace WordPress načítá dynamické informace z této spravované databázové služby.
- Veškerý statický obsah je hostovaný ve službě Azure NetApp Files. Řešení používá ovladač Astra Trident Container Storage Interface (CSI) s protokolem NFS.
Komponenty
- Azure Front Door je moderní cloudová síť pro doručování obsahu. Jako distribuovaná síť serverů azure Front Door efektivně poskytuje uživatelům webový obsah. Sítě pro doručování obsahu minimalizují latenci tím, že ukládají obsah uložený v mezipaměti na hraničních serverech v umístěních stavu poblíž koncových uživatelů.
- Azure Virtual Network poskytuje způsob, jak se nasazené prostředky vzájemně komunikovat, internetem a místními sítěmi. Virtuální sítě poskytují izolaci a segmentaci. Také filtrují a směrují provoz a umožňují navázat spojení mezi různými umístěními. V tomto řešení jsou dvě sítě propojené prostřednictvím partnerského vztahu virtuálních sítí.
- Azure DDoS Protection poskytuje vylepšené funkce pro zmírnění rizik útoků DDoS. Když tyto funkce zkombinujete s osvědčenými postupy návrhu aplikací, pomáhají bránit se útokům DDoS. Ochranu před útoky DDoS byste měli povolit v hraničních virtuálních sítích.
- Skupiny zabezpečení sítě používají seznam pravidel zabezpečení k povolení nebo zamítnutí příchozího nebo odchozího síťového provozu na základě zdrojové nebo cílové IP adresy, portu a protokolu. V podsítích tohoto scénáře pravidla skupiny zabezpečení sítě omezují tok provozu mezi komponentami aplikace.
- Load Balancer distribuuje příchozí provoz na základě pravidel a výsledků sondy stavu. Nástroj pro vyrovnávání zatížení poskytuje nízkou latenci a vysokou propustnost. Rozšířením provozu mezi více serverů přidává nástroj pro vyrovnávání zatížení škálovatelnost aplikací TCP (Transmission Control Protocol) a UDP (User Datagram Protocol). V tomto scénáři nástroj pro vyrovnávání zatížení distribuuje provoz ze sítě pro doručování obsahu na front-endové webové servery.
- AKS je plně spravovaná služba Kubernetes, kterou můžete použít k nasazení, správě a škálování kontejnerizovaných aplikací.
- Azure NetApp Files poskytuje plně spravované řešení úložiště náročné na výkon a latenci. V tomto řešení azure NetApp Files hostuje veškerý obsah WordPressu, aby všechny pody měly přístup k datům.
- Azure Cache for Redis je úložiště dat v paměti. Azure Cache for Redis můžete použít k hostování mezipaměti klíč-hodnota v tomto řešení. Tato mezipaměť se sdílí mezi všemi pody a používá se pro moduly plug-in optimalizace výkonu WordPressu.
- Key Vault ukládá a řídí přístup k heslům, certifikátům a klíčům.
- Flexibilní server Azure Database for MySQL je relační databázová služba založená na opensourcovém databázovém stroji MySQL. Možnost nasazení flexibilního serveru je plně spravovaná služba, která poskytuje podrobnou kontrolu a flexibilitu nad funkcemi správy databáze a nastavením konfigurace. V tomto scénáři azure Database for MySQL ukládá data WordPressu.
Alternativy
- Místo použití spravované služby Azure Cache for Redis můžete jako mezipaměť použít pod v rámci clusteru AKS v místním prostředí.
- Místo použití spravovaného řešení úložiště, jako je Azure NetApp Files, můžete použít řešení v místním prostředí, jako je Rook-Ceph Storage. Další informace najdete v tématu Použití Rook Ceph ve službě Azure Kubernetes Service.
Podrobnosti scénáře
Tento ukázkový scénář je vhodný pro rozsáhlé instalace WordPressu náročné na úložiště. Tento model nasazení se může škálovat tak, aby splňoval špičky v provozu do lokality.
Potenciální případy použití
- Blogy s vysokým provozem, které používají WordPress jako svůj systém správy obsahu
- Obchodní nebo elektronické obchodní weby, které používají WordPress
Důležité informace
Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.
Spolehlivost
Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace najdete v tématu Přehled pilíře spolehlivosti.
Při nasazení tohoto řešení zvažte následující doporučení:
- Řešení používá pody v AKS a nástroj pro vyrovnávání zatížení k distribuci příchozího provozu. Tento přístup poskytuje vysokou dostupnost, i když dojde k selhání podu.
- Řešení podporuje více oblastí, replikaci dat a automatické škálování. Komponenty distribuují provoz do podů. Používají se sondy stavu, aby se provoz distribuoval jenom do podů, které jsou v pořádku.
- Všechny síťové komponenty jsou před frontou služby Azure Front Door. Díky tomuto přístupu jsou síťové prostředky a aplikace odolné vůči problémům, které by jinak narušily provoz a ovlivnily přístup koncových uživatelů.
- Azure Front Door je globální služba, která podporuje škálovací sady virtuálních počítačů nasazené v jiné oblasti.
- Když použijete Azure Front Door k ukládání všech odpovědí do mezipaměti, získáte malou výhodu dostupnosti. Konkrétně platí, že pokud zdroj nereaguje, máte stále přístup k obsahu. Ukládání do mezipaměti ale neposkytuje kompletní řešení dostupnosti.
- Pokud chcete zvýšit dostupnost, replikujte úložiště Azure NetApp Files mezi spárovanými oblastmi. Další informace najdete v tématu Replikace mezi oblastmi pomocí služby Azure NetApp Files.
- Pokud chcete zvýšit dostupnost Služby Azure Database for MySQL, postupujte podle možností vysoké dostupnosti, které vyhovují vašim potřebám.
Zabezpečení
Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v tématu Přehled pilíře zabezpečení.
Při nasazování tohoto řešení zvažte následující osvědčené postupy:
- Pomocí firewallu webových aplikací ve službě Azure Front Door můžete chránit provoz virtuální sítě, který proudí do front-endové aplikační vrstvy. Další informace najdete v tématu Azure Web Application Firewall ve službě Azure Front Door.
- Nepovolujte odchozí internetový provoz tok z databázové vrstvy.
- Nepovolujte veřejný přístup k privátnímu úložišti a zakažte veřejný přístup k prostředkům. Použijte privátní koncové body pro Azure Database for MySQL, Azure Cache for Redis, Key Vault a Azure Container Registry. Další informace najdete v tématu Azure Private Link.
Další informace o zabezpečení WordPressu najdete v tématu Obecné tipy k zabezpečení a výkonu WordPressu a dokumentaci k zabezpečení Azure.
Optimalizace nákladů
Optimalizace nákladů se zabývá způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.
Při nasazení tohoto řešení si projděte následující aspekty nákladů:
- Očekávání provozu (GB/měsíc) Váš objem provozu je faktor, který má největší vliv na vaše náklady. Objem přijímaného provozu určuje počet uzlů AKS, které potřebujete, a cenu odchozího přenosu dat. Objem přenosů také přímo koreluje s objemem dat, která poskytuje vaše síť pro doručování obsahu, kde jsou náklady na odchozí přenos dat levnější.
- Množství hostovaných dat. Je důležité zvážit množství dat, která hostujete, protože ceny služby Azure NetApp Files jsou založené na rezervované kapacitě. Pokud chcete optimalizovat náklady, zarezervujte si minimální kapacitu, kterou potřebujete pro svá data.
- Procento zápisu Zvažte, kolik nových dat zapisujete na svůj web, a náklady na jejich uložení. U nasazení ve více oblastech odpovídá množství nových dat, která na svůj web zapíšete, s množstvím dat zrcadlených napříč vašimi oblastmi.
- Statický a dynamický obsah Monitorujte výkon a kapacitu úložiště databáze a zjistěte, jestli levnější skladová položka může podporovat vaši lokalitu. Databáze ukládá dynamický obsah a síť pro doručování obsahu ukládá statický obsah do mezipaměti.
- Optimalizace clusteru AKS Pokud chcete optimalizovat náklady na cluster AKS, postupujte podle obecných tipů pro AKS, například pokyny k velikosti virtuálních počítačů a rezervacím Azure. Další informace najdete v tématu Optimalizace nákladů AKS.
Efektivita výkonu
Efektivita výkonu je schopnost úlohy škálovat se tak, aby efektivním způsobem splňovala požadavky, které na ni kladou uživatelé. Další informace najdete v tématu Přehled pilíře efektivity výkonu.
Tento scénář používá pody v AKS k hostování front-endu. Díky funkci automatického škálování se počet podů, na kterých běží front-endová aplikační vrstva, může automaticky škálovat v reakci na poptávku zákazníků. Můžou se také škálovat na základě definovaného plánu. Další informace najdete v tématu Možnosti škálování pro aplikace ve službě Azure Kubernetes Service (AKS).
Důležité
Pro zajištění nejlepšího výkonu je nezbytné připojit trvalý svazek, který používá protokol NFS verze 4.1. Následující příklad YAML ukazuje, jak pro tento účel nakonfigurovat PersistentVolume
objekt. Poznamenejte si hodnotu mountOptions
pole.
kind: PersistentVolume
...
accessModes:
- ReadWriteMany
mountOptions:
- vers=4.1
nfs:
server: xx.xx.xx.xx
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autor:
- Vaclav Jirovský | Architekt cloudového řešení
Další přispěvatelé:
- Adrian Calinescu | Vedoucí architekt cloudových řešení
Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
Dokumentace k produktu:
- Co je Azure Front Door?
- Co je Azure Web Application Firewall?
- Co je Azure NetApp Files
- Vytvoření svazku NFS pro službu Azure NetApp Files
- Konfigurace služby Azure NetApp Files pro službu Azure Kubernetes Service
- Flexibilní server Azure Database for MySQL
- Co je Azure Virtual Network?
- O Azure Key Vault
- Co je Azure Load Balancer?
- Co je Azure DDoS Protection?
Školicí moduly Microsoftu:
- Vývoj a nasazování aplikací v Kubernetes
- Seznámení se službou Azure NetApp Files
- Vyrovnávání zatížení provozu webové služby pomocí služby Azure Front Door
- Implementace služby Azure Key Vault
- Úvod do služby Azure Virtual Network