App Service 上的 WordPress

Azure Front Door
Azure Load Balancer
Azure 虛擬網路
Azure App Service
適用於 MySQL 的 Azure 資料庫

本文說明小型到中型 WordPress 安裝的解決方案。 此解決方案提供 Azure 平臺的延展性、可靠性和安全性,而不需要複雜的設定或管理。 如需較大型或需要大量記憶體安裝的解決方案,請參閱 Azure 上的 WordPress 裝載選項。

架構

Azure App 服務 上的 WordPress 架構圖表。Azure Front Door 會將流量路由傳送至 Web 應用程式。適用於 MySQL 的 Azure 資料庫 儲存動態內容。

下載此架構的 Visio 檔案

注意

您可以實作任何特定 WordPress 主控方法專屬的秘訣和建議,以擴充此解決方案。 如需部署 WordPress 安裝的一般秘訣,請參閱 Azure 上的 WordPress。

資料流程

此案例涵蓋可在 Azure App 服務 上執行的可調整 WordPress 安裝

  • 使用者透過已啟用 Azure Web 應用程式防火牆 的 Azure Front Door 存取前端網站。
  • Azure Front Door 會將要求散發到 WordPress 執行的 App Service Web 應用程式。 Azure Front Door 會擷取任何未從 WordPress Web 應用程式快取的數據。
  • WordPress 應用程式會使用服務端點來存取 適用於 MySQL 的 Azure 資料庫 的彈性伺服器實例。 WordPress 應用程式會從資料庫擷取動態資訊。
  • 透過相同可用性區域中的待命伺服器,針對 適用於 MySQL 的 Azure 資料庫 啟用本地備援高可用性。
  • 所有靜態內容都裝載於 Azure Blob 儲存體。

元件

  • App Service 上的 WordPress 範本是一種受控解決方案,用於在 App Service 上裝載 WordPress。 除了 App Service,此解決方案也會使用本節中所述的其他 Azure 服務。
  • App Service 提供建置、部署及調整 Web 應用程式的架構。
  • Azure Front Door 是新式雲端內容傳遞網路。 作為伺服器的分散式網路,Azure Front Door 可有效率地將 Web 內容傳遞給使用者。 內容傳遞網路會將快取的內容儲存在終端使用者附近的目前位置,以將快取的內容儲存在邊緣伺服器上,以將延遲降至最低。
  • Azure 內容傳遞網路 藉由將 Blob 儲存在策略性位置,有效率地將 Web 內容傳遞給使用者。 在此解決方案中,您可以使用 內容傳遞網路 作為 Azure Front Door 的替代方案。
  • Azure 虛擬網絡 提供一種方式,讓已部署的資源彼此通訊、因特網和內部部署網路。 虛擬網路提供隔離和分割。 它們也會篩選和路由傳送流量,並讓您能夠在各種位置之間建立連線。 在此解決方案中,這兩個網路會透過虛擬網路對等互連進行連線。
  • Azure DDoS 保護提供增強的 DDoS 風險降低 功能。 當您結合這些功能與應用程式設計最佳做法時,它們有助於防禦 DDoS 攻擊。 您應該在周邊虛擬網路上啟用 DDoS 保護。
  • 網路安全組 會使用安全性規則清單,根據來源或目的地IP位址、埠和通訊協議來允許或拒絕輸入或輸出網路流量。 在此案例的子網中,網路安全組規則會限制應用程式元件之間的流量流動。
  • Azure 金鑰保存庫 會儲存和控制密碼、憑證和密鑰的存取。
  • 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器是以開放原始碼 MySQL 資料庫引擎為基礎的關係資料庫服務。 彈性伺服器部署選項是完全受控的服務,可提供資料庫管理功能和組態設定的細微控制和彈性。 在此案例中,適用於 MySQL 的 Azure 資料庫 儲存 WordPress 數據。
  • Blob 儲存體 提供可調整、優化的物件記憶體。 Blob 儲存體 非常適合雲端原生工作負載、封存、數據湖、高效能運算和機器學習。

替代項目

  • 您可以使用 Azure Cache for Redis 來裝載 WordPress 效能優化外掛程式的索引鍵/值快取。快取可以在App Service Web 應用程式之間共用。
  • 您可以使用 內容傳遞網路,將 Web 內容傳遞給使用者,而不是 Azure Front Door。

案例詳細資料

此範例案例適用於 WordPress 的小型到中型安裝。

潛在使用案例

  • 造成流量激增的媒體事件
  • 使用 WordPress 作為其內容管理系統的部落格
  • 使用 WordPress 的商務或電子商務網站
  • 使用其他內容管理系統建置的網站

考量

這些考量能實作 Azure Well-Architected Framework 的要素,其為一組指導原則,可以用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework (部分機器翻譯)。

可靠性

可靠性可確保您的應用程式符合您對客戶的承諾。 如需詳細資訊,請參閱可靠性要素的概觀 (部分機器翻譯)。

當您部署此解決方案時,請考慮下列建議:

  • App Service 提供內建的負載平衡和健康情況檢查。 這些功能可協助您維護 App Service Web 應用程式失敗時的可用性。
  • 當您使用內容傳遞網路來快取所有回應時,您會獲得較小的可用性權益。 具體來說,當來源沒有回應時,您仍然可以存取內容。 但快取不提供完整的可用性解決方案。
  • 您可以將 Blob 儲存體 複寫至配對區域,以便跨多個區域進行數據備援。 如需詳細資訊,請參閱 Azure 儲存體備援 \(部分機器翻譯\)。
  • 若要增加 適用於 MySQL 的 Azure 資料庫 可用性,請啟用相同區域高可用性。 此功能會在與主伺服器相同的可用性區域中建立待命伺服器。 您必須使用一般用途或 業務關鍵 計算層來啟用相同區域的高可用性。 如需詳細資訊,請參閱 適用於您需求的高可用性選項

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性要素的概觀

當您部署此解決方案時,請考慮下列建議:

  • 使用 Azure Front Door 上的 Azure Web 應用程式防火牆,協助保護流入前端應用層的虛擬網路流量。 如需詳細資訊,請參閱 Azure Front Door 上的 Azure Web 應用程式防火牆。
  • 不允許輸出因特網流量從資料庫層流動。
  • 不允許公用存取私人記憶體。

如需 WordPress 安全性的詳細資訊,請參閱 一般 WordPress 安全性和效能秘訣Azure 安全性檔

成本最佳化

成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化要素的概觀

當您部署此解決方案時,請檢閱下列成本考慮:

  • 流量預期(GB/月)。 您的流量是對成本影響最大的因素。 您收到的流量量會決定您需要的 App Service 實例數目,以及輸出數據傳輸的價格。 流量也直接與內容傳遞網路所提供的數據量相互關聯,其中輸出數據傳輸成本更便宜。
  • 裝載的數據量。 請務必考慮您在 Blob 中裝載的數據量 儲存體。 儲存體 定價是以使用的容量為基礎。
  • 寫入百分比。 請考慮您在 Azure 儲存體 中寫入網站和裝載多少新數據。 判斷是否需要新的數據。 針對多區域部署,您寫入網站的新數據量會與您跨區域鏡像的數據量相互關聯。
  • 靜態與動態內容。 監視您的資料庫記憶體效能和容量,以判斷更便宜的SKU是否可支援您的網站。 資料庫會儲存動態內容,而內容傳遞網路會快取靜態內容。
  • App Service 優化。 如需優化 App Service 成本的一般秘訣,請參閱 Azure App 服務 和成本優化

效能效益

效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 如需詳細資訊,請參閱效能效率要件概觀

此案例會在 App Service 中裝載 WordPress 前端。 您應該啟用自動調整功能,以自動調整 App Service 實例的數目。 您可以設定自動調整觸發程式來回應客戶需求。 您也可以根據定義的排程來設定觸發程式。 如需詳細資訊,請參閱 開始使用 Azure 中的自動調整和 Azure 架構良好架構一文 效能效率原則

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

其他投稿人:

  • 阿德里安·卡利內斯庫 |資深雲端解決方案架構師

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步

產品檔案:

Microsoft 訓練模組: