ロードバランサーを AWS ELB から ZEVENET ADC に移行する

投稿日: 27 年 2022 月 XNUMX 日

概要

AWS) エラスティック ロード バランサー (ELB) Web トラフィックを複数に分散 EC2 インスタンス、Elastic Container Service (ECS)、および IP アドレス。 ELB 高可用性を確保するために、異なるアベイラビリティ ゾーン間でトラフィックのバランスをとる機能もあります。 ただし、使用にはいくつかの制限があります AWS〜の ELB、およびこれらには次のものが含まれます。

  1. 限定的な負荷分散方法。 デフォルトでは、 ELB のみを使用します ラウンドロビン アルゴリズムであり、コンテンツ切り替え機能が制限されています。
  2. から ELB インターネットから仮想プライベート クラウド内のインスタンスへのトラフィックを管理するように設計されています。(VPC)、オンプレミス リソース間の負荷分散には適していません。

この記事では、負荷分散サービスをより優れた代替手段であるZEVENET ADCに置き換える方法について説明します. AWS ELB と ZEVENET の詳細な比較については、この記事を参照してください。 AWSとZEVENETの比較.

必須条件

から設定を転送する前に、これらの要件を満たしていることを確認してください。 AWS ELB ZEVENETのフル機能ADCに。

  1. ZEVENET ADCノードをPC、ベアメタル、仮想環境にインストールするか、アクティブなノードが必要です ZVNクラウド アカウント。 評価をリクエストする オンプレミス展開用。
  2. Web グラフィカル インターフェイスにアクセスできる必要があります。 そうでない場合は、このクイックに従ってください インストールガイド.
  3. AWS ELB のアクティブなユーザーであり、以下のセクションで説明する概念に精通している必要があります。
  4. ZEVENETロードバランサーで仮想サーバーを作成できる必要があります。 クイックガイドは次のとおりです。 レイヤー 4 およびレイヤー 7 の仮想サーバー構成.

注意
ZEVENETにはテンプレートがあります AWSマーケットプレイス. AWS での ZEVENET の展開はシームレスで、数回クリックするだけで実行できます。

基本概念

リスナー: リスナーはレイヤー 7 のインバウンド トラフィックをチェックし、それを必要なターゲット グループに転送します。 通常、リスナーはチェックするように構成されます HTTP or HTTPS ポート上のトラフィック 80 or 443 それぞれ。 ZEVENET ADC で使用される主なレイヤー 7 リスナーは次のとおりです。 HTTP and HTTPS.

ターゲットグループ: ターゲット グループは、サービスを提供するために連携する EC2 インスタンスのクラスターです。 ターゲット グループ内のこれらすべてのインスタンスには、クライアントからの要求を処理する同じアプリケーション コードが必要です。 対象グループは カスタマーサービス ZEVENET ADCを使用する場合。

ヘルスチェック: ヘルスチェックは、各 EC2 インスタンスでのサービスの動作と応答性を監視します。 サービスまたは EC2 インスタンスがダウンすると、ヘルス チェックが無応答に気づき、ロード バランサーがトラフィックを正常なインスタンスにリダイレクトします。 ZEVENETは、と呼ばれる一連のプラグインを使用します 農場の守護者 バックエンド サーバーとそのサービスの状態を監視します。

ロードバランサのタイプ: AWS ELB は、XNUMX 種類のロードバランサーを提供します。 これらには以下が含まれます 申し込み, ネットワーク and クラシック ロードバランサー。 クラシック ロード バランサーは非推奨になり、 ネットワーク and 申し込み 使用するロードバランサー。 ZEVENET ADCレイヤー7ロードバランサーには HTTP ネットワーク ロード バランサーにはプロファイルがありますが、 L4xNAT プロフィール。

セキュリティ グループ: セキュリティ グループは、受信トラフィックと送信トラフィックを監視および制御する一連のファイアウォール ルールです。 ZEVENET ADCには組み込み IPDS ロード バランサーへの不正なトラフィックをフィルタリングするようにポリシーが設定されたモジュールを使用し、不正なアクセスの試みをすべてブロックします。 にアクセスして、ファイアウォール ルールを作成できます。 WAF 内のオプション IPDS モジュールを開きます。

ACM: ACM サービスを使用すると、管理者は AWS の内部接続リソース内で使用する SSL/TLS 証明書をデプロイおよび管理できます。 ZEVENETロードバランサー内で内部SSL証明書を管理するには、経由でアクセスします LSLB >> SSL 証明書. または、カスタムの自己署名 SSL 証明書を作成できます。 暗号化しよう ZEVENETロードバランサーに埋め込まれたプログラム。

EC2 インスタンスまたはターゲット: これらは、Web から受信した要求を処理するアプリケーション コードをホストするダウンストリーム Linux 仮想サーバーです。 これらの仮想サーバーは バックエンド ZEVENET ADCを使用する場合。

構成例: SSL 証明書

クライアントとロード バランサーの間で送信されるデータを暗号化するには、SSL 証明書をインストールして、ホスト間の通信を安全に保つ必要があります。 などの機密情報 ログイン認証情報 and クレジットカード番号 安全なトランスポート層を介して送信する必要があります。

このセクションでは、AWS ACM を参照して、ZEVENET ADC への SSL 証明書のインストールについて説明します。

AWS で使用するための自己署名 SSL 証明書の設定

ELB に SSL 証明書をインストールするには、次の手順に従います。

  1. 生成するには 社会貢献活動 EC2 インスタンスの場合、そのインスタンスの Linux コンソールにアクセスする必要があります。
  2. EC2 インスタンスに接続したら、次のディレクトリに移動します。 /etc/pki/tls/private/
  3. 次のコマンドを使用して、新しい秘密鍵、2048 ビット RSA を生成します。 sudo openssl genrsa -out Custom.key
  4. 次のコマンドを使用して、以前に生成された秘密鍵を提供する証明書を生成します。 openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out Custom.crt
  5. SSL 証明書に必要な詳細を入力します。
    • 国: 2 つの ISO 国コードを入力します。
    • 州/県: 会社が所在する都道府県を入力してください。
    • シティ: あなたがいる都市名を入力してください。
    • 一般名: 完全修飾ドメイン名を入力してください FQDN、たとえば www.zevenet.com
    • パスフレーズまたはパスワード: この例のパスワードの作成は無視できます。 一方、生成された証明書は *.pem ファイル形式。
  6. 次のコマンドを使用して、両方の証明書を PKCS12 バンドルにコンパイルします。openssl pkcs12 -inkeycustom.key-incustom.crt-export-outcustom.p12
  7. AWS CLI が既にインストールされていると仮定すると、通常、次のコマンドを使用して、生成された証明書 (custom.crt) とプライベート キー (custom.key) を AWS Certificate Manager にアップロードする必要があります。 aws acm import-certificate — 証明書 file://custom.crt — 秘密鍵 file://custom.key — リージョン us-east-2
  8. この証明書は、作成ウィザードの [ACM から証明書を選択する (推奨)] オプションで使用できるようになります。

ZEVENET ADC で使用するための自己署名 SSL 証明書の構成

  1. ZEVENET ADC インスタンスのカスタム SSL 証明書を生成するには、アプライアンスのコマンド ラインを使用して次のディレクトリを見つけます。
  2. cd /usr/local/zevenet/config/certificates
  3. 次のコマンドを使用して、パスフレーズなしで秘密鍵を生成します。
  4. openssl genrsa -out custom.key 2048
  5. 証明書署名要求を生成します (社会貢献活動) 次のコマンドを使用して秘密鍵を取得します。
  6. openssl req -new -key custom.key -out custom.csr
  7. 必要な詳細を入力します。
    • お名前: CSR を識別するためのわかりやすい名前。
    • 国: あなたが所在する国のISOコード。
    • 一般名: 完全修飾ドメイン名。 (FQDN)、例: www.example.com
    • 分割: あなたの部門は、健康、IT、またはセキュリティである可能性があります。
    • 地域: あなたがいる都市。
    • 状態: 組織が所在する州。
    • 組織: ZEVENET SL など、組織の正式名称。
    • Eメール: メールアドレスを入力してください。 ドメイン名の XNUMX つである必要はありません。
  8. 生成する 自己署名証明書 秘密鍵と CSR 証明書の両方を使用します。 この例では、自己署名証明書の有効期間は 1 年間で、出力形式は次のようになります。 .PEM. 次のコマンドを使用します。
  9. openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
  10. この証明書は、 LSLB >> SSL 証明書 のセクションから無料でダウンロードできます。

ZEVENET ADC の SSL 証明書の詳細については、次のリソースを参照してください。

  1. PEM 形式で証明書を作成します。
  2. LSLB | 暗号化しましょう
  3. LSLB | SSL証明書

構成例: ウェブ アプリケーション ファイアウォール

セキュリティ機能として、 WAF 悪意のあるトラフィックをフィルタリングおよびブロックすることで、Web アプリケーションを保護します。 WAF は通常、ロード バランサーの前にデプロイされ、さまざまな悪意のある攻撃から Web アプリケーションを保護するように設計されています。 クロスサイトスクリプティング(XSS), SQLインジェクション、およびその他の攻撃。 OWASPのトップ10.

着信 HTTP トラフィックを検査し、一連のルールまたはセキュリティ ポリシーに照らして分析することにより、WAF は安全でないと判断されたすべてのトラフィックをブロックします。 ZEVENET ADC は、IP ブラックリスト、RBL ポリシー、DoS 保護などのより高度なセキュリティ機能を提供します。

このセクションでは、以下から保護する方法について説明します。 SQLインジェクション AWS で、ZEVENET ADC で同様の構成をシミュレートします。

AWS 構成

有効にする SQLインジェクション 保護するには、Elastic ロード バランサーの背後に少なくとも 2 つまたは 2 つの EC2 インスタンスを配置する必要があります。 これらの ECXNUMX インスタンスには、保護する Web アプリケーションが必要です。

  1. AWS の Web コンソール内で、 WAFとシールドをクリックし、表示されるリンクをクリックします。
  2. クリックします。 ウェブ ACL メニュー項目。
  3. たとえば、トラフィックが発生する地域を選択します ヨーロッパ(フランクフルト).
  4. ストリーミングを停止する場合は上部の ウェブ ACL を作成する ボタン。
  5. ルールとルール グループを追加する、をクリックしてください ルールを追加する ドロップダウン矢印。
  6. 選択 マネージド ルール グループを追加する. 以下を含む、より多くのマネージド ルール グループが見つかります。 ボット制御, Amazon IP レピュテーション リスト, SQLデータベース, etc.
  7. 選択 SQLデータベース トグルボタンを有効にすることで ウェブ ACL に追加.
  8. 下にスクロールして、 ルールを追加する ボタン。
  9. 以内 一致しないルールのデフォルト アクション、オプションをそのままにしておきます 次を許可します。.
  10. ストリーミングを停止する場合は上部の 次へ ボタン。
  11. 以内 ルールの優先度を設定する セクションで、このセクションを使用してルールに優先度を追加し、ボタンをクリックします。 次へ.
  12. 以内 メトリックを構成する セクション、変更するものは何もないので、 ボタンをクリックし、 次へ.
  13. 以内 ウェブ ACL を確認して作成する セクションで、 ウェブ ACL を作成する ボタン。
  14. Web ACL が正常に作成されたら、作成した ACL をクリックします。
  15. でタブをクリックします 関連する AWS リソース.
  16. 保護するアプリケーション ロード バランサーを追加します。 リソースを追加すると、SQL データベースへのインジェクションをブロックするようにルールが設定されます。

ZEVENET構成

SQL インジェクション保護を有効にするには、 WAF ルールセット 最初。

  1.   IPDS をクリックして展開します。
  2. クリックします。 WAF それを拡張するオプション。
  3. クリックします。 ルールセット オプションを選択します。
  4. クリックします。 WAFルールセットを作成する ボタン。
  5. を割り当てます お名前 このルールセットを簡単に識別できます。
  6. 出て ルールセットをコピーする フィールドとして –ルールセットなし–.
  7. ストリーミングを停止する場合は上部の お申し込み ボタンをクリックして変更を保存します。
  8. 以内 全体設定、オンに切り替え リクエストボディの確認 オプションを選択します。
  9. oracle_jd_edwards_load_balancing_farm

  10. デフォルト アクションを次のように変更します。 拒否: リクエストをカットし、残ったルールは実行しません。
  11. ストリーミングを停止する場合は上部の お申し込み ボタンをクリックして変更を保存します。

ルールの設定

  1. クリックします。 キャンペーンのルール タブをクリックして、新しいルールを追加します。
  2. クリックします。 新しいルール ボタン。
  3. ルール タイプを次のように選択します。 アクション.
  4. oracle_jd_edwards_load_balancing_farm

  5. 現在地に最も近い as リクエスト本文を受け取りました.
  6. 現在地に最も近い 分解能 as 拒否: リクエストをカットし、残ったルールは実行しません。.
  7. ルールに説明を追加して、ルールの内容を簡単に識別できるようにします
  8. ストリーミングを停止する場合は上部の お申し込み ボタンをクリックして変更を保存します。

条件の追加

  1. [新しく作成されたルール] をクリックして条件を追加します。 をクリックして開始します 条件を作成 ボタン。
  2. oracle_jd_edwards_load_balancing_farm

  3. 以内 Variables フィールド、選択 REQUEST_BODY をクリックして 変数を追加 ボタン。
  4. 以内 変換 フィールドでオプションを選択し、 なし.
  5. 以内 演算子 セクション、選択 detectSQLi
  6. ストリーミングを停止する場合は上部の お申し込み ボタンをクリックして新しい条件を作成します。

ファームへのルールの有効化

  1. クリックします。 農場 タブをクリックして、このルールをロード バランサーのターゲット仮想サーバー (ファーム) に追加します。
  2. oracle_jd_edwards_load_balancing_farm

  3. 以内 農場の設定から、選択した農場をドラッグ アンド ドロップします。 利用可能な農場 〜へ 有効なファーム.
  4. 右上隅には、 アクション. 緑色の再生ボタンをクリックして、ルールを開始します。 現時点では、WAF ルールは、主に検索フォームまたはログイン フォームを介して、リクエスト ボディ内に埋め込まれた SQL インジェクションをブロックします。

WAF に関するその他のリソースについては、次の記事を参照してください。

  1. IPDS | WAF
  2. IPDS | WAF | ファイル

その他のリソース

Let's encrypt プログラムを使用して、SSL 証明書を自動生成します。
ZEVENET ADCによるデータリンク/アップリンク負荷分散。
ZEVENET ADCによるDNS負荷分散。
DDoS 攻撃からの保護。
ZEVENET ADC でのアプリケーション、ヘルス、およびネットワークの監視。

上の共有:

GNU Free Documentation Licenseの条項に基づくドキュメンテーション。

この記事は役に立ちましたか?

関連記事