Bearbeiten

WordPress in App Service

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

In diesem Artikel wird eine Lösung für kleine bis mittlere WordPress-Installationen beschrieben. Die Lösung bietet die Skalierbarkeit, Zuverlässigkeit und Sicherheit der Azure-Plattform, ohne eine komplexe Konfiguration oder Verwaltung zu erfordern. Lösungen für größere oder speicherintensive Installationen finden Sie unter WordPress-Hostingoptionen in Azure.

Aufbau

Architekturdiagramm von WordPress in Azure App Service. Azure Front Door leitet Datenverkehr an Web-Apps weiter. Azure Database for MySQL speichert dynamische Inhalte.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Hinweis

Sie können diese Lösung erweitern, indem Sie Tipps und Empfehlungen umsetzen, die nicht spezifisch für eine bestimmte WordPress-Hostingmethode sind. Allgemeine Tipps zum Bereitstellen einer WordPress-Installation finden Sie unter WordPress in Azure.

Datenfluss

Dieses Szenario umfasst eine skalierbare WordPress-Installation, die in Azure App Service ausgeführt wird.

  • Benutzer*innen greifen über Azure Front Door auf die Front-End-Website zu, wobei Azure Web Application Firewall aktiviert ist.
  • Azure Front Door verteilt Anforderungen auf die App Service Web-Apps, in denen WordPress ausgeführt wird. Azure Front Door ruft alle Daten ab, die nicht von den WordPress-Web-Apps zwischengespeichert werden.
  • Die WordPress-Anwendung verwendet einen Dienstendpunkt, um auf eine flexible Serverinstanz von Azure Database for MySQL zuzugreifen. Die WordPress-Anwendung ruft dynamische Informationen aus der Datenbank ab.
  • Lokal redundante Hochverfügbarkeit ist für Azure Database for MySQL über einen Standbyserver in derselben Verfügbarkeitszone aktiviert.
  • Alle statischen Inhalte werden in Azure Blob Storage gehostet.

Komponenten

  • Die Vorlage WordPress in App Service ist eine verwaltete Lösung zum Hosten von WordPress in App Service. Neben App Service verwendet die Lösung auch die anderen Azure-Dienste, die in diesem Abschnitt beschrieben werden.
  • App Service stellt ein Framework zum Erstellen, Bereitstellen und Skalieren von Web-Apps zur Verfügung.
  • Azure Front Door ist ein modernes Cloud Content Delivery Network. Als verteiltes Servernetzwerk liefert Azure Front Door Webinhalte effizient an die Benutzer*innen. Content Delivery Networks minimieren die Wartezeit, indem zwischengespeicherter Inhalt auf Edgeservern an POP-Standorten (Point-of-Presence) in der Nähe von Endbenutzer*innen gespeichert wird.
  • Azure Content Delivery Network stellt Webinhalte effizient für Benutzer*innen bereit, indem Blobs an strategisch platzierten Standorten gespeichert werden. In dieser Lösung können Sie Microsoft Azure Content Delivery Network als Alternative zu Azure Front Door verwenden.
  • Azure Virtual Network bietet bereitgestellten Ressourcen eine Möglichkeit, sicher miteinander sowie mit dem Internet und mit lokalen Netzwerken zu kommunizieren. Virtuelle Netzwerke bieten Isolation und Segmentierung. Außerdem filtern und leiten sie den Datenverkehr und ermöglichen es, Verbindungen zwischen verschiedenen Standorten herzustellen. In dieser Lösung werden die beiden Netzwerke über das Peering virtueller Netzwerke verbunden.
  • Azure DDoS Protection bietet verbesserte DDoS-Entschärfungsfeatures. Wenn Sie diese Features mit bewährten Methoden für das Anwendungsdesign kombinieren, helfen sie bei der Abwehr von DDoS-Angriffen. Sie sollten DDoS Protection in allen virtuellen Umkreisnetzwerken aktivieren.
  • Netzwerksicherheitsgruppen enthalten eine Liste mit Sicherheitsregeln, um ein- oder ausgehenden Netzwerkdatenverkehr basierend auf IP-Adresse, Port und Protokoll (für die Quelle bzw. das Ziel) zuzulassen oder abzulehnen. In den Subnetzen dieses Szenarios beschränken Netzwerksicherheitsgruppenregeln den Datenverkehr zwischen den Anwendungskomponenten.
  • Azure Key Vault speichert Kennwörter, Zertifikate und Schlüssel und kontrolliert den Zugriffs darauf.
  • Azure Database for MySQL – flexibler Server stellt einen relationalen Datenbankdienst bereit, der auf der Open-Source-MySQL-Datenbank-Engine basiert. Die Bereitstellungsoption „flexibler Server“ ist ein vollständig verwalteter Datenbankdienst, der eine differenzierte Steuerung und Flexibilität in Bezug auf Datenbank-Verwaltungsfunktionen und -Konfigurationseinstellungen bietet. In diesem Szenario speichert Azure Database for MySQL die WordPress-Daten.
  • Azure Blob Storage stellt skalierbaren und sicheren Objektspeicher bereit. Blob Storage eignet sich gut für cloudnative Workloads, Archive, Data Lakes, High-Performance Computing und maschinelles Lernen.

Alternativen

  • Sie können Azure Cache for Redis verwenden, um einen Schlüssel-Wert-Cache für WordPress-Leistungsoptimierungs-Plug-Ins zu hosten. Der Cache kann für die App Service Web-Apps freigegeben werden.
  • Anstelle von Azure Front Door können Sie Content Delivery Network verwenden, um Webinhalte für Benutzer*innen bereitzustellen.

Szenariodetails

Dieses Beispielszenario eignet sich für kleine bis mittlere WordPress-Installationen.

Mögliche Anwendungsfälle

  • Medienereignisse, die einen Anstieg des Datenverkehrsaufkommens verursachen
  • Blogs, die WordPress als Content-Management-System nutzen
  • Unternehmens- oder E-Commerce-Websites, die WordPress verwenden
  • Websites, die mit anderen Content-Management-Systemen erstellt werden

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

Berücksichtigen Sie die folgenden Empfehlungen, wenn Sie diese Lösung bereitstellen:

  • App Service bietet integrierten Lastenausgleich und integrierte Integritätsprüfungen. Mit diesen Features können Sie die Verfügbarkeit aufrechterhalten, wenn eine App Service-Web-App ausfällt.
  • Die Verwendung eines Content Delivery Network zum Zwischenspeichern aller Antworten bietet einen kleinen Vorteil bei der Verfügbarkeit. Insbesondere wenn der Ursprung nicht antwortet, können Sie immer noch auf Inhalte zugreifen. Das Zwischenspeichern stellt jedoch keine vollständige Verfügbarkeitslösung dar.
  • Sie können Blob Storage in eine gepaarte Region replizieren, um Datenredundanz über mehrere Regionen hinweg zu erreichen. Weitere Informationen finden Sie unter Azure Storage-Redundanz.
  • Um die Verfügbarkeit von Azure Database for MySQL zu erhöhen, ermöglichen Sie Hochverfügbarkeit in derselben Zone. Dieses Feature erstellt einen Standbyserver in derselben Verfügbarkeitszone, in der sich der primäre Server befindet. Sie müssen die Computeebene „Universell“ oder „Unternehmenskritisch“ verwenden, um Hochverfügbarkeit in derselben Zone zu ermöglichen. Weitere Informationen finden Sie unter den Hochverfügbarkeitsoptionen, die für Ihre Anforderungen gelten.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Berücksichtigen Sie die folgenden Empfehlungen, wenn Sie diese Lösung bereitstellen:

  • Verwenden Sie Azure Web Application Firewall in Azure Front Door, um den Datenverkehr virtueller Netzwerke zu schützen, der in die Front-End-Anwendungsebene fließt. Weitere Informationen finden Sie unter Azure Web Application Firewall in Azure Front Door.
  • Lassen Sie nicht zu, dass ausgehender Internetdatenverkehr von der Datenbankebene fließt.
  • Lassen Sie keinen öffentlichen Zugriff auf privaten Speicher zu.

Weitere Informationen zur WordPress-Sicherheit finden Sie in den Allgemeinen Sicherheits- und Leistungstipps für WordPress und in der Azure-Sicherheitsdokumentation.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Machen Sie sich mit den folgenden Kostenüberlegungen vertraut, wenn Sie diese Lösung bereitstellen:

  • Datenverkehrserwartungen (GB/Monat). Ihr Datenverkehrsvolumen hat die größten Auswirkungen auf Ihre Kosten. Die Menge an Datenverkehr, die Sie erhalten, bestimmt die Anzahl der benötigten App Service-Instanzen und den Preis für die ausgehende Datenübertragung. Das Datenverkehrsvolumen korreliert auch direkt mit der Datenmenge, die von Ihrem Content Delivery Network bereitgestellt wird, wobei die Kosten für die ausgehende Datenübertragung günstiger sind.
  • Menge gehosteter Daten. Es ist wichtig, die Datenmenge zu berücksichtigen, die Sie in Blob Storage hosten. Die Speicherpreise basieren auf der verbrauchten Kapazität.
  • Prozentsatz an Schreibvorgängen. Überlegen Sie, wie viele neue Daten Sie auf Ihre Website schreiben und in Azure Storage hosten. Bestimmen Sie, ob die neuen Daten benötigt werden. Bei Bereitstellungen in mehreren Regionen korreliert die Menge neuer Daten, die Sie auf Ihre Website schreiben, mit der Datenmenge, die in Ihren Regionen gespiegelt wird.
  • Statische und dynamische Inhalte im Vergleich. Überwachen Sie die Leistung und Kapazität Ihres Datenbankspeichers, um festzustellen, ob eine günstigere SKU Ihre Website unterstützen kann. In der Datenbank werden dynamische Inhalte gespeichert, und das Content Delivery Network speichert statische Inhalte zwischen.
  • App Service-Optimierung. Allgemeine Tipps zum Optimieren der App Service-Kosten finden Sie unter Azure App Service und Kostenoptimierung.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

In diesem Szenario wird das WordPress-Front-End in App Service gehostet. Sie sollten die Autoskalierungsfunktion aktivieren, um die Anzahl der App Service-Instanzen automatisch zu skalieren. Durch Festlegen eines Triggers für die Autoskalierung können Sie auf Kundenanforderungen reagieren. Sie können auch einen Trigger festlegen, der auf einem definierten Zeitplan basiert. Weitere Informationen finden Sie unter Erste Schritte mit der Autoskalierung in Azure und dem Azure Well-Architected Framework-Artikel zu Prinzipien für effiziente Leistung.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Andere Mitwirkende:

  • Adrian Calinescu | Senior Cloud Solution Architect

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte

Produktdokumentation:

Microsoft-Trainingsmodule: