ノート:

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ロード・バランサをデプロイします。アーキテクチャは次のもので構成されます。

このチュートリアルが必須である理由

最新のクラウド・アプリケーションにおいて、セキュリティとパフォーマンスは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エンジニアおよびセキュリティ・プロフェッショナルを対象としています。パフォーマンスを損なうことなくセキュリティを最適化する必要がある場合は、このチュートリアルを使用できます。

目的

前提条件

タスク1: ネットワーク・コンポーネントのデプロイ(VCN、サブネット、OCIロード・バランサおよびOCI WAF)

  1. テナンシに少なくとも3つのサブネット(Siege、LBおよびWebTier)を持つVirtual Cloud Network (VCN)をデプロイするには、選択したIPv4 CIDRを使用するか、推奨アーキテクチャに従います。詳細は、次の各トピックを参照してください:

  2. OCIロード・バランサ・サブネットに、WAFを使用したOCI Flexible Network Load Balancerをデプロイします。詳細は、次の各トピックを参照してください:

このテストでは、OCI WAFポリシーに少なくとも300の保護推奨ルールを次のようにロードしました:

WAF保護ルール

タスク2: テスト目的でサブネットにVMをデプロイする

Oracle Linux 9イメージをデプロイして、後でバックエンド・サーバーとしてSiegeおよびApache TomcatというHTTPベンチマーク・ツールをインストールする必要があります。

VMを作成するには、次のドキュメントを参照してください: OCIインスタンスのデプロイ

クライアント・サブネットに1つのVM for Siegeをデプロイする必要があります。

タスク3: Oracle LinuxへのSiegeのインストール

  1. Oracle LinuxでEnterprise Linux (EPEL)リポジトリの追加パッケージを有効にします。詳細は、Oracle Linux 8/9でEPELリポジトリを有効にする方法を参照してください。

  2. rootユーザーで次のコマンドを実行して、Siegeをインストールします。

    yum install siege
    

    包囲の取付け

  3. 次のコマンドを実行し、Siegeのバージョンを検証します。

    siege -v
    

    現在のSiegeバージョンと他のヘルプ・コマンドが表示されます。

タスク4: Oracle LinuxへのApache Tomcatのインストール

この時点で、バックエンド・サーバーが構成されていないOCI Flexible Network Load Balancerがあります。次に、Oracle Linux 8または9にApache TomcatのLinuxバージョンをインストールします。

  1. 2つまたは3つのlinux VMsをWebプライベート・サブネットにデプロイします。詳細は、「OCIインスタンスのデプロイ」を参照してください。

  2. Apache WebサーバーをそれらのVMsにインストールします。詳細は、Apache WebサーバーのインストールおよびOracle CloudでのOracle LinuxへのTomcatのインストールを参照してください。

  3. Apache Webサーバーが稼働したら、OCIロード・バランサ・サブネットがWebプライベート・サブネットに到達できることを確認し、OCIロード・バランサ・サブネットからWebプライベート・サブネット(ポート443)へのHTTPSトラフィックを許可します。ここで、バックエンド・サーバーを追加するには、タスク3: OCIロード・バランサの構成のステップ8を参照してください。

  4. OCIコンソールに移動し、「ネットワーキング」「ロード・バランサ」「ロード・バランサ」「ロード・バランサの詳細」「バックエンド・セット」「バックエンド・セットの詳細」に移動して「バックエンド」をクリックすると、2つのバックエンド・サーバーが表示されます。

    Bacnendサーバー

    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という名前です。

  1. my-ca.certをLinuxマシンにアップロードし、sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/コマンドを実行します。これにより、CAが信頼できるCAストアにコピーされます。

  2. 次のコマンドを実行して、信頼できるCAストアを更新します。

    sudo update-ca-trust extract
    

    または、Oracle Linux 9を使用している場合は、

    sudo update-ca-trust
    
  3. インストールを検証するには、次のコマンドを実行します。

    openssl verify /etc/pki/ca-trust/source/anchors/my-ca.crt
    

    すべての信頼できる証明書を一覧表示します。

    trust list | grep "my-ca"
    
  4. 現在、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
    
  5. ロード・バランサのプライベートIPを取得するには、「ネットワーキング」「ロード・バランサ」「ロード・バランサ」に移動し、「ロード・バランサの詳細」をクリックします。

    包囲の取付け

  6. 以前にインストールしたOCIロード・バランサ・サーバー証明書を含むTLS接続をテストする場合は、次のコマンドを実行します:

    openssl s_client -connect www.fwtest.com:443 -tls1_2
    

    次のようなものが得られます。

    LB接続チェック

  7. ランダムな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%向上)

観察と主なポイント:

まとめ

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.

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。