自動調整負載平衡的 Web 應用程式

若要在雲端執行 Web 應用程式,您需要可靠且安全的基礎架構、彈性且容易維護的拓樸,以及使用型計費。滿足所有這些需求的 Oracle Cloud 功能為自動調整。

自動調整功能可確保您在雲端中的資源可有效率地使用,並在需要時可供使用。您可以設定雲端部署,根據效能測量結果 (例如 CPU 使用率) 自動調整運算資源。即使負載很高,您的使用者仍會遇到一致的效能。而低需求期間的成本則按比例低。

架構

此參照架構顯示由負載平衡器 (LB)、自動調整 Web 層以及高可用性資料庫組成的三層拓樸。

所有資源都部署在 Oracle Cloud Infrastructure 區域的單一可用性網域中。LB 層、Web 層和資料庫層會在單一 VCN 內的不同子網路中隔離。網路安全群組 (NSG) 可作為防火牆,以規範每層資源的網路流量。連附至每個子網路的路由表包含將流量導向 VCN 外部之目的地的規則。

下圖說明參考架構。



autoscaling-oracle.zip

此架構包含下列元件:

  • 區域

    Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,而且大型距離可以區隔 (跨國家或甚至洲)。

    此架構中的所有資源都在單一區域中。

  • 可用性網域

    可用性網域是區域內獨立的獨立資料中心。每個可用性網域中的實體資源都會與其他可用性網域中的資源隔離,以提供容錯。可用性網域不會共用基礎架構,例如電源、冷卻或內部可用性網域網路。因此,一個可用性網域的失敗並不會影響區域中的其他可用性網域。

    此架構中的資源部署在單一可用性網域中。

  • 容錯域

    容錯域是一組可用性網域內的硬體和基礎架構。每個可用性網域都有三個具有獨立電源與硬體的容錯域。在多個容錯域間分配資源時,您的應用程式可以容許容錯域內的實體伺服器故障、系統維護和電源故障。

    此架構中每層的資源會分散至多個容錯域。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。VCN 就像傳統資料中心網路一樣,可讓您完全控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,供您在建立 VCN 之後變更。您可以將 VCN 區隔為子網路,子網路範圍可為區域或可用性網域。每個子網路均包含一個未與 VCN 中其他子網路重疊的連續位址範圍。您可以在建立子網路之後變更子網路的大小。子網路可以是公用或專用。

    此架構中的負載平衡和 Web 層使用個別的公用子網路。資料庫會連附至專用子網路。

  • 負載平衡器

    Oracle Cloud Infrastructure Load Balancing 服務提供自動化的流量分佈,從單一進入點到後端的多部伺服器。

  • 網路安全群組 (NSG)

    NSG 是您雲端資源的虛擬防火牆。藉由 Oracle Cloud Infrastructure 的零信任安全模型,系統會拒絕所有流量,您可以控制 VCN 中的網路流量。NSG 包含一組輸入和輸出安全規則,這些規則只適用於單一 VCN 中一組指定的 VNIC。

    此架構中每個層的資源均使用個別的 NSG。

  • 路由表

    虛擬路由表包含將流量從子網路路由至 VCN 外部之目的地的規則,通常會透過閘道。

  • 網路閘道

    網際網路閘道可讓 VCN 中的公用子網路與公用網際網路之間的流量。

  • 執行處理組態

    執行處理組態是一個定義建立運算執行處理時所使用之設定值的樣板,包括基礎映像檔、資源配置和描述資料等詳細資訊。您也可以指定執行處理的相關資源,例如區塊磁碟區連附項和網路組態。

  • 執行處理集區

    執行處理集區是區域中的一組執行處理,從相同的執行處理組態建立並以群組方式管理。

  • 自動調整

    自動調整可讓您根據效能測量結果 (例如 CPU 使用率),自動調整執行處理集區中的運算執行處理數目。

    當執行處理集區擴展或擴展時,會自動更新關聯之負載平衡器的後端集。

  • Autonomous Transaction Processing,自治式異動處理

    Oracle Autonomous Transaction Processing 是一項針對交易處理工作負載最佳化的自我驅動、自我保護、自行修復的資料庫服務。您不需要設定或管理任何硬體,或是安裝任何軟體。Oracle Cloud Infrastructure 會處理建立資料庫,以及備份、修正、升級和調整資料庫。

推薦

您的需求可能會與此處描述的架構不同。使用下列建議作為起點。

  • VCN

    建立 VCN 時,請根據計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和各個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。

    選取未與想要設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure 中、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。

    建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。

    設計子網路時,請考量您的流量和安全需求。將特定層或角色內的所有資源連附至可作為安全界限的相同子網路。

    使用區域子網路。

  • 執行處理集區

    如果沒有限制,請在集區中包含所有可用的可用性網域。

  • 執行處理組態

    選擇提供最佳效能成本比率並符合您工作負載最低需求的執行處理資源配置。

  • 自動調整組態

    評估應用程式的資源需求,並使用該資訊來定義縮放限制以及縮減時的冷卻行為。這決定執行處理集區的成本上限。

考量

建置自動調整多層應用程式堆疊時,請考量下列因素:

  • 資料庫擴展性

    您可以隨時手動擴展或縮減資料庫的 CPU 核心數目。自治式資料庫的自動調整功能可讓您的資料庫隨時使用最多三次的 CPU 核心數目。隨著需求增加,自動調整會自動增加使用中的核心數目。自治式資料庫可讓您隨時擴展儲存容量,而不會影響使用狀態或效能。

  • 資料庫可用性

    架構圖顯示單一 Oracle Autonomous Transaction Processing 資料庫。建置架構時,您可以啟用 Oracle Autonomous Data Guard 來啟動設定和管理待命資料庫。

  • 應用程式可用性

    容錯域提供可用性網域內的復原能力。如果可行,請考慮將資源分送至多個可用性網域或多個區域。

  • 存取控制

    您可以使用原則來限制哪些使用者可以存取您在雲端中的資源,以及他們可以執行的動作。

  • 效能

    集區的大小可自動擴大或擴展,但瞭解應用程式的行為非常重要,以便您可以微調自動調整原則。資源限制會影響集區擴展的能力。

建置

GitHub 中提供部署此參照架構所需的程式碼。只要按一下即可將程式碼提取至 Oracle Cloud Infrastructure Resource Manager,然後建立堆疊並加以部署。或者,從 GitHub 下載程式碼至您的電腦、自訂程式碼,以及使用 Terraform CLI 建置架構。

  • 使用 Oracle Cloud Infrastructure Resource Manager 進行部署:
    1. 一下部署到 Oracle Cloud

      如果您尚未登入,請輸入租用戶和使用者證明資料。

    2. 複查並接受條款與條件。
    3. 選取要建置堆疊的區域。
    4. 依照畫面上的提示和指示建立堆疊。
    5. 建立堆疊之後,請按一下 Terraform 動作,然後選取畫。
    6. 等待工作完成,然後複查計畫。

      若要進行任何變更,請返回「堆疊詳細資訊」頁面,按一下編輯堆疊,然後進行必要的變更。然後,再次執行「劃」動作。

    7. 如果不需要進一步的變更,請返回「堆疊詳細資訊」頁面,按一下 Terraform 動作,然後選取用。
  • 使用 Terraform CLI 部署:
    1. 前往 GitHub
    2. 將程式碼下載或複製到您的本機電腦。
    3. 遵循 README 檔案中的指示。

變更日誌

此日誌僅列出重要的變更: