WordPress w usłudze App Service
W tym artykule opisano rozwiązanie dla małych i średnich instalacji WordPress. Rozwiązanie zapewnia skalowalność, niezawodność i bezpieczeństwo platformy Azure bez konieczności złożonej konfiguracji lub zarządzania. Aby uzyskać rozwiązania dla większych lub intensywnie korzystających z magazynu instalacji, zobacz WordPress hosting options on Azure (Opcje hostingu WordPress na platformie Azure).
Architektura
Pobierz plik programu Visio z tą architekturą.
Uwaga
To rozwiązanie można rozszerzyć, implementując porady i zalecenia, które nie są specyficzne dla żadnej konkretnej metody hostingu WordPress. Aby uzyskać ogólne porady dotyczące wdrażania instalacji platformy WordPress, zobacz WordPress na platformie Azure.
Przepływ danych
Ten scenariusz obejmuje skalowalną instalację platformy WordPress działającą w usłudze aplikacja systemu Azure Service.
- Użytkownicy uzyskują dostęp do witryny internetowej frontonu za pośrednictwem usługi Azure Front Door z włączoną zaporą aplikacji internetowej platformy Azure.
- Usługa Azure Front Door dystrybuuje żądania w aplikacjach internetowych usługi App Service uruchamianych przez platformę WordPress. Usługa Azure Front Door pobiera wszystkie dane, które nie są buforowane z aplikacji internetowych WordPress.
- Aplikacja WordPress używa punktu końcowego usługi do uzyskiwania dostępu do wystąpienia serwera elastycznego usługi Azure Database for MySQL. Aplikacja WordPress pobiera informacje dynamiczne z bazy danych.
- Lokalnie nadmiarowa wysoka dostępność jest włączona dla usługi Azure Database for MySQL za pośrednictwem serwera rezerwowego w tej samej strefie dostępności.
- Cała zawartość statyczna jest hostowana w usłudze Azure Blob Storage.
Składniki
- Szablon WordPress on App Service to zarządzane rozwiązanie do hostowania platformy WordPress w usłudze App Service. Oprócz usługi App Service rozwiązanie korzysta również z innych usług platformy Azure opisanych w tej sekcji.
- Usługa App Service udostępnia platformę do tworzenia, wdrażania i skalowania aplikacji internetowych.
- Usługa Azure Front Door to nowoczesna sieć dostarczania zawartości w chmurze. Jako rozproszona sieć serwerów usługa Azure Front Door wydajnie dostarcza zawartość internetową użytkownikom. Sieci dostarczania zawartości minimalizują opóźnienie, przechowując buforowane zawartość na serwerach brzegowych w lokalizacjach punktów obecności w pobliżu użytkowników końcowych.
- Usługa Azure Content Delivery Network wydajnie dostarcza zawartość internetową użytkownikom, przechowując obiekty blob w strategicznie umieszczonych lokalizacjach. W tym rozwiązaniu możesz użyć usługi Content Delivery Network jako alternatywy dla usługi Azure Front Door.
- Usługa Azure Virtual Network umożliwia wdrażanie zasobów w celu komunikowania się ze sobą, Internetu i sieci lokalnych. Sieci wirtualne zapewniają izolację i segmentację. Umożliwiają one również filtrowanie i kierowanie ruchu oraz nawiązywanie połączeń między różnymi lokalizacjami. W tym rozwiązaniu dwie sieci są połączone za pośrednictwem komunikacji równorzędnej sieci wirtualnych.
- Usługa Azure DDoS Protection oferuje ulepszone funkcje ograniczania ryzyka ataków DDoS. Po połączeniu tych funkcji z najlepszymi rozwiązaniami dotyczącymi projektowania aplikacji pomagają one bronić przed atakami DDoS. Należy włączyć ochronę przed atakami DDoS w sieciach wirtualnych obwodowych.
- Sieciowe grupy zabezpieczeń używają listy reguł zabezpieczeń, aby zezwalać na ruch sieciowy przychodzący lub wychodzący lub wychodzący na podstawie źródłowego lub docelowego adresu IP, portu i protokołu. W tym scenariuszu podsieci reguły sieciowej grupy zabezpieczeń ograniczają przepływ ruchu między składnikami aplikacji.
- Usługa Azure Key Vault przechowuje i kontroluje dostęp do haseł, certyfikatów i kluczy.
- Azure Database for MySQL — serwer elastyczny to usługa relacyjnej bazy danych oparta na aucie bazy danych MySQL typu open source. Opcja wdrażania serwera elastycznego to w pełni zarządzana usługa, która zapewnia szczegółową kontrolę i elastyczność zarządzania bazami danych oraz ustawienia konfiguracji. W tym scenariuszu usługa Azure Database for MySQL przechowuje dane WordPress.
- Usługa Blob Storage zapewnia skalowalny, zoptymalizowany magazyn obiektów. Usługa Blob Storage jest dobrym rozwiązaniem dla obciążeń natywnych dla chmury, archiwów, magazynów danych, obliczeń o wysokiej wydajności i uczenia maszynowego.
Alternatywy
- Za pomocą usługi Azure Cache for Redis można hostować pamięć podręczną klucz-wartość dla wtyczek optymalizacji wydajności WordPress. Pamięć podręczną można udostępniać między aplikacjami internetowymi usługi App Service.
- Zamiast usługi Azure Front Door możesz użyć usługi Content Delivery Network do dostarczania zawartości internetowej użytkownikom.
Szczegóły scenariusza
Ten przykładowy scenariusz jest odpowiedni dla małych i średnich instalacji platformy WordPress.
Potencjalne przypadki użycia
- Zdarzenia multimedialne, które powodują wzrost ruchu
- Blogi korzystające z platformy WordPress jako systemu zarządzania zawartością
- Firmy lub witryny internetowe handlu elektronicznego korzystające z platformy WordPress
- Witryny internetowe tworzone przy użyciu innych systemów zarządzania zawartością
Kwestie wymagające rozważenia
Te zagadnienia obejmują implementację filarów platformy Azure Well-Architected Framework, która jest zestawem wytycznych, których można użyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Well-Architected Framework.
Niezawodność
Niezawodność pomaga zapewnić, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca niezawodności.
Podczas wdrażania tego rozwiązania należy wziąć pod uwagę następujące zalecenia:
- Usługa App Service zapewnia wbudowane równoważenie obciążenia i kontrole kondycji. Te funkcje pomagają zachować dostępność, gdy aplikacja internetowa usługi App Service ulegnie awarii.
- Gdy używasz sieci dostarczania zawartości do buforowania wszystkich odpowiedzi, uzyskasz niewielką korzyść z dostępności. W szczególności, gdy źródło nie odpowiada, nadal możesz uzyskać dostęp do zawartości. Buforowanie nie zapewnia jednak kompletnego rozwiązania dostępności.
- Usługę Blob Storage można replikować do sparowanego regionu w celu zapewnienia nadmiarowości danych w wielu regionach. Aby uzyskać więcej informacji, zobacz Nadmiarowość usługi Azure Storage.
- Aby zwiększyć dostępność usługi Azure Database for MySQL, włącz wysoką dostępność w tej samej strefie. Ta funkcja tworzy serwer rezerwowy w tej samej strefie dostępności co serwer podstawowy. Aby włączyć wysoką dostępność w tej samej strefie, należy użyć warstwy ogólnego przeznaczenia lub Krytyczne dla działania firmy obliczeniowej. Aby uzyskać więcej informacji, zobacz opcje wysokiej dostępności, które mają zastosowanie do Twoich potrzeb.
Zabezpieczenia
Zabezpieczenia zapewniają ochronę przed celowymi atakami i nieprawidłowym użyciem cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca zabezpieczeń.
Podczas wdrażania tego rozwiązania należy wziąć pod uwagę następujące zalecenia:
- Użyj usługi Azure Web Application Firewall w usłudze Azure Front Door, aby chronić ruch sieciowy wirtualny, który przepływa do warstwy aplikacji frontonu. Aby uzyskać więcej informacji, zobacz Azure Web Application Firewall on Azure Front Door (Zapora aplikacji internetowej platformy Azure w usłudze Azure Front Door).
- Nie zezwalaj na przepływ wychodzącego ruchu internetowego z warstwy bazy danych.
- Nie zezwalaj na publiczny dostęp do magazynu prywatnego.
Aby uzyskać więcej informacji na temat zabezpieczeń platformy WordPress, zobacz Ogólne porady dotyczące zabezpieczeń i wydajności platformy WordPress oraz dokumentację zabezpieczeń platformy Azure.
Optymalizacja kosztów
Optymalizacja kosztów koncentruje się na sposobach zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca optymalizacji kosztów.
Zapoznaj się z następującymi zagadnieniami dotyczącymi kosztów podczas wdrażania tego rozwiązania:
- Oczekiwania dotyczące ruchu (GB/miesiąc). Ilość ruchu jest czynnikiem, który ma największy wpływ na koszt. Ilość odbieranego ruchu określa liczbę potrzebnych wystąpień usługi App Service oraz cenę transferu danych wychodzących. Ruch jest również bezpośrednio skorelowany z ilością danych dostarczanych przez sieć dostarczania zawartości, gdzie koszty transferu danych wychodzących są tańsze.
- Ilość hostowanych danych. Ważne jest, aby wziąć pod uwagę ilość danych hostujących w usłudze Blob Storage. Cennik magazynu jest oparty na używanej pojemności.
- Procent zapisu. Zastanów się, ile nowych danych zapisujesz w witrynie internetowej i hostujesz w usłudze Azure Storage. Ustal, czy są potrzebne nowe dane. W przypadku wdrożeń obejmujących wiele regionów ilość nowych danych zapisywanych w witrynie internetowej jest skorelowana z ilością danych dublowanych w różnych regionach.
- Zawartość statyczna a dynamiczna. Monitoruj wydajność i pojemność magazynu bazy danych, aby określić, czy tańsza jednostka SKU może obsługiwać witrynę. Baza danych przechowuje zawartość dynamiczną, a sieć dostarczania zawartości buforuje zawartość statyczną.
- Optymalizacja usługi App Service. Aby uzyskać ogólne porady dotyczące optymalizowania kosztów usługi App Service, zobacz aplikacja systemu Azure Service i optymalizacji kosztów.
Efektywność operacyjna
Wydajność odnosi się do możliwości skalowania obciążenia w celu efektywnego zaspokojenia wymagań użytkowników. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.
Ten scenariusz hostuje fronton WordPress w usłudze App Service. Należy włączyć funkcję automatycznego skalowania, aby automatycznie skalować liczbę wystąpień usługi App Service. Możesz ustawić wyzwalacz autoskalowania, aby reagować na zapotrzebowanie klientów. Można również ustawić wyzwalacz oparty na zdefiniowanym harmonogramie. Aby uzyskać więcej informacji, zobacz Wprowadzenie do automatycznego skalowania na platformie Azure.
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Główny autor:
- Vaclav Jirovsky | Architekt rozwiązań w chmurze
Inni współautorzy:
- Adrian Calinescu | Starszy architekt rozwiązań w chmurze
Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Następne kroki
Dokumentacja produktu:
- Co to jest usługa Azure Front Door?
- Co to jest usługa Azure Web Application Firewall?
- Co to jest usługa Azure Blob Storage?
- Azure Database for MySQL — serwer elastyczny
- Co to jest usługa Azure Virtual Network?
- Informacje o usłudze Azure Key Vault
- Szybki start: tworzenie witryny WordPress
- Co to jest usługa Azure DDoS Protection?
Moduły szkoleniowe firmy Microsoft:
- Równoważenie obciążenia ruchu usługi internetowej za pomocą usługi Azure Front Door
- Implementowanie usługi Azure Key Vault
- Wprowadzenie do usługi Azure Virtual Network