ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
ハブおよびスポークVCNルーティング・アーキテクチャを使用したハブへのOCI Load BalancerおよびOCI WAFの追加
イントロダクション
このチュートリアルでは、OCIでOCI Web Application Firewall (WAF)を使用したOracle Cloud Infrastructure (OCI) Load Balancerをデプロイおよび構成するために必要なタスクと、これがハブおよびスポークVCNルーティング環境でどのように機能するかについて説明します。
次の図は、トラフィックフローを示しています。
Load BalancerおよびWAFを使用したSpoke接続への外部接続
目的
- OCI WAFポリシーを使用したOCI Load Balancerは、ハブおよびスポーク・ネットワーク・アーキテクチャで構成します。また、ロード・バランサがトラフィックをどのように分散するかを監視および追跡するために、Webサーバーを設定します。
前提条件
-
このチュートリアルでコンテンツを再作成する場合は、次のチュートリアルを完了してください。
タスク1: 現在のハブおよびスポーク・ネットワーク・アーキテクチャの確認
このチュートリアルを続けるには、次のものが必要です。
- 1つのxのハブVCN(ファイアウォール、インターネット・ゲートウェイ、NATゲートウェイおよびサービス・ゲートウェイを使用)
- 3 xスポークSCN
- 1 x IPSec VPN接続でオンプレミスがアタッチされました
ハブVCNには、スポーク・インスタンスへの接続に使用できるWindowsインスタンスがあります。各スポークには1つのインスタンスがWebサーバーとして構成され、これらのインスタンスは、このチュートリアルでデプロイするロード・バランサのエンドポイントとして使用できます。
次の画像に開始点を示します。
タスク2: OCI WAFとOCI Load Balancer、ハブ・ファイアウォールおよびスポーク・インスタンス間のハブおよびスポーク・ネットワーク・アーキテクチャでのルーティングの構成
次の図は、すべてのセキュリティ・リストおよびルーティング表を含む現在のハブおよびスポーク・ネットワーク・アーキテクチャを示しています。
OCIロード・バランサを追加する前に、OCI Load Balancerサブネットからのトラフィックがハブ・ファイアウォールにルーティングされていることを確認し、トラフィックをスポーク・インスタンスに送信する前にハブ・ファイアウォールで検査できるようにする必要があります。
これを実行するデフォルトのルーティング・ルールがすでにありますが、他のネットワークと同様に明示的にコールアウトするには、このルールを追加することをお薦めします。
-
ルーティング・ルールを追加します。
-
OCIコンソールにログインし、「ネットワーキング」、「Virtual Cloud Networks」および「Virtual Cloud Network」に移動します。
-
「ルート表」をクリックします。
- VCN_HUB_RT_DRG_TRANSITルート表を選択します。
-
-
「ルート・ルールの追加」をクリックします。
- ターゲット・タイプ: 「プライベートIP」を選択します。
- 宛先タイプ: 「CIDRブロック」と入力します。
- 宛先CIDRブロック:
0.0.0.0/0
と入力します。 - ターゲット選択:
172.16.0.20
と入力します。これは、pfSenseファイアウォールのIPアドレスです。 - 「ルート・ルールの追加」をクリックします。
-
172.16.0.128/25
ルートがVCN_HUB_RT_DRG_TRANSITルート表に追加されました。次の図は、すべてのセキュリティ・リストおよびルート・ルールを含むルーティング表を含む現在のハブおよびスポーク・ネットワーク・アーキテクチャを示しています。
タスク3: バックエンド・サーバーへのWebサーバーのインストール
スポークSCN内のすべてのインスタンスにNGINX Webサーバーをインストールします。Oracle LinuxインスタンスにNGINX Webサーバーをインストールする方法の詳細は、タスク6: インスタンスへのWebサーバーのインストールを参照してください。
タスク4: バックエンド・サーバーでのWebページの作成または変更
デフォルトでは、各WebサーバーはデフォルトのWebページで構成されます。OCI Load Balancerがトラフィックをどこにリダイレクトするかを追跡するには、Webページで何かを変えて、どのサーバーがヒットしたかを把握することをお薦めします。
これを行うには、デフォルトのNGINX index.html
ファイルの内容を変更します。
sudo nano /usr/share/nginx/html/index.html
Instance-Aの場合、ヘッダーを変更します。
<h1>Welcome to nginx! This is INSTANCE-A</h1>
Instance-Bの場合、ヘッダーを変更します。
<h1>Welcome to nginx! This is INSTANCE-B</h1>
Instance-Cの場合は、ヘッダーを変更します。
<h1>Welcome to nginx! This is INSTANCE-C</h1>
index.html
ファイルは、変更後に必ず保存してください。
タスク5: OCI Load Balancerのインストール
OCI Load Balancerを作成する前に、まずハブVCNセキュリティ・リストでポート80イングレスを許可する必要があります。ハブVCNのパブリック・サブネットのロード・バランサから送信されるトラフィックを含むすべてのトラフィックは、HUBファイアウォールにルーティングされます。ロード・バランサがエンドポイントを使用するインスタンスは、ポートTCP/80でリスニングしています。このため、ハブVCNでポートTCP/80イングレスを許可して、トラフィックがルーティングされるハブVCN内のプライベート・サブネットでスポークVCNへの通信も可能にする必要があります。
-
イングレス・ルールの追加
- 左上隅のハンバーガーメニュー(≡)をクリックします。
- 「ネットワーキング」をクリックします。
- 「仮想クラウド・ネットワーク」をクリックします。
- 「仮想クラウド・ネットワーク」セクションが表示されていることを確認します。
- 「ハブVCN」VCNをクリックします。
-
「セキュリティ・リスト」をクリックします。
-
「HUB-VCNのデフォルト・セキュリティ・リスト」をクリックします。
- 「イングレス・ルール」セクションが表示されていることを確認します。
- 「イングレス・ルールの追加」をクリックします。
- 「ソース」(
172.16.0.128/25
)から「すべての宛先」にTCP/80が許可されるセキュリティ・ルールを追加します。
ノート:
-
HUB-VCNに適用され、このHUB-VCN内のすべての個別のサブネットに適用されるデフォルトのセキュリティ・リストを使用しています。
-
これは、同じデフォルト・セキュリティ・リストが両方のサブネットに適用されるため、パブリック・サブネットからHUB-VCN内のプライベート・サブネットに向かうトラフィックも、このデフォルト・セキュリティ・リストに従うことを意味します。
-
このため、ポートTCP/80イングレスを許可しています。これは、これを行わないと、ロード・バランサがバックエンド・サーバーと通信できないためです。HUB-VCNのプライベート・サブネット内にファイアウォールがあるハブ・アンド・スポーク・アーキテクチャを使用しているため、トラフィックはパブリック・サブネットからプライベート・サブネットに送信されます。
-
次のイメージは、セキュリティ・ルールを追加してこれまでに作成した内容を示しています。
-
ロード・バランサを作成します。
- 左上隅のハンバーガーメニュー(≡)をクリックします。
- 「ネットワーキング」をクリックします。
- 「Load Balancer」をクリックします。
-
「ロード・バランサの作成」をクリックします。
- ロード・バランサ名を入力します。
- 「可視性タイプ」で「パブリック」を選択します。
- 「Ephemeral IP address」を選択します。
- 下へスクロール
-
すべてをデフォルトのままにして、下にスクロールします。
- ロード・バランサをアタッチするVCNを選択します。
- ロード・バランサをアタッチする「サブネット」を選択します。
- 「次」をクリックします。
- 「ロード・バランシング・ポリシー」として「加重ラウンド・ロビン」を選択します。
- 「バックエンドの追加」をクリックします。
- スポークSCN内のインスタンスのすべてのバックエンドを選択します。
- 「選択したバックエンドの追加」をクリックします。
- このチュートリアルでは、バックエンドを確認し、必要に応じてポートを変更します。すべてのバックエンド・インスタンスがポート80をリスニングします。
- 下へスクロール
-
ヘルス・チェック・ポリシーをデフォルトのままにして、「次へ」をクリックします。
- リスナー名を入力します。
- 「リスナーで処理するトラフィック・タイプ」として「HTTP」を選択します。
- 「リスナー・ポート」に80を入力します。
- 「次」をクリックします。
- ログ・グループを選択します。
- 「発行」をクリックします。
-
ロード・バランサ・ステータスはCREATINGです。
- ロード・バランサのステータスがCREATINGからACTIVEに変更されたことに注意してください。
- 全体的なヘルスが保留中であることに注意してください。
- バックエンド・セットのヘルスが保留中であることに注意してください。
- ロード・バランサのパブリックIPアドレスをノートにとります。
- 数分後、「全体的なヘルス」は「OK」になります。
- 数分後、バックエンド・セットのヘルスは「OK」になります。
-
下にスクロールして、バックエンド・セットの詳細を確認します。
- 「バックエンド・セット」をクリックします。
- 使用可能なバックエンド・セットをクリックします。
- 「全体的なヘルス」は「OK」です。
- 「バックエンド・セットのヘルス」が「OK」であることに注意してください。
- 下へスクロール
- 「バックエンド」をクリックします。
- 「バックエンド」セクションのバックエンドに注意してください。
- ブラウザを新しく開きます。
- ロード・バランサのパブリックIPアドレスを入力します。
- ロード・バランサは、トラフィックをスポークVCN Bのインスタンスにリダイレクトします。
- ページをリフレッシュします。
- ロード・バランサは、トラフィックをスポークVCN C内のインスタンスにリダイレクトするようになりました。
- ページをリフレッシュします。
- ロード・バランサは、トラフィックをスポークVCN B内のインスタンスに再度リダイレクトするようになりました。
- ページをリフレッシュします。
- ロード・バランサは、トラフィックをスポークVCN Aのインスタンスにリダイレクトするようになりました。
-
次の図は、これまでに作成した内容とトラフィックの流れを示しています。
-
ハブ・ファイアウォールで、ロード・バランサからバックエンド・サーバーへのポートTCP/80が許可されていることを確認します。このチュートリアルでは、テスト目的でハブ・ファイアウォール内のすべてのトラフィックを許可しました。
タスク6: OCI Web Application Firewallのインストールおよび構成
-
OCI Web Application Firewallを構成します。
- 左上隅のハンバーガーメニュー(≡)をクリックします。
- 「アイデンティティとセキュリティ」をクリックします。
- 「Web Application Firewall」をクリックします。
-
「WAFポリシーの作成」をクリックします。
- WAFポリシーの名前を入力します。
- 「次」をクリックします。
- 「アクセス制御の有効化」が有効になっていることを確認します。
-
ISP IPアドレスを取得できるWebサイトを使用します。これは、OCI Web Application Firewallでアクセス制御を構成するために必要です。このチュートリアルでは、
www.ipchicken.com
を使用してISP IPアドレスを取得します。 -
「アクセス・ルールの追加」セクションで、次の情報を入力します。
- 「アクセス・ルールの追加」をクリックします。
- アクセス・ルールの「名前」を入力します。
- 条件タイプ: 「ソースIPアドレス」を選択します。
- 演算子: 「リスト内」を選択します。
- CIDR IP範囲:独自のISPのIPアドレスを入力します。
- 下へスクロール
- 「ルール・アクション」で、アクション名を入力し、「事前構成済401レスポンス・コード・アクション」を選択します。
- 「アクセス・ルールの追加」をクリックします。
- アクセス・ルールが追加されていることに注意してください。
- 「次」をクリックします。
-
「次」をクリックします。
-
「次」をクリックします。
- WAFポリシーを構成するロード・バランサを選択します。タスク5で作成したロード・バランサを使用します。
- 「次」をクリックします。
-
WAFポリシーの作成をクリックします。
-
WAFポリシーが作成されていることに注意してください。
- WAFポリシーのステータスがACTIVEであることに注意してください。
- 「ポリシー」をクリックして、「WAFポリシー」ページに戻ります。
-
構成したWAFポリシーに注意してください。
タスク7: OCI WAF、OCI Load Balancerの接続性およびWAFセキュリティのテスト
-
タスク5で使用されているブラウザを開き、ページをリフレッシュします。
ノート:クローズした場合は、ロード・バランサのパブリックIPアドレスを入力します。
-
Webサーバーは、WAFポリシーでブロックされているため、アクセスできなくなります。
承認
- 作成者 - Iwan Hoogendoorn (OCIネットワーク・スペシャリスト)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Add OCI Load Balancer and OCI WAF to a Hub with Hub and Spoke VCN Routing Architecture
G12091-01
July 2024