ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud Infrastructure Load BalancerでのOracle Cloud Infrastructure Web Application Firewallのレイテンシの影響の測定
イントロダクション
このチュートリアルでは、高パフォーマンスのHTTP(s)負荷テスト・ツールであるSiegeを使用して、OCIロード・バランサでのOracle Cloud Infrastructure Web Application Firewall (OCI WAF)のパフォーマンスへの影響をベンチマークします。
OCI WAFを有効にしたかどうかにかかわらず、OCIロード・バランサに対してSiegeテストを実行することで、レイテンシ、スループット、トランザクション率、同時実行性などの主要なパフォーマンス・メトリックを測定します。目標は、OCI WAFが導入するオーバーヘッドを把握し、セキュリティとパフォーマンスの間のトレードオフを決定することです。
このベンチマークは、OCI WAFを有効にするかどうかが応答時間に大きく影響するかどうか、および追加されたセキュリティのメリットが高トラフィック環境のパフォーマンス・コストを上回るかどうかにアクセスするのに役立ちます。
このチュートリアルでは、レイテンシに対する影響を分析するために、リージョン別のOCI WAFがアタッチされたプライベートOCIロード・バランサをデプロイします。アーキテクチャは次のもので構成されます。
-
プライベート・ロード・バランサ:プライベート・サブネットで動作し、トラフィックをバックエンド・サーバーに安全に分散します。
-
リージョナルWAF:受信HTTPトラフィックを検査してフィルタしてから、OCIロード・バランサに転送します。
-
バックエンド・サーバー:プライベート・サブネットで実行されている2つまたは3つのApache Tomcatインスタンスで、Transport Layer Security (TLS)エンドツーエンドでWebトラフィックを処理します。
-
Siege Load Testingツール: HTTPトラフィックを生成して、実際の負荷をシミュレートし、レイテンシの影響を測定します。
このチュートリアルが必須である理由
最新のクラウド・アプリケーションにおいて、セキュリティとパフォーマンスは2つの重要な要素です。OCI WAFはサイバー脅威からの保護を支援しますが、ユーザー・エクスペリエンスに影響を与える追加のレイテンシが発生する可能性があります。OCI WAFがエンドツーエンドTLSを備えたOCIロード・バランサのパフォーマンスにどのように影響するかを理解することは、セキュリティと応答性の両方を最適化することを目指すアーキテクトとエンジニアにとって重要です。
このチュートリアルでは、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ベンチマーク・ユーティリティに基づく1つのクライアント仮想マシン(VM)を示し、ローカル/リージョンOCI WAFをアタッチするプライベート・ロード・バランサに接続し、HTTPSを使用する3つの異なるApache Tomcatバックエンド・サーバーも備えています。OCI WAFの有無にかかわらず、ロード・バランサをテストします。
対象読者
このチュートリアルは、OCI Load BalancerおよびOCI WAFと連携するクラウド・アーキテクト、DevOpsエンジニアおよびセキュリティ・プロフェッショナルを対象としています。パフォーマンスを損なうことなくセキュリティを最適化する必要がある場合は、このチュートリアルを使用できます。
目的
- リージョナルOCI WAFがOCI Flexible Network Load Balancerに導入したレイテンシと帯域幅の影響を評価します。このチュートリアルでは、SiegeをHTTP(S)ベンチマーク・ツールとして設定し、OCI Flexible Network Load Balancer内でOCI WAFを構成する方法を学習します。
前提条件
-
アクティブなOCIテナンシ。OCIでネットワーク・リソースを作成および管理するために必要な権限を持っている必要があります。
-
Linuxオペレーティング・システム、OCI、Oracle Linuxの基本的な理解(Linuxでのソフトウェアのインストールおよび構成方法など)。
-
OCIコンソールを使用してネットワーク・リソースを作成および管理する方法についてよく理解しています。
-
OCI Flexible Network Load BalancerおよびOCI WAFの使用方法および構成方法についてよく理解しています。
タスク1: ネットワーク・コンポーネントのデプロイ(VCN、サブネット、OCIロード・バランサおよびOCI WAF)
-
テナンシに少なくとも3つのサブネット(Siege、LBおよびWebTier)を持つVirtual Cloud Network (VCN)をデプロイするには、選択したIPv4 CIDRを使用するか、推奨アーキテクチャに従います。詳細は、次の各トピックを参照してください:
-
OCIロード・バランサ・サブネットに、WAFを使用したOCI Flexible Network Load Balancerをデプロイします。詳細は、次の各トピックを参照してください:
このテストでは、OCI WAFポリシーに少なくとも300の保護推奨ルールを次のようにロードしました:
タスク2: テスト目的でサブネットにVMをデプロイする
Oracle Linux 9イメージをデプロイして、後でバックエンド・サーバーとしてSiegeおよびApache TomcatというHTTPベンチマーク・ツールをインストールする必要があります。
VMを作成するには、次のドキュメントを参照してください: OCIインスタンスのデプロイ
クライアント・サブネットに1つのVM for Siegeをデプロイする必要があります。
タスク3: Oracle LinuxへのSiegeのインストール
-
Oracle LinuxでEnterprise Linux (EPEL)リポジトリの追加パッケージを有効にします。詳細は、Oracle Linux 8/9でEPELリポジトリを有効にする方法を参照してください。
-
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バージョンをインストールします。
-
2つまたは3つのlinux VMsをWebプライベート・サブネットにデプロイします。詳細は、「OCIインスタンスのデプロイ」を参照してください。
-
Apache WebサーバーをそれらのVMsにインストールします。詳細は、Apache WebサーバーのインストールおよびOracle CloudでのOracle LinuxへのTomcatのインストールを参照してください。
-
Apache Webサーバーが稼働したら、OCIロード・バランサ・サブネットがWebプライベート・サブネットに到達できることを確認し、OCIロード・バランサ・サブネットからWebプライベート・サブネット(ポート
443
)へのHTTPSトラフィックを許可します。ここで、バックエンド・サーバーを追加するには、タスク3: OCIロード・バランサの構成のステップ8を参照してください。 -
OCIコンソールに移動し、「ネットワーキング」、「ロード・バランサ」、「ロード・バランサ」、「ロード・バランサの詳細」、「バックエンド・セット」、「バックエンド・セットの詳細」に移動して「バックエンド」をクリックすると、2つのバックエンド・サーバーが表示されます。
OCI WAFの有無にかかわらず、OCIロード・バランサのパフォーマンスをテストします。
タスク5: 包囲ベンチマーク分析- OCI WAFの有無にかかわらずOCIロード・バランサのパフォーマンス
現在、OCIロード・バランサとOCI WAFがバックエンド・サーバーとともに構成されているため、SiegeがHTTPS接続で機能できるようにするには、いくつかの初期ステップを実行する必要があります。
ラボ認証局(CA)証明書を使用して、OCIロード・バランサおよびバックエンド・サーバーにインストールされたサーバー証明書に署名しました。ただし、OCIロード・バランサはTLS接続を終了し、バックエンド・サーバーへの2番目のTLS接続を確立するため、OCIロード・バランサのサーバー証明書のみに集中する必要があります。この2番目の接続は、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ロード・バランサに接続すると、受信した証明書を検証できるようになります。
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を取得するには、「ネットワーキング」、「ロード・バランサ」、「ロード・バランサ」に移動し、「ロード・バランサの詳細」をクリックします。
-
以前にインストールしたOCIロード・バランサ・サーバー証明書を含むTLS接続をテストする場合は、次のコマンドを実行します:
openssl s_client -connect www.fwtest.com:443 -tls1_2
次のようなものが得られます。
-
ランダムなHTTPヘッダー・サイズを使用して、250の同時HTTPSクライアントであるSiegeで最初のテストを行います。
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.17MB/秒、OCI WAFを使用しない場合: 3.20MB/秒(0.94%減少)。
- OCI WAFによる帯域幅の損失は、60秒間で約1.31MBマイナーです。
-
OCI WAFによる同時実行性の向上:
- 同時実行性は70.88から108.51にジャンプします。つまり、OCI WAF処理により、より多くのリクエストが待機しています。
- これは、レスポンス時間の増加と一致します。
-
トランザクション・レートに対する最小影響: 1秒当たりのトランザクション・ドロップは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.
関連リンク
承認
- 著者 - LuisCatalán Hernández(OCI Cloud Networkスペシャリストおよびマルチ・クラウド)、Par Kansala(OCI Cloud Networkスペシャリストおよびマルチ・クラウド)、Sachin Sharma(OCI Cloud Networkスペシャリスト)、
その他の学習リソース
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
G31151-02
Copyright ©2025, Oracle and/or its affiliates.