在 OCI 上選擇正確的 MySQL 架構
由於仰賴開放原始碼資料庫 (例如 Oracle HeatWave MySQL) 的組織,因此從自行管理的內部部署解決方案移轉到受管理的雲端資料庫服務 (例如 MySQL 資料庫) 以降低成本並提升營運效率,因此請務必瞭解如何在 Oracle Cloud Infrastructure (OCI) 上選擇正確的 MySQL 架構。
Oracle HeatWave MySQL 是 OCI 上的受管理資料庫服務,旨在提供可高度擴展的可用資料庫服務,無需規劃和執行繁瑣的日常作業任務,例如資料庫佈建、備份、修補和升級。如果您在 OCI 上為工作負載採用 Oracle HeatWave MySQL ,您不僅可以降低自行管理資料庫目前的營運成本,還可以專注於高價值和創新工作。為了獲得在 Oracle HeatWave MySQL 和 OCI 上執行工作負載的最大優勢,您需要瞭解 Oracle HeatWave MySQL 和 OCI,以設計靈活且可擴展的雲端架構,使您能夠根據業務需求和需求成長和擴展雲端使用。
架構
此參考架構旨在提供您相關的技術資訊,協助您設計和最佳化 OCI 上的彈性且可擴展的 MySQL 架構,以支援您的工作負載需求。
此參考架構的範圍假設下列非功能需求與規格:
網域 | 需求 | 描述 |
---|---|---|
可用性 | R1 | 架構應具備高可用性,以支援全天候運作,服務正常運作時間至少為 99.95% |
R2 |
|
|
擴展性 | R3 | 架構應具有彈性且可擴展性,以支援工作負載 |
安全 | R4 | 此架構必須使用存取控制和授權機制來高度保護 |
根據這些需求,Oracle HeatWave MySQL 高可用性模型會與其他 OCI 服務一起選取,為您的工作負載建立架構。
此參考架構以三個不同的觀點說明,以解決基礎架構架構師、資訊架構師、DevOps 工程師及作業工程師等問題。
基礎架構檢視
mysql-oci-architecture-infrastructure-oracle.zip
在此架構檢視中,區域虛擬雲端網路會在由三個可用性網域 (AD) 組成的單一 OCI 區域中佈建公用和專用子網路。Oracle HeatWave MySQL 高可用性模型將在多重 AD OCI 區域的三個 AD 之間部署三個備援 MySQL 資料庫執行處理,或在單一 AD OCI 區域中部署三個容錯域。
此架構檢視圖說明 Oracle HeatWave MySQL 的應用程式部署選項與網路連線選項:
- Oracle HeatWave MySQL 部署在安全的專用子網路中,沒有任何網際網路的公用存取。
- 存取 Oracle HeatWave MySQL 的連線選項:
- 透過使用 Oracle Cloud Infrastructure Load Balancing 的網際網路。
- 使用 OCI 動態路由閘道,在您的資料中心與 OCI 區域之間透過 VPN:
- OCI 網站至網站 VPN
- Oracle Cloud Infrastructure FastConnect
- 一般而言,在 OCI 中存取 Oracle HeatWave MySQL 有三個應用程式部署模式:
- 部署到 Oracle Cloud Infrastructure Compute 執行個體或 Oracle Cloud Infrastructure Kubernetes Engine 執行個體的應用程式 (在同一個 OCI 雲端區域中共置應用程式和 MySQL Database 的最優先模式)。
- 資料中心代管的應用程式。
- 託管在非 OCI 雲端中的應用程式 (例如 Amazon Web Services 、Microsoft Azure 等)。
基礎架構 (可擴展性 / 冗餘) 檢視
mysql-oci-architecture-scalability-oracle.zip
在此架構檢視中,具有 Oracle HeatWave MySQL 高可用性模型的主要 OCI 區域會透過 OCI Dynamic Routing Gateway 與另一個 OCI 區域相互連線。此架構視圖說明相同 OCI 區域內的 MySQL 可擴展性,以及跨其他 OCI 區域的備援:
- 您可以在同一個 OCI 區域內部署「受管理的讀取複本」執行處理,輕鬆調整主要 MySQL 資料庫執行處理的規模,以調整讀取交易的規模 (請參閱「深入瞭解」)。
- 主要 MySQL 執行處理可以複製到部署在另一個 OCI 區域中的 MySQL 複本,為您的工作負載提供備援 (請參閱「深入瞭解」)。
資料庫存取檢視
此架構檢視說明為資料庫管理員和開發人員使用 Oracle HeatWave MySQL 的工具選項:
- OCI Database Tools (SQL Worksheet) 和含預先安裝 MySQL Shell 工具的 Oracle Cloud Infrastructure Cloud Shell 等 OCI 工具,可以使用透過公用網際網路的 Web 瀏覽器存取,與 MySQL 搭配使用。
- Oracle Cloud Infrastructure Bastion 可用來透過網際網路使用 Oracle HeatWave MySQL 連線您的工具。
- Oracle Cloud Infrastructure Bastion 服務可用來透過網際網路將您的工具與 Oracle MySQL Database Service 連線。
- 具有 MySQL Shell Plugin 預覽版本的 Visual Studio 程式碼,也可搭配連線 Oracle HeatWave MySQL 的最低組態使用。
mysql-oci-architecture-database-access-oracle.zip
作業檢視
此架構檢視說明使用 Oracle Cloud Observability and Management Platform 服務的 Oracle HeatWave MySQL 監督層面:
- 在 Oracle HeatWave MySQL 主控台上建立相關臨界值,以觸發作業支援動作的警示。
- 使用 OCI 事件追蹤特定 MySQL 事件 (例如重新啟動資料庫) 的事件導向監控。
- 使用 OCI 儀表板進行即時監控,以在特定 MySQL 執行處理上建立自訂 OCI 儀表板。
mysql-oci-architecture-operation-oracle.zip
- 地區
Oracle Cloud Infrastructure 區域是一個本地化地理區域,其中包含一或多個稱為可用性網域的資料中心。區域獨立於其他區域,而廣大的距離可以將其分開 (跨國家或大陸)。
- 可用性網域
可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域不會共用基礎架構 (例如電源或冷卻系統) 或內部可用性網域網路。因此,一個可用性網域的故障不應影響該區域中的其他可用性網域。
- 虛擬雲端網路 (VCN) 和子網路
VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。與傳統的資料中心網路一樣,VCN 可讓您控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 之後變更。您可以將 VCN 區隔成子網路,此子網路可以設定區域範圍或可用性網域。每個子網路都是由連續的位址範圍組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用或專用。
- 負載平衡器
Oracle Cloud Infrastructure Load Balancing 服務提供從單一進入點到後端多部伺服器的自動流量分配。
- 安全清單
您可以為每個子網路建立安全規則,以指定必須允許進出子網路的來源、目的地和流量類型。
- 計算
透過 Oracle Cloud Infrastructure Compute ,您可以在雲端中佈建及管理運算主機。您可以使用資源配置啟動運算執行處理,以滿足 CPU、記憶體、網路頻寬及儲存的資源需求。建立運算執行處理之後,您可以安全地存取、重新啟動、連附及取消連附磁碟區,以及在不再需要時將其終止。
- 事件
Oracle Cloud Infrastructure 服務會發出事件,這些事件是描述資源變更的結構化訊息。系統會針對建立、讀取、更新或刪除 (CRUD) 作業、資源生命週期狀態變更以及影響雲端資源的系統事件發出事件。
- 通知
Oracle Cloud Infrastructure Notifications 服務會透過發布 / 訂閱模式,將訊息廣播至分散式元件,針對代管於 Oracle Cloud Infrastructure 的應用程式提供安全、極為可靠、低延遲及持久的訊息。
- 堡壘主機服務
Oracle Cloud Infrastructure Bastion 可針對沒有公用端點且需要嚴格資源存取控制的資源,例如裸機和虛擬機器、Oracle MySQL Database Service 、Autonomous Transaction Processing (ATP)、Oracle Cloud Infrastructure Kubernetes Engine ( OKE),以及允許 Secure Shell 通訊協定 (SSH) 存取的任何其他資源,提供有限且具時限的安全存取。有了 OCI 堡壘主機服務,您便可以存取專用主機,無須部署和維護跳躍主機。此外,您還可以透過識別權限以及集中式、稽核及時間導向 SSH 階段作業來改善安全態勢。OCI 堡壘主機可免除對堡壘主機存取的公用 IP 需求,在提供遠端存取時消除麻煩和潛在攻擊面。
- FastConnect
Oracle Cloud Infrastructure FastConnect 提供一個在您的資料中心與 Oracle Cloud Infrastructure 之間建立專屬私人連線的簡便方式。與網際網路型連線相比,FastConnect 提供更高的頻寬選項和更可靠的網路體驗。
- MySQL HeatWave
Oracle MySQL Database Service 是一個完全受管理的資料庫服務,可讓開發人員使用全球最受歡迎的開源資料庫,快速開發及部署安全的雲端原生應用程式。Oracle HeatWave MySQL 是適用於 Oracle MySQL Database Service 的全新整合式高效能記憶體內查詢加速器,可加速分析與交易查詢的 MySQL 效能。
建議
使用下列建議作為根據工作負載需求設計 OCI 架構的起點。
- VCN
- 使用區域子網路作為彈性用途。
- 建立 VCN 時,請根據您計畫附加到 VCN 子網路的資源數量,決定所需的 CIDR 區塊數量和每個區塊的大小。
- 使用標準專用 IP 位址空間內的 CIDR 區塊:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
- 選取未與您要設定專用連線的任何其他網路 (在 OCI、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。
- 建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。
- 當您設計子網路時,請考慮流量和安全需求。將特定層或角色中的所有資源附加至相同的子網路,作為安全界限。Oracle MySQL Database Service 一律存在於專用子網路中。
- 安全
- 對於需要最高安全性資源,Oracle 建議使用安全區域。安全區域是與以最佳做法為基礎之 Oracle 定義的安全原則處方關聯的區間。例如,安全區域中的資源不得從公用網際網路存取,且必須使用客戶管理的金鑰來加密。當您在安全區域中建立及更新資源時,OCI 會根據安全區域處方中的原則驗證作業,並拒絕違反任何原則的作業。
- 雲端保全
- 複製及自訂 Oracle 提供的預設處方,以建立自訂偵測器和回應器處方。這些處方可讓您指定產生警告的安全性違規類型,以及允許對其執行哪些動作。例如,您可以偵測公開檢視的 Oracle Cloud Infrastructure Object Storage 儲存桶。
- 網路安全群組 (NSG)
您可以使用 NSG 定義一組適用於特定 VNIC 的傳入和傳出規則。建議您使用 NSG 而非安全列表,因為 NSG 可讓您將 VCN 的子網路架構和應用程式的安全需求分開。
注意事項
將 Oracle HeatWave MySQL 標準化和作業化為您的核心雲端資料庫服務時,請考量這些其他雲端服務組態,以簡化作業與彈性。
- 網路連線
- 瞭解設計雲端網路時各種 VCN 限制的寬鬆限制,例如每個 OCI 租用戶 50 個 VCN 限制。將服務要求提交給 OCI 支援,即可變更這些限制。
- Oracle HeatWave MySQL 需要一組最少的專用 IP 位址才能進行維護:
- MySQL 獨立式需要三個專用 IP 位址
- MySQL 高可用性需要七個私有 IP 位址
- Oracle Cloud Infrastructure Bastion 服務最多只能使用三小時,因此如果您需要高可用性堡壘主機服務以供應用系統或開發之用,最好使用專用的 Oracle Cloud Infrastructure Compute 執行處理作為堡壘主機,以便連線至 MySQL 執行處理。
- 操作性
請確定使用 OCI 儀表板,為您的 MySQL 執行處理機組建立自訂儀表板,以供您的服務作業使用。
- 使用狀態
如果您計畫在其他區域建置 MySQL 複本作為備份,則必須考量主要區域與備份區域之間的網路延遲。OCI 提供區域間網路延遲資訊,協助您決定要使用哪個區域作為主要區域的備份區域。MySQL 複本的其他考量因素是刪除日誌之前保留二進位交易日誌的持續時間 (binlog_expire_logs_seconds),保留二進位交易日誌的預設持續時間為 3,600 秒或 60 分鐘。如果主要區域與備份區域之間發生嚴重的網路延遲,您可以增加此參數,讓交易日誌維持較長的時間,以便在備份區域的 MySQL 複本傳輸及套用這些日誌。
- 可攜性和彈性
- 使用 OCI 網域名稱服務 (DNS) 解析可攜性的 MySQL 主機名稱。根據您在建立 MySQL 執行處理的命名慣例,指定自訂主機名稱,讓 OCI DNS 可以解析主機名稱作為 VCN 解析器。
- 針對受管理的 MySQL 讀取複本執行處理,使用 Oracle Cloud Infrastructure Load Balancing 的 DNS 主機名稱,將對應用程式程式碼所做的變更降到最低,以達到彈性。您可以在 OCI DNS 服務主控台中,找到此 Oracle Cloud Infrastructure Load Balancing 的指定 DNS 主機名稱。