使用 MySQL Database Service 在 Oracle Linux 上部署 Magento eCommerce
您可以使用 MySQL Database Service 在 Oracle Linux 上部署 Magento eCommerce,為使用者和企業提供可擴展且穩健的架構、低導入和維護工作,以及存取大型社群導向的知識庫。
Magento 是以 PHP 撰寫的開放原始碼電子商務平台,而 PHP 可以使用其他 PHP 架構,如 Laminas 和 Symfony。其原始程式碼依 Open Software License (OSL) v3.0 發佈。Magento 採用 MySQL 關聯式資料庫管理系統、PHP 程式設計語言與 Zend Framework 的元素。它適用於物件導向程式設計與模型檢視控制器架構的慣例。
架構
您可以將 Magento 部署在單一節點組態中,或是部署為多節點的高可用性組態的一部分。此參照架構包含與這兩個組態相容的 Terraform 自動化功能。
如需生產級高可用性架構,請參閱下列圖表,以說明多節點案例。
預先列印的圖表說明 OCI 上簡化的高可用性應用程式環境,著重在負載平衡器背後的兩個虛擬機器執行處理。這些執行處理存在於可用性網域內的兩個不同容錯域中。此架構使用 OCI 檔案儲存服務;Magento 安裝在共用網路檔案系統 (NFS)。此檔案系統存在於包含網路安全群組 (NSG) 的專用子網路中,可允許從所有執行處理存取掛載目標的專用子網路中。
下圖說明簡單的單一節點架構。它是由輕量型部署所組成,適合用於學習目的或作為概念證明。
- 原則
Oracle Cloud Infrastructure Identity and Access Management 原則會指定誰可存取哪些資源及如何進行。群組和區間層次會授予存取權,這表示您可以撰寫原則,讓群組在特定區間或租用的特定存取類型。
- 區間
區間是 Oracle Cloud Infrastructure 租用戶內的跨區域邏輯分割區。使用區間組織 Oracle Cloud 中的資源、控制對資源的存取,以及設定使用配額。若要控制對指定區間中資源的存取,您可以定義原則,指定誰可以存取資源以及可執行的動作。
- 虛擬雲網路 (VCN)
OCI 中的第一個步驟之一,就是為雲端資源設定虛擬雲端網路 (VCN)。VCN 是您在 OCI 區域中設定的軟體定義網路。VCN 可以區段至子網路,成為區域或可用性網域的特定子網路。區域特定與可用性網域特定子網路都可以在同一個 VCN 中共存。子網路可以是公用或專用子網路。
- 可用性網域
可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與提供容錯能力的其他可用性網域中的資源隔離。可用性網域並不共用基礎設施,例如電源或冷卻系統,或內部可用性網域網路。因此,一個可用性網域發生故障並不會影響該區域中的其他可用性網域。
- 負載平衡器
Oracle Cloud Infrastructure Load Balancing 服務提供從單一進入點到後端多部伺服器的自動化流量分配。
- 運算執行處理
Oracle Cloud Infrastructure Compute 可讓您佈建及管理運算主機。您可以使用符合資源需求的資源配置啟動運算執行處理 (CPU、記憶體、網路頻寬以及儲存)。建立運算執行處理之後,您就可以安全地存取該執行處理、重新啟動磁碟區、連附及取消連附磁碟區,並在不需要時將其終止。
- 網際網路閘道
網際網路閘道允許 VCN 中的公用子網路和公用網際網路之間的流量。
- 動態路由閘道 (DRG)
DRG 是一個虛擬路由器,為企業內部部署網路與 VCN 之間的專用網路流量提供路徑,也可以用來在相同區域或跨區域遞送 VCN 之間的流量。
- 檔案儲存
Oracle Cloud Infrastructure File Storage 服務提供持久、可擴展且安全的企業級網路檔案系統。您可以從 VCN 中的任何裸機、虛擬機器或容器執行處理連線至檔案儲存服務檔案系統。您也可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN 從 VCN 外部存取檔案系統。
- 網路安全群組 (NSG)
NSG 可作為您雲端資源的虛擬防火牆。在 Oracle Cloud Infrastructure 的零信任安全模型下,所有流量都被拒絕,而您可以在 VCN 內控制網路流量。NSG 包含一組傳入和傳出安全規則,只套用至單一 VCN 中一組指定的 VNIC。
建議
- VCN
建立 VCN 時,請根據您要連附至 VCN 子網路的資源數目,判斷所需的 CIDR 區塊數目和每個區塊的大小。使用位於標準專用 IP 位址空間內的 CIDR 區塊。
選取一個未與您的內部部署網路或任何其他網路重疊的地址範圍,以便視需要在 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 上部署 Magento eCommerce 時,會考量下列因素:
- 應用程式可用性與擴展性
在此範例中,在高可用性架構中,我們在同一個可用性網域內的不同容錯域中顯示兩個執行處理。只要選擇將執行處理置於不同的可用性網域 (在可用的區域中),甚至容錯更高。替代方法就是使用執行處理集區和自動調整功能,需要更動態適應以滿足更嚴苛的需要,而更改效能。
執行處理集區可讓您根據相同區域內的相同組態佈建及建立多個運算執行處理。
自動調整可讓您根據效能度量 (例如 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。
在這些範例中,執行處理會顯示為公用子網路中的現有執行處理。請考慮將它們放置在專用子網路中作為額外安全性。在此情況下,存取執行處理需要防禦主機。
部署
GitHub 上提供此參照架構的 Terraform 程式碼。只要按一下即可將程式碼提取至 Oracle Cloud Infrastructure Resource Manager、建立堆疊並部署,或者,您也可以從 GitHub 下載程式碼至您的電腦,即可自訂程式碼,然後使用 Terraform CLI 來部署架構。
- 使用 Oracle Cloud Infrastructure Resource Manager 中的範例堆疊部署:
- 在 GitHub 中使用 Terraform 程式碼部署:
- 前往 GitHub。
- 複製或下載儲存庫至您的本機電腦。
- 遵循
README
文件中的指示。
探索更多
檢閱下列額外資源,深入瞭解 OCI 上的 Oracle Cloud Infrastructure 最佳做法、Oracle MySQL Database Service 及其他類似部署:
- Oracle Cloud Infrastructure 的最佳做法架構
- MySQL Database Service 簡介
- 瞭解如何在 Oracle Cloud 中部署 MySQL Database Service
- 設定連線至雲端 MySQL 資料庫的 WordPress CMS
- 使用 MySQL Database Service 在 Oracle Linux 上部署 Drupal CMS
- 使用 MySQL Database Service 在 Oracle Linux 上部署 Joomla CMS
- 使用 MySQL Database Service 在 Oracle Linux 上部署 Moodle LMS