GCPにおけるインカミングリクエストのロードバランシング設定¶
link-doc-asg-guideに記載された自動スケーリングを有効にした管理対象インスタンスグループが構成済みの場合、インスタンスグループ内の複数のフィルタリングノード間で、着信HTTPおよびHTTPS接続を分散するロードバランサを作成および構成する必要があります。
Google Cloud Platform上で次の種類のロードバランサを構成できます:
-
HTTP(S) Load Balancer
-
TCP Load Balancer
-
UDP Load Balancer
ロードバランサの違い
ロードバランサの詳細な違いについては、このリンクに進んでください。
本ドキュメントでは、OSI/ISOネットワークモデルのトランスポート層でトラフィックを分散するTCP Load Balancerの構成および使用方法を説明します。
以下の操作を完了することで、インスタンスグループ用のTCP Load Balancerを作成します:
-
メニューのNetwork servicesセクションにあるLoad balancingページに移動し、Create load balancerボタンをクリックします。
-
TCP load balancingカード上のStart configurationボタンをクリックします。
-
次の設定項目で必要なオプションを選択します:
-
Internet facing or internal onlyの設定でFrom Internet to my VMsオプションを選択し、ロードバランサがクライアントからサーバへ着信リクエストを制御するようにします。
-
Multiple regions or single regionの設定でSingle region onlyオプションを選択します。
異なるリージョンに配置されたリソース向けのトラフィック分散
本ガイドでは、単一リージョンに配置されたインスタンスグループ用のロードバランサ構成について説明します。
複数のリージョンに配置された複数のリソースのトラフィックを分散する場合は、Multiple regions (or not sure yet)オプションを選択してください。
Continueボタンをクリックします。
-
-
Nameフィールドにロードバランサの名前を入力します。
-
Backend configurationをクリックして、ロードバランサが着信リクエストをルーティングするバックエンドとして作成済みのインスタンスグループを使用します。
-
次のデータでフォームを入力します:
-
Regionのドロップダウンリストからインスタンスグループが配置されているリージョンを選択します。
-
Backends設定内のSelect existing instance groupsタブに移動し、Add an instance groupのドロップダウンリストからインスタンスグループの名前を選択します。
-
必要に応じて、Backup PoolドロップダウンリストからCreate a backup poolオプションを選択し、バックアッププールを指定します。
バックアッププールの使用
バックアッププールは、前の設定で選択されたインスタンスグループが利用できない場合にリクエストを処理します。バックアッププールの構成の詳細については、このリンクに進んでください。
本ドキュメントではバックアッププールの構成については説明しません。
-
必要に応じて、Health checkドロップダウンリストでCreate a health checkオプションを選択し、グループインスタンスの可用性チェックを構成します。マシンの可用性チェックの詳細については、このリンクに進んでください。
可用性チェック
本ドキュメントでは可用性チェックは構成されません。そのため、Health checkドロップダウンリストでNo health checkオプションが選択されます。
-
必要に応じて、Session affinityドロップダウンリストで対応するオプションを選択し、リクエスト処理のためのインスタンス選択方法を構成します。リクエスト処理のためのインスタンス選択の詳細については、このリンクにてご確認ください。
インスタンス選択方法の構成
リクエスト処理のためのインスタンス選択方法は本ドキュメントの範囲外です。そのため、Session affinityドロップダウンリストではNoneオプションが選択されます。
-
-
Frontend configurationボタンをクリックして、クライアントがリクエストを送信するIPアドレスとポートを指定します。
-
新しいIPアドレスとポートの作成用フォームに必要なデータを入力します:
-
必要に応じて、Nameフィールドに新しいIPアドレスとポートペアの名前を入力します。
-
Network Service Tierの設定で必要なネットワークサービスティアを選択します。ネットワークサービスティアの詳細については、このリンクに進んでください。
-
IPのドロップダウンリストから、ロードバランサがリクエストを受信するIPアドレスを選択します。
-
仮想マシン起動時にロードバランサが新しいIPアドレスを取得する場合は、Ephemeralオプションを選択します。
-
ロードバランサ用の静的IPアドレスを生成するには、Create IP addressオプションを選択します。
表示されたフォームで、Nameフィールドに新しいIPアドレスの名前を入力し、Reserveボタンをクリックします。
-
-
Portフィールドに、ロードバランサがリクエストを受信するポート番号を入力します。
ポートの選択
本ドキュメントでは、HTTPプロトコルを介してリクエストを受信するためにポート
80
が指定されています。
Doneボタンをクリックして、構成されたIPアドレスとポートペアを作成します。
必要なフロントエンドポート
本ドキュメントでは、HTTPプロトコルを介してリクエストを受信するようにロードバランサが構成されています。インスタンスグループがHTTPSプロトコルでリクエストを受信する場合は、ポート
443
を指定した別のIPアドレスとポートペアを作成してください。 -
-
Createボタンをクリックして、構成済みのロードバランサを作成します。
ロードバランサ作成プロセスが完了し、以前に作成したインスタンスグループにロードバランサが接続されるまでお待ちください。
作成されたTCPロードバランサは、インスタンスグループのために作成されたバックエンドと連携するBackend serviceを使用するため、インスタンスグループの構成を変更する必要はありません。
これで、Wallarmフィルタリングノードの動的にスケーリングするセットが、アプリケーションへの着信トラフィックを処理します。
デプロイされたフィルタリングノードの動作を確認するには、次の手順を実行してください:
-
ブラウザを使用して、ロードバランサのIPアドレスまたはドメイン名にアクセスし、アプリケーションがロードバランサおよびWallarmフィルタリングノードを通じてアクセス可能であることを確認します。
-
テスト攻撃を実行することで、Wallarmサービスがアプリケーションを保護していることを確認します。