WordPress på App Service

Azure Front Door
Azure Load Balancer
Azure Virtual Network
Azure App Service
Azure Database for MySQL

I den här artikeln beskrivs en lösning för små till medelstora WordPress-installationer. Lösningen ger skalbarhet, tillförlitlighet och säkerhet för Azure-plattformen utan att behöva komplexa konfigurationer eller hantering. Lösningar för större eller lagringsintensiva installationer finns i WordPress-värdalternativ i Azure.

Arkitektur

Arkitekturdiagram över WordPress i Azure App Service. Azure Front Door dirigerar trafik till webbappar. Azure Database for MySQL lagrar dynamiskt innehåll.

Ladda ned en Visio-fil med den här arkitekturen.

Kommentar

Du kan utöka den här lösningen genom att implementera tips och rekommendationer som inte är specifika för någon viss WordPress-värdmetod. Allmänna tips om hur du distribuerar en WordPress-installation finns i WordPress på Azure.

Dataflöde

Det här scenariot omfattar en skalbar installation av WordPress som körs på Azure App Service.

  • Användare får åtkomst till klientsidans webbplats via Azure Front Door med Azure Web Application Firewall aktiverat.
  • Azure Front Door distribuerar begäranden mellan App Service-webbappar som WordPress körs på. Azure Front Door hämtar alla data som inte cachelagras från WordPress-webbapparna.
  • WordPress-programmet använder en tjänstslutpunkt för att få åtkomst till en flexibel serverinstans av Azure Database for MySQL. WordPress-programmet hämtar dynamisk information från databasen.
  • Lokalt redundant hög tillgänglighet är aktiverat för Azure Database for MySQL via en väntelägesserver i samma tillgänglighetszon.
  • Allt statiskt innehåll finns i Azure Blob Storage.

Komponenter

  • Mallen WordPress på App Service är en hanterad lösning för att vara värd för WordPress i App Service. Förutom App Service använder lösningen även de andra Azure-tjänster som beskrivs i det här avsnittet.
  • App Service tillhandahåller ett ramverk för att skapa, distribuera och skala webbappar.
  • Azure Front Door är ett modernt nätverk för innehållsleverans i molnet. Som ett distribuerat nätverk av servrar levererar Azure Front Door effektivt webbinnehåll till användare. Nätverk för innehållsleverans minimerar svarstiden genom att lagra cachelagrat innehåll på gränsservrar på plats nära slutanvändare.
  • Azure Content Delivery Network levererar effektivt webbinnehåll till användare genom att lagra blobar på strategiskt placerade platser. I den här lösningen kan du använda Content Delivery Network som ett alternativ till Azure Front Door.
  • Azure Virtual Network är ett sätt för distribuerade resurser att kommunicera med varandra, Internet och lokala nätverk. Virtuella nätverk ger isolering och segmentering. De filtrerar och dirigerar även trafik och gör det möjligt att upprätta anslutningar mellan olika platser. I den här lösningen är de två nätverken anslutna via peering för virtuella nätverk.
  • Azure DDoS Protection innehåller förbättrade DDoS-åtgärdsfunktioner. När du kombinerar dessa funktioner med metodtips för programdesign hjälper de till att skydda mot DDoS-attacker. Du bör aktivera DDoS Protection i virtuella perimeternätverk.
  • Nätverkssäkerhetsgrupper använder en lista över säkerhetsregler för att tillåta eller neka inkommande eller utgående nätverkstrafik baserat på källans eller målets IP-adress, port och protokoll. I det här scenariots undernät begränsar reglerna för nätverkssäkerhetsgrupp trafikflödet mellan programkomponenterna.
  • Azure Key Vault lagrar och styr åtkomsten till lösenord, certifikat och nycklar.
  • Azure Database for MySQL – flexibel server är en relationsdatabastjänst som baseras på MySQL-databasmotorn med öppen källkod. Alternativet för flexibel serverdistribution är en fullständigt hanterad tjänst som ger detaljerad kontroll och flexibilitet över databashanteringsfunktioner och konfigurationsinställningar. I det här scenariot lagrar Azure Database for MySQL WordPress-data.
  • Blob Storage ger skalbar, optimerad objektlagring. Blob Storage passar bra för molnbaserade arbetsbelastningar, arkiv, datasjöar, databehandling med höga prestanda och maskininlärning.

Alternativ

  • Du kan använda Azure Cache for Redis som värd för ett plugin-program för nyckel/värde-cache för WordPress-prestandaoptimering. Cacheminnet kan delas mellan App Service-webbappar.
  • I stället för Azure Front Door kan du använda Content Delivery Network för att leverera webbinnehåll till användare.

Information om scenario

Det här exempelscenariot är lämpligt för små till medelstora installationer av WordPress.

Potentiella användningsfall

  • Mediehändelser som orsakar trafiktoppar
  • Bloggar som använder WordPress som sitt system för innehållshantering
  • Företags- eller e-handelswebbplatser som använder WordPress
  • Webbplatser som skapas med hjälp av andra innehållshanteringssystem

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Tillförlitlighet

Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i Översikt över tillförlitlighetspelare.

Tänk på följande rekommendationer när du distribuerar den här lösningen:

  • App Service tillhandahåller inbyggd belastningsutjämning och hälsokontroller. De här funktionerna hjälper dig att upprätthålla tillgängligheten när en App Service-webbapp misslyckas.
  • När du använder ett nätverk för innehållsleverans för att cachelagrar alla svar får du en liten tillgänglighetsförmån. Mer specifikt, när ursprunget inte svarar, kan du fortfarande komma åt innehåll. Men cachelagring ger ingen fullständig tillgänglighetslösning.
  • Du kan replikera Blob Storage till en länkad region för dataredundans i flera regioner. Läs mer i Redundansalternativ för Azure Storage.
  • Om du vill öka Tillgängligheten för Azure Database for MySQL aktiverar du hög tillgänglighet i samma zon. Den här funktionen skapar en väntelägesserver i samma tillgänglighetszon som den primära servern. Du måste använda beräkningsnivån Generell användning eller Affärskritisk för att aktivera hög tillgänglighet i samma zon. Mer information finns i de alternativ för hög tillgänglighet som gäller för dina behov.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Tänk på följande rekommendationer när du distribuerar den här lösningen:

  • Använd Azure Web Application Firewall på Azure Front Door för att skydda den virtuella nätverkstrafik som flödar till klientdelsapplikationsnivån. Mer information finns i Azure Web Application Firewall på Azure Front Door.
  • Tillåt inte att utgående Internettrafik flödar från databasnivån.
  • Tillåt inte offentlig åtkomst till privat lagring.

Mer information om WordPress-säkerhet finns i Allmänna säkerhets- och prestandatips för WordPress och Dokumentation om Azure-säkerhet.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Granska följande kostnadsöverväganden när du distribuerar den här lösningen:

  • Trafikförväntningar (GB/månad). Din trafikvolym är den faktor som har störst effekt på din kostnad. Mängden trafik som du får avgör antalet App Service-instanser som du behöver och priset för utgående dataöverföring. Trafikvolymen korrelerar också direkt med mängden data som tillhandahålls av ditt nätverk för innehållsleverans, där kostnaderna för utgående dataöverföring är billigare.
  • Mängden värdbaserade data. Det är viktigt att tänka på mängden data som du är värd för i Blob Storage. Lagringspriser baseras på använd kapacitet.
  • Skrivprocent. Fundera på hur mycket nya data du skriver till din webbplats och värd i Azure Storage. Avgör om de nya data behövs. För distributioner i flera regioner korrelerar mängden nya data som du skriver till din webbplats med mängden data som speglas i dina regioner.
  • Statiskt kontra dynamiskt innehåll. Övervaka databasens lagringsprestanda och kapacitet för att avgöra om en billigare SKU kan stödja din webbplats. Databasen lagrar dynamiskt innehåll och nätverket för innehållsleverans cachelagrar statiskt innehåll.
  • App Service-optimering. Allmänna tips för att optimera App Service-kostnader finns i Azure App Service och kostnadsoptimering.

Prestandaeffektivitet

Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Mer information finns i Översikt över grundpelare för prestandaeffektivitet.

Det här scenariot är värd för WordPress-klientdelen i App Service. Du bör aktivera funktionen autoskalning för att automatiskt skala antalet App Service-instanser. Du kan ange en autoskalningsutlösare för att svara på kundernas efterfrågan. Du kan också ange en utlösare som baseras på ett definierat schema. Mer information finns i Kom igång med autoskalning i Azure och azure well-architected Framework-artikeln Principer för prestandaeffektivitet.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Övriga medarbetare:

  • Adrian Calinescu | Senior Cloud Solution Architect

Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.

Nästa steg

Produktdokumentation:

Microsofts utbildningsmoduler: