使用 MySQL Database Service 在 Oracle Linux 上部署 Drupal CMS
Drupal 是最熱門的內容管理系統 (CMS) 之一。可自由開放原始碼,由 GNU Public License 提供。
Drupal 是 LAMP 堆疊基礎,讓使用者和企業都具有擴充性與強大架構、低導入與維護工作,以及大型社群導向的知識庫。其設定和使用不需要進階技術技能。它提供全球各地網站的基礎架構,從個人部落格到企業、政治與政府網站等。它非常可擴充且模組化,適用於各種情況。
架構
您可以將 Drupal 部署在單一節點,或是部署在高可用性多節點組態的一部分。此參照架構包含與這兩個組態相容的 Terraform 自動化功能。
如需生產級高可用性架構,請參閱下列圖表,以說明多節點案例。
上圖說明 OCI 上簡化的高可用性應用程式環境,並將焦點放在負載平衡器背後的兩個虛擬機器執行處理。這些執行處理存在於可用性網域內的兩個不同容錯域中。此架構利用 OCI 檔案儲存體服務;Drupal 安裝在共用網路檔案系統 (NFS) 中。此檔案系統存在於包含網路安全群組 (NSG) 的專用子網路中,可允許從所有執行處理存取掛載目標的專用子網路中。
下圖說明簡單的單一節點架構。它是由輕量型部署所組成,適合用於學習目的或作為概念證明。
此單一節點架構提供單一 VM 執行處理和獨立 MySQL 資料庫系統 (MDS)。執行處理會置於公用子網路中,並且可以從網際網路存取,而 MDS 會置於專用子網路中。安全清單和路由表主要用來限制和路由流量。
- 租用戶
註冊 Oracle Cloud Infrastructure 時,租用戶是 Oracle 在 Oracle Cloud 內設定的安全獨立的分割區。您可以在租用戶的 Oracle Cloud 中建立、組織及管理您的資源。租用戶與公司或組織同義。
- 原則
Oracle Cloud Infrastructure Identity and Access Management 原則會指定誰可存取哪些資源及如何進行。群組和區間層次會授予存取權,這表示您可以撰寫原則,讓群組在特定區間或租用的特定存取類型。
- 區間
區間是 Oracle Cloud Infrastructure 租用戶內的跨區域邏輯分割區。使用區間組織 Oracle Cloud 中的資源、控制對資源的存取,以及設定使用配額。若要控制對指定區間中資源的存取,您可以定義原則,指定誰可以存取資源以及可執行的動作。
- 虛擬雲端網路 (VCN)
OCI 中的第一個步驟之一,就是為雲端資源設定虛擬雲端網路。VCN 是您在 OCI 區域中設定的軟體定義網路。VCN 可以區段至子網路,成為區域或可用性網域的特定子網路。區域特定與可用性網域特定子網路都可以在同一個 VCN 中共存。子網路可以是公用或專用子網路。
- 可用性網域
可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與提供容錯能力的其他可用性網域中的資源隔離。可用性網域並不共用基礎設施,例如電源或冷卻系統,或內部可用性網域網路。因此,一個可用性網域發生故障並不會影響該區域中的其他可用性網域。
- 負載平衡器
Oracle Cloud Infrastructure Load Balancing 服務提供從單一進入點到後端多部伺服器的自動化流量分配。
- 運算執行處理
Oracle Cloud Infrastructure Compute 可讓您佈建及管理運算主機。您可以使用符合資源需求的資源配置啟動運算執行處理 (CPU、記憶體、網路頻寬以及儲存)。建立運算執行處理之後,您就可以安全地存取該執行處理、重新啟動磁碟區、連附及取消連附磁碟區,並在不需要時將其終止。
- 網際網路閘道
網際網路閘道允許 VCN 中的公用子網路和公用網際網路之間的流量。
- 動態路由閘道 (DRG)
DRG 是一個虛擬路由器,為企業內部部署網路與 VCN 之間的專用網路流量提供路徑,也可以用來在相同區域或跨區域遞送 VCN 之間的流量。
- 網路安全群組 (NSG)
NSG 是您雲端資源的虛擬防火牆。藉由 Oracle Cloud Infrastructure 的零信任安全模型,系統會拒絕所有流量,您也可以控制 VCN 中的網路流量。NSG 包含一組輸入和輸出安全規則,這些規則只適用於單一 VCN 中一組指定的 VNIC。
- 檔案儲存
Oracle Cloud Infrastructure File Storage 服務提供持久、可擴展、安全的企業級網路檔案系統。您可以從 VCN 中的任何裸機、虛擬機器或容器執行處理連線至檔案儲存服務檔案系統。您也可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN,從 VCN 外部存取檔案系統。
建議
- VCN
當您建立 VCN 時,請確定每個子網路中雲端資源需要多少 IP 位址。使用「無類別網域間路由 (CIDR)」表示法,來指定子網路遮罩以及足夠用於所需 IP 位址的網路位址範圍。請使用標準專用 IP 位址空間內的位址範圍。
選取一個未與您的內部部署網路或任何其他網路重疊的地址範圍,以便視需要在 VCN 與您的內部部署網路之間設定連線。
設計子網路時,請考慮您的流量和安全需求。將同一個層或角色內的所有運算執行處理連附至同一個子網路,可作為安全界限。
- 安全
使用原則限制能夠存取您公司之 OCI 資源的人員及其存取方式。使用 Vault 來取得金鑰、憑證及加密密碼的額外保護。
網路服務提供兩種虛擬防火牆功能,使用安全規則來控制封包層次流量:安全清單和網路安全群組 (NSG)。NSG 是一組包含傳入和傳出安全規則,僅適用於單一 VCN 中所選的一組 VNIC。例如,您可以選擇在 VCN 中多層應用程式的 Web 層中,作為 Web 伺服器的所有運算執行處理。
NSG 安全性規則功能與安全性清單規則相同。不過,針對 NSG 安全規則的來源或目的地,您可以指定 NSG 而非 CIDR 區塊。因此,您可以輕鬆撰寫安全規則,以控制相同 VCN 中兩個 NSG 或單一 NSG 內的流量之間的流量。建立資料庫系統時,您可以指定一或多個 NSG。您也可以更新現有資料庫系統,以使用一或多個 NSG。
- 運算
藉由適當的 OCPU 和記憶體組合挑選資源配置,以及根據每個執行處理的需求佈建本機 NVMe 和 (或) 區塊儲存。請考慮使用可用的彈性資源配置,對結合 OCPU 和記憶體提供更大的彈性。
- 資料庫
根據計畫的工作負載選擇您的 Oracle MySQL Database Service 資源配置。針對三個備援節點啟用 MySQL 高可用性。
注意事項
使用 MySQL Database Service 在 Oracle Linux 上部署 Drupal CMS 時,請考量下列因素:
- 應用程式可用性與擴展性
在此範例中,在高可用性架構中,我們在同一個可用性網域內的不同容錯域中顯示兩個執行處理。您可以選擇將執行處理置於不同的可用性網域 (在可用的區域中),以達到更大的容錯能力。
替代方法就是使用執行處理集區和自動調整功能,提供更動態適應以滿足更嚴苛和不同效能需求。執行處理集區可讓您根據相同區域內的相同組態佈建及建立多個運算執行處理。
自動調整可讓您根據效能度量 (例如 CPU 使用率) 自動調整執行處理集區中的運算執行處理數目。自動調整可協助您針對高需求期間的使用者提供一致的效能,並協助您在低需求期間內降低成本。
- 資料庫可用性和擴展性
顯示在高可用性架構中的 MySQL Database 系統會使用內建的 MySQL 高可用性選項,建立三個執行處理,並將其置於不同的容錯域。
- 資料庫備份
MySQL Database Service 支援兩種類型的備份:資料庫系統中所有資料的完整備份,以及自上次完整備份之後新增或變更的資料增量備份。備份會以下列方式執行:
- 手動:主控台中的動作或透過 API 發出的要求,會起始備份。手動備份可以保留至少 1 天,最多可保留 365 天。
- 自動:使用者選擇時自動執行的排定備份,不會發生任何必要互動。自動備份會保留在 1 到 35 天之間。預設保留值為 7 天。定義之後,您就無法編輯自動備份的保留期間
- 運算備份
Oracle Cloud Infrastructure Block Volumes 服務可讓您即時備份區塊磁碟區上的資料。接著,您可以將這些備份立即或稍後回復到新的磁碟區。您也可以使用服務來對開機磁碟區進行時間點、持續當機的備份,不需中斷或停機。開機磁碟區備份功能與區塊磁碟區備份功能相同。
- 安全原則
使用原則限制能夠存取公司之 OCI 資源的人員及其存取權。
- 網路安全性
網路服務提供兩種虛擬防火牆功能,使用安全規則來控制封包等級的流量:安全清單和網路安全群組 (NSG) 。NSG 是一組包含傳入和傳出安全規則,僅適用於單一 VCN 中所選的一組 VNIC。例如,您可以選擇在 VCN 中某個多層應用程式的 Web 層中作為 Web 伺服器的所有運算執行處理。
NSG 安全性規則功能與安全性清單規則相同。不過,針對 NSG 安全規則的來源或目的地,您可以指定 NSG 而非 CIDR 區塊。因此,您可以輕鬆撰寫安全規則,以控制相同 VCN 中兩個 NSG 或單一 NSG 內的流量之間的流量。建立資料庫系統時,您可以指定一或多個 NSG。您也可以更新現有資料庫系統,以使用一或多個 NSG。
在這些範例中,執行處理會顯示為公用子網路中的現有執行處理。請考慮將它們放置在專用子網路中作為額外安全性。在此情況下,存取執行處理需要防禦主機。
部署
在 Oracle Cloud Infrastructure Resource Manager 中以範例堆疊方式提供此參照架構的 Terraform 程式碼。您也可以從 GitHub 下載程式碼,並依據您的特定需求進行客製化。
- 使用 Oracle Cloud Infrastructure Resource Manager 中的範例堆疊部署:
- 在 GitHub 中使用 Terraform 程式碼部署:
- 前往 GitHub。
- 複製或下載儲存庫至您的本機電腦。
- 遵循
README
文件中的指示。
探索更多
檢閱下列額外資源,深入瞭解 Oracle Cloud Infrastructure 最佳做法、Oracle MySQL 資料庫服務和其他 OCI 上的 CMS 部署:
- Oracle Cloud Infrastructure 的最佳做法架構
- MySQL Database Service 簡介
- 瞭解如何在 Oracle Cloud 中部署 MySQL Database Service
- 設定已連線至雲端 MySQL 資料庫的 WordPress CMS
- 使用 MySQL Database Service 在 Oracle Linux 上部署 Joomla CMS
- 使用 MySQL Database Service 在 Oracle Linux 上部署 Moodle LMS
- 使用 MySQL Database Service 在 Oracle Linux 上部署 Magento eCommerce