Sdílet prostřednictvím


WordPress ve službě Azure Kubernetes Service

Azure Spravovaný Redis
Azure Front Door
Azure Kubernetes Service (AKS)
Azure Load Balancer
Azure NetApp Files

Tento článek popisuje řešení kontejnerů, které hostuje rozsáhlou instalaci 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

Diagram architektury nasazení AKS WordPress Azure NetApp Files ukládá statický obsah. Privátní koncové body poskytují přístup k jiným službám.

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é platí pro jakoukoli metodu hostování WordPressu. Obecné tipy k nasazení instalace WordPressu najdete v tématu WordPress v Azure.

Tok dat

Následující tok dat odpovídá předchozímu diagramu:

  1. Uživatelé přistupují k front-endu prostřednictvím služby Azure Front Door s povoleným firewallem webových aplikací Azure.

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

  3. Interní nástroj pro vyrovnávání zatížení distribuuje příchozí provoz do podů v rámci AKS.

  4. Azure Key Vault ukládá tajné kódy, včetně privátního klíče, což je certifikát X.509.

  5. Aplikace WordPress používá privátní koncový bod pro přístup k instanci flexibilního serveru Azure Database for MySQL. Aplikace WordPress načítá dynamické informace z této spravované databázové služby.

  6. 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 (Network File System).

Komponenty

  • AKS je spravovaná služba Kubernetes, kterou můžete použít k nasazení, správě a škálování kontejnerizovaných aplikací. V této architektuře AKS hostuje kontejnery WordPress a poskytuje platformu orchestrace, která spouští kontejnerizovanou aplikaci WordPress, aby zajistila vysokou dostupnost a škálovatelnost.

  • Azure Cache for Redis je spravované úložiště dat v paměti a služba ukládání do mezipaměti. V této architektuře azure Cache for Redis hostuje mezipaměť klíč-hodnota, kterou sdílejí všechny pody. Moduly plug-in optimalizace výkonu WordPressu využívají mezipaměť ke zlepšení doby odezvy.

  • Flexibilní server Azure Database for MySQL je spravovaná relační databázová služba založená na opensourcovém databázovém stroji MySQL. V této architektuře tato databáze ukládá data WordPressu.

  • Azure DDoS Protection je služba zabezpečení sítě, která poskytuje vylepšené funkce pro zmírnění rizik útoku DDoS (Distributed Denial-of-Service). V této architektuře pomáhá DDoS Protection bránit před útoky DDoS v kombinaci s osvědčenými postupy návrhu aplikací a povolenými v hraniční síti.

  • Azure Front Door je moderní cloudová síť pro doručování obsahu a globální nástroj pro vyrovnávání zatížení. V této architektuře je Azure Front Door veřejným vstupním bodem pro nasazení WordPressu.

  • Azure NetApp Files je spravované řešení úložiště náročné na výkon a latenci. V této architektuře azure NetApp Files hostuje obsah WordPressu, aby všechny pody měly přístup ke sdíleným datům prostřednictvím vysoce výkonného úložiště souborů.

  • Azure Virtual Network je síťová služba, která umožňuje nasazeným prostředkům vzájemně komunikovat, internetem a místními sítěmi. V této architektuře virtuální sítě poskytují izolaci a segmentaci.

  • Key Vault je cloudová služba, která ukládá a řídí přístup k tajným kódům, certifikátům, klíčům a heslům. V této architektuře poskytuje Key Vault tajné kódy clusteru AKS, pokud je pody potřebují.

  • Load Balancer je nástroj pro vyrovnávání zatížení vrstvy 4, který distribuuje příchozí provoz na základě pravidel a výsledků sondy stavu. V této architektuře nástroj pro vyrovnávání zatížení distribuuje provoz z Azure Front Dooru do podů kontroleru příchozího přenosu dat s nízkou latencí a vysokou propustností.

  • Skupiny zabezpečení sítě (NSG) jsou funkce zabezpečení, které používají pravidla 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 této architektuře pravidla NSG omezují tok provozu mezi komponentami aplikace v podsítích.

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 naleznete v tématu Použití Rook Ceph v AKS.

  • Místo použití AKS můžete pomocí Azure Container Apps hostovat kontejnerizované úlohy WordPressu. Container Apps je spravovaná bezserverová služba kontejneru, která vyhovuje jednodušším nebo menším scénářům. Pro velká, náročná úložiště a vysoce přizpůsobitelná nasazení použijte AKS.

Podrobnosti scénáře

Tento ukázkový scénář je nejvhodnější pro velké 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é můžete použít ke zlepšení kvality úlohy. Další informace najdete v tématu Well-Architected Framework.

Spolehlivost

Spolehlivost pomáhá zajistit, aby vaše aplikace splňovala závazky, které jste pro své zákazníky udělali. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro spolehlivost.

Při nasazení tohoto řešení zvažte následující doporučení:

  • K distribuci provozu příchozího přenosu dat použijte pody v AKS a nástroj pro vyrovnávání zatížení. Tento přístup poskytuje vysokou dostupnost i v případě, že dojde k selhání podu.

  • Umístěte všechny síťové komponenty za Azure Front Door. Díky tomuto přístupu jsou síťové prostředky a aplikace odolné vůči problémům, které by jinak mohly narušit provoz a ovlivnit přístup uživatelů.

  • Pomocí služby Azure Front Door můžete ukládat všechny odpovědi do mezipaměti, abyste získali 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.

  • Replikace úložiště Azure NetApp Files mezi spárovanými oblastmi za účelem zvýšení dostupnosti Další informace najdete v tématu Vysvětlení replikace služby Azure NetApp Files.

  • Postupujte podle možností vysoké dostupnosti , které splňují vaše požadavky na zvýšení dostupnosti Služby Azure Database for MySQL.

  • Řešení podporuje více oblastí, replikaci dat a automatické škálování. Komponenty distribuují provoz do podů. Sondy stavu zajišťují, že provoz přijímají jenom pody, které jsou v pořádku.

  • Azure Front Door je globální služba, která podporuje škálovací sady virtuálních počítačů nasazené v jiné oblasti.

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 kontrolním seznamu pro kontrolu návrhu 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 Firewall webových aplikací 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 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 zaměřuje na způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro optimalizaci 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 má největší vliv na vaše náklady. Objem přijímaného provozu určuje požadovaný počet uzlů AKS a cenu odchozího přenosu dat. Objem přenosů také přímo koreluje s objemem dat, která vaše síť pro doručování obsahu poskytuje, kde jsou náklady na odchozí přenos dat levnější.

  • Množství hostovaných dat: Vezměte v úvahu 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 potřebnou pro vaše 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ího počítače a rezervacím Azure. Další informace najdete v tématu Optimalizace nákladů AKS.

Efektivita výkonu

Efektivita výkonu odkazuje na schopnost vaší úlohy efektivně škálovat tak, aby splňovala požadavky uživatelů. Další informace najdete v kontrolním seznamu pro kontrolu návrhu týkajícího se efektivity výkonu.

Tento scénář používá pody v AKS k hostování front-endu. Funkce automatického škálování umožňuje, aby se počet podů, na kterých běží front-endová aplikační vrstva, automaticky škáloval 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 v AKS.

Důležité

Pro zajištění nejlepšího výkonu připojte 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é

Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.

Hlavní autor:

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:

Školicí moduly Microsoftu: