Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird eine Architektur für kleine bis mittelgroße WordPress-Installationen auf Azure beschrieben. Die Architektur verwendet Azure App Service, um WordPress zu hosten und verwaltete Azure Dienste für die Datenbank-, Netzwerk- und Inhaltsübermittlungsebenen zu hosten. Größere oder speicherintensive Installationen finden Sie unter WordPress-Hostingoptionen auf Azure.
Aufbau
Laden Sie eine Visio-Datei dieser Architektur herunter.
Hinweis
Sie können diese Lösung erweitern, indem Sie Tipps und Empfehlungen implementieren, die für keine WordPress-Hostingmethode spezifisch sind. Weitere Informationen zum Bereitstellen einer WordPress-Installation finden Sie unter WordPress auf Azure.
Datenfluss
In diesem Szenario wird eine skalierbare Installation von WordPress behandelt, die auf App Service ausgeführt wird.
Der folgende Datenfluss entspricht dem vorherigen Diagramm:
Der folgende Datenfluss entspricht dem vorherigen Diagramm:
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 über die App Service-Web-Apps, die WordPress ausführen. Wenn der angeforderte Inhalt nicht zwischengespeichert wird, ruft Azure Front Door ihn aus den Web-Apps ab.
Die WordPress-Anwendung stellt eine Verbindung mit Azure Database for MySQL flexiblen Server über einen privaten Endpunkt her und ruft dynamische Inhalte aus der Datenbank ab.
Azure Database for MySQL unterstützt hohe Verfügbarkeit über einen Standbyserver.
Alle statischen Inhalte werden in Azure Blob Storage gehostet.
Komponenten
App Service ist eine Plattform als Dienst (PaaS) zum Erstellen, Bereitstellen und Skalieren von Web-Apps. In dieser Architektur hosten App Service die WordPress-Anwendung.
Azure Database for MySQL flexible Server ist ein verwalteter relationaler Datenbankdienst, der auf dem Open-Source-MySQL-Datenbankmodul basiert. In dieser Architektur speichert sie WordPress-Daten.
Azure DDoS Protection ist ein Netzwerksicherheitsdienst, der erweiterte DDoS-Entschärfungsfunktionen (Distributed Denial-of-Service) bereitstellt. In dieser Architektur hilft DDoS Protection dabei, die öffentliche IP-Adresse vor DDoS-Angriffen zu schützen.
Azure Front Door ist ein Netzwerk für die Inhaltsübermittlung und ein globaler Lastenausgleich. In dieser Architektur dient Azure Front Door als Einstiegspunkt für Webbenutzer.
Azure Virtual Network ist ein Netzwerkdienst, der es Azure Ressourcen ermöglicht, miteinander, dem Internet und lokalen Netzwerken zu kommunizieren, während Segmentierung und Isolation bereitgestellt werden. In dieser Architektur sind App Service- und Back-End-Komponenten nur über private Verbindungen im virtuellen Netzwerk erreichbar.
Blob Storage ist ein Objektspeicherdienst, der für große Mengen unstrukturierter Daten optimiert ist. In dieser Architektur hoste Blob Storage alle statischen Inhalte für die WordPress-Anwendung.
Netzwerksicherheitsgruppen (Network Security Groups, NSGs) verwenden Sicherheitsregeln, um Netzwerkdatenverkehr nach Quell- oder Ziel-IP-Adresse, Port und Protokoll zuzulassen oder zu verweigern. In dieser Architektur beschränken NSG-Regeln den Datenverkehrsfluss zwischen Subnetzen.
Die Vorlage "WordPress on App Service " ist eine Vorlage für verwaltete Lösungen zum Hosten von WordPress in App Service. In dieser Architektur stellt die Vorlage eine vorkonfigurierte WordPress-Bereitstellung bereit, die App Service und die anderen in diesem Abschnitt beschriebenen Azure-Dienste enthält.
Alternativen
Verwenden Sie Azure Managed Redis, um einen Key-Value-Cache für WordPress-Plug-Ins zur Leistungsoptimierung zu hosten. Der Cache kann für App Service-Web-Apps freigegeben werden.
Details zum Szenario
Dieses Beispielszenario gilt für kleine bis mittelgroße 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 bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Well-Architected Framework.
Zuverlässigkeit
Zuverlässigkeit trägt dazu bei, dass Ihre Anwendung die Verpflichtungen erfüllen kann, die Sie für Ihre Kunden vornehmen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Zuverlässigkeit.
Berücksichtigen Sie die folgenden Empfehlungen, wenn Sie diese Lösung bereitstellen:
Konfigurieren Sie automatierte Sicherungen für Azure Database for MySQL. Definieren Sie einen Aufbewahrungszeitraum, der ihren Zielen für den Wiederherstellungspunkt (RPOs) entspricht. Testen Sie den Wiederherstellungsprozess regelmäßig, um die Zuverlässigkeit der Sicherung zu überprüfen.
App Service bietet integrierten Lastenausgleich und Sicherheitsüberprüfungen. Mit diesen Features können Sie die Verfügbarkeit aufrechterhalten, wenn eine App Service-Web-App ausfällt.
Azure Front Door können zwischengespeicherte Antworten bereitstellen, wenn der Ursprung vorübergehend nicht verfügbar ist. Diese Funktion schränkt den Verfügbarkeitsverlust ein, ersetzt aber keine vollständige Verfügbarkeitslösung.
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 Azure Database for MySQL Verfügbarkeit zu erhöhen, aktivieren Sie hohe Verfügbarkeit. Die hohe Verfügbarkeit derselben Zone erstellt einen Standbyserver in derselben Verfügbarkeitszone wie der primäre Server. Verwenden Sie für eine stärkere Fehlerisolation zonenredundante Hohe Verfügbarkeit, die den Standbyserver in einer anderen Verfügbarkeitszone platziert. Verwenden Sie die Computeebene "Allgemein" oder "Geschäftskritisch", um hohe Verfügbarkeit zu ermöglichen. Weitere Informationen finden Sie unter den Optionen für hohe Verfügbarkeit , die Ihren Anforderungen entsprechen.
Sicherheit
Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Sicherheit.
Berücksichtigen Sie die folgenden Empfehlungen, wenn Sie diese Lösung bereitstellen:
Verwenden Sie Azure Web Application Firewall auf Azure Front Door, um virtuellen Netzwerkdatenverkehr zu schützen, der in die Front-End-Anwendungsebene fließt. Weitere Informationen finden Sie unter Azure Web Application Firewall in Azure Front Door.
Verwenden Sie private Endpunkte für alle Back-End-Dienste, einschließlich Azure Database for MySQL und Blob Storage. Private Endpunkte halten den Datenverkehr im virtuellen Netzwerk und verhindern die Exposition zum öffentlichen Internet. Weitere Informationen finden Sie unter Azure Private Link.
Blockieren des ausgehenden Internetdatenverkehrs von der Datenbankebene.
Blockieren des öffentlichen Zugriffs auf den privaten Speicher.
Halten Sie WordPress Core, Designs und Plug-Ins auf dem neuesten Stand, um bekannte Sicherheitsrisiken zu beheben. Entfernen Sie Plugins und Themes, die Sie nicht mehr benötigen.
Beschränken Sie den Zugriff auf das WordPress Admin Panel (
/wp-admin), indem Sie Azure Web Application Firewall benutzerdefinierte Regeln erstellen auf Azure Front Door. Verwenden Sie dieRequestUri-Übereinstimmungsbedingung, um/wp-adminPfade abzugleichen, kombiniert mit einer IP-Adressbedingung, um den Zugriff nur aus bekannten IP-Adressbereichen zuzulassen. App-Dienst-Zugriffsbeschränkungen gelten für die gesamte Website, nicht für einzelne URL-Pfade, sodass sie nicht pfadspezifischen Steuerelementen entsprechen.
Weitere Informationen zur WordPress-Sicherheit finden Sie in den Allgemeinen Sicherheits- und Leistungstipps für WordPress und in der Azure-Sicherheitsdokumentation.
Kostenoptimierung
Die Kostenoptimierung konzentriert sich auf Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.
Machen Sie sich mit den folgenden Kostenüberlegungen vertraut, wenn Sie diese Lösung bereitstellen:
Datenverkehrserwartungen in GB pro Monat: Ihr Datenverkehrsvolumen wirkt sich am meisten auf Ihre Kosten aus. Der empfangene Datenverkehr bestimmt die Anzahl der benötigten App-Dienstinstanzen und den Preis für die ausgehende Datenübertragung. Die Bereitstellung von Inhalten über Azure Front Door kann die Kosten für ausgehende Datenübertragungen reduzieren.
Hosted data: Berücksichtigen Sie die Daten, die Sie in Blob Storage hosten. Die Speicherpreise hängen von der verwendeten Kapazität ab.
Prozentwert schreiben: Überlegen Sie, wie viel neue Daten Sie auf Ihre Website schreiben und in Storage hosten. Bestimmen Sie, ob Sie neue Daten benötigen. Bei Multiregion-Bereitstellungen korreliert die neuen Daten, die Sie in Ihre Website schreiben, mit den Daten, die in Ihren Regionen repliziert werden.
Statischer und dynamischer Inhalt: Überwachen Sie die Leistung und Kapazität ihrer Datenbankspeicher, um zu ermitteln, ob eine kostengünstige SKU Ihre Website unterstützt. In der Datenbank werden dynamische Inhalte gespeichert, und Azure Front Door statische Inhalte zwischenspeichert.
Optimierung des App-Diensts: Weitere Informationen zum Optimieren der App-Dienstkosten finden Sie unter Kostenoptimierung.
Betriebliche Effizienz
Operational Excellence deckt die Betriebsprozesse ab, mit denen eine Anwendung bereitgestellt und in der Produktion ausgeführt wird. Weitere Informationen finden Sie in der Checkliste zur Designüberprüfung für operationale Exzellenz.
Berücksichtigen Sie die folgenden Empfehlungen, wenn Sie diese Lösung bereitstellen:
Ermöglichen Sie Application Insights , um die Anwendungsleistung, Verfügbarkeit und Nutzungsmuster zu überwachen. Verwenden Sie die Überwachungsdaten, um Probleme zu identifizieren und zu beheben, bevor sie sich auf Benutzer auswirken.
Verwenden Sie Bereitstellungsplätze im App Service, um WordPress-Kernupgrades bereitzustellen. Stellen Sie die neue Version auf einem Stagingplatz bereit, und überprüfen Sie die Design- und Plug-In-Kompatibilität, bevor Sie in die Produktion wechseln. Sichern Sie die Azure Database for MySQL Instanz vor dem Tausch, da WordPress automatisch Schemamigrationen für die freigegebene Datenbank anwendet, wenn sich ein Administrator nach einem Upgrade anmeldet.
Automatisieren Sie Ihre Infrastrukturbereitstellungen mithilfe von Bicep oder Terraform. Die Infrastruktur als Code (IaC) hilft Ihnen dabei, die Konsistenz in umgebungenübergreifend aufrechtzuerhalten und Umgebungen zuverlässig neu zu erstellen.
Richten Sie Azure Monitor Warnungen für wichtige Metriken ein, z. B. Cpu-Auslastung des App-Diensts, Datenbankverbindungsanzahl und Antwortzeiten. Verwenden Sie Warnungen, um auf betriebstechnische Probleme zu reagieren, bevor sie sich auf Benutzer auswirken.
Leistungseffizienz
Leistungseffizienz bezieht sich auf die Fähigkeit Ihrer Arbeitslast, effizient auf die Anforderungen der Benutzer zu skalieren. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Leistungseffizienz.
Berücksichtigen Sie die folgenden Empfehlungen, wenn Sie diese Lösung bereitstellen:
Aktivieren Sie das Feature "AutoScale" in App Service, um die Anzahl der Instanzen automatisch zu skalieren. Sie können einen AutoScale-Trigger festlegen, um auf Kundenanfragen oder basierend auf einem Zeitplan zu reagieren. Weitere Informationen finden Sie unter "Erste Schritte mit autoscale" in Azure.
Verwenden Sie Azure Managed Redis, um Hypertext Preprocessor (PHP)-Sitzungsdaten und häufig verwendete WordPress-Objekte zwischenzuspeichern. Laden Sie diese Elemente aus der Datenbank aus, um die Ladezeiten der Abfrage zu reduzieren und die Seitenladezeiten zu verbessern.
Konfigurieren Sie Azure Front Door Cache-Regeln, um statische Inhalte von Edge-Standorten bereitzustellen. Zwischenspeichern Sie am Rand, um die Latenz für Benutzer zu verringern, die geografisch von der App-Dienstregion entfernt sind.
Verwenden Sie die neueste unterstützte PHP-Version in App Service für Leistungs- und Sicherheitsverbesserungen. Vergewissern Sie sich, dass Ihre WordPress-Version und Plug-Ins vor dem Upgrade kompatibel sind.
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautor:
- Václav Jirovsky | Architekt für Cloud-Lösungen
Andere Mitwirkende:
- Adrian Calinescu | Senior Cloud Solution Architect
- Andrew Cardy | Senior Software Engineer
Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.
Nächste Schritte
Produktdokumentation:
- Was ist Azure Front Door?
- Was ist Azure Web Application Firewall?
- Was ist Blob Storage?
- Azure Database for MySQL Flexible Server
- Was ist virtuelles Netzwerk?
- Informationen zu Azure Key Vault
- Schnellstart: Erstellen einer WordPress-Website
- Was ist DDoS Protection?
Microsoft-Trainingsmodule: