附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
評估 Oracle Cloud Infrastructure Web Application Firewall 對 Oracle Cloud Infrastructure Load Balancer 的延遲影響
簡介
在本教學課程中,我們使用高效能 HTTP 負載測試工具 Siege,評估 Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) 在 OCI 負載平衡器上的效能影響。
透過對 OCI 負載平衡器執行 Siege 測試,並在未啟用 OCI WAF 的情況下,評估關鍵效能度量,例如延遲、傳輸量、交易速率及並行。目標是瞭解 OCI WAF 引進的負荷量,並確定其在安全性和效能之間的權衡。
此基準可協助存取是否啟用 OCI WAF 會大幅影響回應時間,以及增加之安全性的優點是否高於高流量環境中的效能成本。
在本教學課程中,我們將部署具有附加區域 OCI WAF 的專用 OCI 負載平衡器,以分析其對延遲的影響。該架構包括:
-
專用負載平衡器:在專用子網路中運作,並在後端伺服器之間安全地分配流量。
-
區域 WAF:先檢查及篩選內送 HTTP 流量,再將其轉送至 OCI 負載平衡器。
-
後端伺服器:專用子網路中執行的兩個或三個 Apache Tomcat 執行處理,透過「傳輸層安全 (TLS)」端對端服務 Web 流量。
-
Siege Load Testing Tool:產生 HTTP 流量以模擬實際負載和測量延遲影響。
為什麼此教學課程必備?
安全性和效能是現代雲端應用程式中的兩個關鍵因素。OCI WAF 有助於防止網路威脅,但可能會產生影響使用者體驗的其他延遲。瞭解 OCI WAF 在 OCI Load Balancer 中如何影響端對端 TLS 的效能,對於旨在最佳化安全性和回應速度的架構師和工程師來說至關重要。
本教學課程提供評量 OCI WAF 引發延遲的實用方法。如需有關 OCI WAF 的詳細資訊,請參閱 OCI WAF 。
什麼是 Oracle Cloud Infrastructure Flexible Network Load Balancer?
OCI 中的彈性負載平衡器是一項完全受管理的服務,可跨多個後端伺服器自動分配 HTTP、HTTPS 和 TCP 流量。它提供可擴展性、高可用性和流量管理,無需手動介入。OCI Flexible Network Load Balancer 可使用 SSL/TLS 終止、OCI WAF 整合和進階路由功能輕鬆設定,以滿足現代應用程式的需求。如需詳細資訊,請參閱 Oracle Cloud Infrastructure Flexible Network Load Balancer 。
架構
此架構設計說明一個以 Siege HTTPS 基準公用程式為基礎的從屬端虛擬機器 (VM),它會連線至將連附本機 / 區域 OCI WAF 的專用負載平衡器,同時使用 HTTPS 連附三個不同的 Apache Tomcat 後端伺服器。我們將在沒有 OCI WAF 的情況下測試負載平衡器。
適用對象
本教學課程適用於使用 OCI Load Balancer 和 OCI WAF 的雲端架構師、DevOps 工程師和安全專業人員。如果您需要在不影響效能的情況下最佳化安全性,可以使用此自學課程。
目標
- 評估區域 OCI WAF 對 OCI 彈性網路負載平衡器帶來的延遲和頻寬影響。在本教學課程中,使用者將瞭解如何在 OCI Flexible Network Load Balancer 中設定 Siege 作為 HTTP (S) 基準工具,以及設定 OCI WAF。
必要條件
-
作用中的 OCI 租用戶。您必須具備必要的權限,才能在 OCI 中建立及管理網路資源。
-
對 Linux 作業系統、OCI、Oracle Linux 的基本瞭解,包括如何在 Linux 中安裝及設定軟體。
-
深入瞭解如何使用 OCI 主控台來建立及管理網路資源。
-
深入瞭解如何使用及設定 OCI Flexible Network Load Balancer 與 OCI WAF。
作業 1:部署網路元件 (VCN、子網路、OCI 負載平衡器和 OCI WAF)
-
使用您選擇的 IPv4 CIDR 或遵循建議的架構,在您的租用戶中部署至少包含三個子網路 (Siege、LB 及 WebTier) 的虛擬雲端網路 (VCN)。請參閱下列主題以取得詳細資訊:
-
在 OCI 負載平衡器子網路中部署具有 WAF 的 OCI 彈性網路負載平衡器。請參閱下列主題以取得詳細資訊:
針對此測試,我們已載入 OCI WAF 原則,其中至少包含 300 個保護建議規則,如下所示:
作業 2:在子網路中部署 VM 以進行測試
我們需要部署 Oracle Linux 9 映像檔,以安裝名為 Siege 的 HTTP 基準工具,以及 Apache Tomcat 作為後端伺服器。
請參閱本文件以建立 VM:部署 OCI 執行處理
您需要在用戶端子網路中部署一個用於 Siege 的 VM。
作業 3:在 Oracle Linux 上安裝 Siege
-
啟用您 Oracle Linux 中 Enterprise Linux (EPEL) 儲存區域的額外套裝程式。如需詳細資訊,請參閱 How To Enable EPEL Repository on Oracle Linux 8/9 。
-
以 root 身分執行下列指令以安裝 Siege。
yum install siege
-
執行下列命令以驗證 Siege 版本。
siege -v
您應該會看到目前的 Siege 版本以及其他說明指令。
作業 4:在 Oracle Linux 上安裝 Apache Tomcat
此時,我們有一個 OCI Flexible Network Load Balancer,未設定任何後端伺服器。現在,我們將在 Oracle Linux 8 或 9 上安裝 Apache Tomcat 的 Linux 版本。
-
在 Web 專用子網路部署 2 或 3 個 linux VM。如需詳細資訊,請參閱部署 OCI 執行處理。
-
將 Apache Web 伺服器安裝到這些 VM 中。如需詳細資訊,請參閱 Install the Apache Web Server 和 Installing Tomcat on Oracle Linux in Oracle Cloud 。
-
Apache Web 伺服器啟動並在執行後,請確定 OCI 負載平衡器子網路可以連線到 Web 專用子網路,允許將 HTTPS 流量從 OCI 負載平衡器子網路傳送至 Web 專用子網路 (連接埠
443
)。現在,若要新增後端伺服器,請參考工作 3:設定 OCI 負載平衡器中的步驟 8。 -
移至 OCI 主控台,瀏覽至網路、負載平衡器、負載平衡器、負載平衡器詳細資訊、後端集、後端集詳細資訊,然後按一下後端,您應該會看到兩個後端伺服器。
現在可以在不使用 OCI WAF 的情況下測試 OCI Load Balancer 效能。
作業 5:Siege 基準分析 – OCI 負載平衡器效能與 OCI WAF 無關
現在,我們的 OCI Load Balancer 和 OCI WAF 已與後端伺服器一起設定,我們需要採取一些初始步驟,讓 Siege 能夠透過 HTTPS 連線運作。
我們使用實驗室認證授權機構 (CA) 憑證來簽署在 OCI 負載平衡器和後端伺服器上安裝的伺服器憑證。不過,我們只需要專注於 OCI Load Balancer 的伺服器憑證,因為 OCI Load Balancer 將終止 TLS 連線並建立後端伺服器的第二個 TLS 連線。第二個連線是 Siege (用戶端) 通透的。
例如,您的 CA 憑證檔案稱為 my-ca.crt
:
-
將
my-ca.cert
上傳至您的 Linux 機器,然後執行sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/
命令。這會將 CA 複製到受信任的 CA 存放區。 -
執行下列命令以更新信任的 CA 存放區。
sudo update-ca-trust extract
或者,如果您使用 Oracle Linux 9,
sudo update-ca-trust
-
執行下列指令來確認安裝。
openssl verify /etc/pki/ca-trust/source/anchors/my-ca.crt
並列出所有可信任的憑證。
trust list | grep "my-ca"
-
現在,當 Siege 透過 HTTPS 連線至 OCI Load Balancer 時,將會能夠驗證收到的憑證。我們使用
www.fwtest.com
作為「一般名稱 (CN)」和「主體替代名稱 (SAN)」。由於我們不是使用私有 DNS,因此只需將以下項目加入您的 Linux 檔案
/etc/hosts
檔案:LB 專用 IP www.fwtest.com
例如:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4\ ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6\ 192.168.4.99 linux9-siege-intravcntest-v2.siegesubnet.vcn1inter.oraclevcn.com linux9-siege-intravcntest-v2\ 192.168.6.237 www.fwtest.com <--- Add this entry
-
若要取得負載平衡器專用 IP,請瀏覽至網路、負載平衡器、負載平衡器,然後按一下負載平衡器詳細資訊。
-
如果您想要測試 TLS 連線 (包括之前安裝的 OCI 負載平衡器伺服器憑證),請執行下列命令:
openssl s_client -connect www.fwtest.com:443 -tls1_2
您會得到如下的內容:
-
使用隨機 HTTP 標頭大小的 Siege 250 個並行 HTTPS 從屬端進行第一次測試。
siege -c 250 -t1m --header="User-Agent: $(head -c 500 </dev/urandom | base64)" https://www.fwtest.com/request.php
Lifting the server siege...\ Transactions: 237238 hits\ Availability: 100.00 %\ Elapsed time: 60.79 secs\ Data transferred: 192.67 MB\ **Response time: 27.81 ms**\ **Transaction rate: 3902.58 trans/sec**\ **Throughput: 3.17 MB/sec**\ Concurrency: 108.51\ **Successful transactions: 237421**\ Failed transactions: 0\ Longest transaction: 440.00 ms\ Shortest transaction: 0.00 ms\
現在,在沒有 OCI WAF 的情況下執行相同的命令。
Lifting the server siege... Transactions: 238843 hits\ Availability: 100.00 %\ Elapsed time: 60.54 secs\ Data transferred: 193.98 MB\ **Response time: 17.97 ms**\ **Transaction rate: 3945.21 trans/sec**\ **Throughput: 3.20 MB/sec**\ Concurrency: 70.88\ **Successful transactions: 239018**\ Failed transactions: 0\ Longest transaction: 540.00 ms\ Shortest transaction: 0.00 ms\
OCI WAF 的效能影響 (Siege Benchmark)
主要度量比較:
度量 | 使用 OCI WAF | 不使用 OCI WAF | 影響 |
---|---|---|---|
交易 | 237,238 | 238,843 | -1,605 (-0.67%) |
可用性 (%) | 100.00 | 100.00 | 沒有變更 |
經歷時間 | 60.79 | 60.54 | +0.25s |
傳輸的資料 (MB) | 192.67 | 193.98 | -1.31 MB (-0.68%) |
回應時間 (毫秒) | 27.81 | 17.97 | +9.84 毫秒 (+54.8%) |
交易速率 (傳輸 / 秒) | 3,902.58 | 3,945.21 | -42.63 異動數 / 秒 (-1.08%) |
傳輸量 (MB/ 秒) | 3.17 | 3.20 | -0.03 MB/ 秒 (-0.94%) |
並行 | 108.51 | 70.88 | +37.63 (使用 OCI WAF 提升 53.1%) |
觀察與關鍵概要:
-
增加的回應時間:
- OCI WAF 為每個要求增加 9.84ms 延遲 (增加 54.8%)。
- 這是啟用 OCI WAF 的最重大影響。
-
傳輸量略低:
- 使用 OCI WAF 時:每秒 3.17 MB 且不含 OCI WAF:每秒 3.20 MB ( 減少 0.94%)。
- OCI WAF 造成的頻寬損失為次要,約在 60 秒內 1.31 MB 。
-
OCI WAF 的更高並行性:
- 並行處理從 70.88 跳到 108.51 ,這代表有更多要求因 OCI WAF 處理而等待。
- 這與增加的回應時間一致。
-
對交易比率的最低影響:每秒的交易減少僅為 1.08% ,相對較低。
結論
-
OCI WAF 為每個要求增加了 +9.84ms 的延遲。
-
處理量和交易速率會看到輕微減少 ~1% 的影響。
-
OCI WAF 的並行性越高,表示因處理超載而等待更多要求。
-
如果安全性是優先考量,OCI WAF 的成本就是合理的。停用 OCI WAF 可能會稍微改善延遲,但 OCI 影響極少,且只有在極低延遲絕對關鍵的情況下才應考慮。
Note: The test results obtained using Siege depend highly on various factors, including network conditions, hardware/software configurations, and software settings specific to your environment. As such, these results may differ significantly from those in other environments. Do not use these results to make any definitive conclusions about the expected performance of your network or equipment. They should be considered as indicative rather than absolute measures of performance.
相關連結
認可
- 授權者 - Luis Catalán Hernández (OCI Cloud Network Specialist and Multi Cloud)、Par Kansala (OCI Cloud Network Specialist and Multi Cloud)、Sachin Sharma (OCI Cloud Network Specialist),
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Measure Oracle Cloud Infrastructure Web Application Firewall Latency Impact on Oracle Cloud Infrastructure Load Balancer
G31154-02
Copyright ©2025, Oracle and/or its affiliates.