概要 #
(AWS) エラスティックロードバランサー (ELB)はウェブトラフィックを複数の EC2 インスタンス、Elastic Container Service(ECS)、および IP アドレス。 ELB また、高可用性を確保するために、異なるアベイラビリティゾーン間でトラフィックを分散する機能もあります。ただし、使用にはいくつかの制限があります。 AWS〜の ELB、およびこれらには次のものが含まれます。
- 制限された負荷分散方法。デフォルトでは、 ELB のみを使用します ラウンドロビン アルゴリズムが制限されており、コンテンツ切り替え機能も限られています。
- から ELB インターネットから仮想プライベートクラウドのインスタンスへのトラフィックを管理するように設計されています(VPC)ただし、オンプレミスのリソース間の負荷分散には適していません。
この記事では、負荷分散サービスをより良い代替手段に置き換える方法について説明します。 RELIANOID ADC。AWS ELBと RELIANOIDこの記事を参照してください AWSと RELIANOID 比較.
前提条件 #
設定を転送する前に、これらの要件を満たしていることを確認してください。 AWS ELB 〜へ RELIANOIDのフル機能の ADC。
- A RELIANOID ADCノードはPC、ベアメタル、仮想環境にインストールするか、アクティブな ZVNクラウド アカウント。 評価をリクエストする オンプレミス展開用。
- Webグラフィカルインターフェースにアクセスする必要があります。アクセスできない場合は、次の手順に従ってください。 インストールガイド.
- AWS ELB のアクティブユーザーであり、以下のセクションで説明する概念に精通している必要があります。
- 仮想サーバーを作成できる必要があります RELIANOID ロードバランサー。簡単なガイドは次のとおりです。 レイヤー4およびレイヤー7仮想サーバー構成.
お願い
RELIANOID テンプレートは AWSマーケットプレイスの展開 RELIANOID AWS 上ではシームレスに、数回のクリックで完了します。
基本概念 #
リスナー: リスナーはレイヤー7の受信トラフィックをチェックし、必要なターゲットグループに転送します。通常、リスナーは以下をチェックするように設定されます。 HTTP or HTTPS ポート上のトラフィック 80 or 443 それぞれ、レイヤ7のメインリスナーは、 RELIANOID ADCは HTTP および HTTPS.
ターゲットグループ: ターゲットグループは、サービスを提供するために連携して動作するEC2インスタンスのクラスターです。ターゲットグループ内のすべてのインスタンスは、クライアントからのリクエストを処理する同じアプリケーションコードを持っている必要があります。ターゲットグループは、 サービス 使用している場合 RELIANOID ADC。
ヘルスチェック: ヘルスチェックは、各 EC2 インスタンス上のサービスの動作と応答性を監視します。サービスまたは EC2 インスタンスがダウンすると、ヘルスチェックが応答なしを検知し、ロードバランサーがトラフィックを正常なインスタンスにリダイレクトします。 RELIANOID と呼ばれるプラグインのセットを使用します ファームガーディアン バックエンド サーバーとそのサービスの健全性状態を監視します。
ロードバランサーの種類: AWS ELBは3種類のロードバランサーを提供しています。これらには以下が含まれます。 用途, ネットワーク および クラシック傘 ロードバランサー。従来のロードバランサーは廃止され、 ネットワーク および 用途 使用するロードバランサー。 RELIANOID ADCレイヤー7ロードバランサーには HTTP プロファイルがあり、ネットワークロードバランサには L4xNAT プロフィール。
セキュリティグループ: セキュリティ グループは、受信トラフィックと送信トラフィックを監視および制御するファイアウォール ルールのセットです。 RELIANOID ADCには内蔵の IPDS モジュールには、ロードバランサーへの不正なトラフィックをフィルタリングし、不正なアクセスの試みをすべてブロックするポリシーが設定されています。ファイアウォールルールを作成するには、 WAF 内のオプション IPDS モジュールを開きます。
ACM: ACMサービスを使用すると、管理者はAWS上の内部接続リソース内で使用するSSL/TLS証明書をデプロイおよび管理できます。 RELIANOID ロードバランサー、アクセス方法 LSLB >> SSL証明書または、カスタム自己署名SSL証明書を 暗号化しよう 埋め込まれたプログラム RELIANOID ロードバランサー。
EC2 インスタンスまたはターゲット: これらは、Webから受信したリクエストを処理するアプリケーションコードをホストするダウンストリームLinux仮想サーバーです。これらの仮想サーバーは、 バックエンド 使用している場合 RELIANOID ADC。
設定例: SSL 証明書 #
クライアントとロードバランサ間で送信されるデータを暗号化するには、ホスト間の通信を安全に保つためにSSL証明書をインストールする必要があります。 ログイン認証情報 および クレジットカード番号 安全なトランスポート層を介して送信する必要があります。
このセクションでは、SSL証明書のインストールについて説明します。 RELIANOID AWS ACM を参照する ADC。
AWS で使用するための自己署名 SSL 証明書の設定 #
ELB に SSL 証明書をインストールするには、次の手順に従います。
- 生成するには 社会貢献活動 EC2 インスタンスの場合は、そのインスタンスの Linux コンソールにアクセスする必要があります。
- EC2 インスタンスに接続したら、次のディレクトリに移動します。 /etc/pki/tls/プライベート/
- 次のコマンドを使用して、新しい秘密鍵 2048 ビット RSA を生成します。 sudo openssl genrsa -out カスタムキー
- 次のコマンドを使用して、以前に生成した秘密キーを提供する証明書を生成します。 openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
- SSL 証明書に必要な詳細情報を入力します。
- 国: 2 つの ISO 国コードを入力します。
- 州/県: 会社が所在する州を入力してください。
- シティ: あなたが所在する都市名を入力してください。
- 一般名: 完全修飾ドメイン名を入力してください FQDNたとえば、www.relianoid.com
- パスフレーズまたはパスワード: この例ではパスワードの作成は省略できます。一方、生成された証明書は次の場所にあります。 *.pem ファイル形式。
- 次のコマンドを使用して、両方の証明書を PKCS12 バンドルにコンパイルします。openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
- AWS CLI がすでにインストールされていると仮定すると、通常は次のコマンドを使用して、生成された証明書 (custom.crt) と秘密キー (custom.key) を AWS Certificate Manager にアップロードする必要があります。 aws acm import-certificate — 証明書ファイル://custom.crt — 秘密鍵ファイル://custom.key — リージョン us-east-2
- この証明書は、作成ウィザードの「ACM から証明書を選択 (推奨)」オプションで使用できるようになります。
自己署名SSL証明書の設定 RELIANOID ADC #
- カスタムSSL証明書を生成するには RELIANOID ADC インスタンスの場合、アプライアンスのコマンド ラインを使用して次のディレクトリを見つけます。
- 次のコマンドを使用して、パスフレーズなしで秘密鍵を生成します。
- 証明書署名要求を生成する(社会貢献活動) を次のコマンドを使用して取得します。
- 必要な詳細を入力します。
- 名前: CSR を識別するための説明的な名前。
- 国: あなたが所在する国の ISO コード。
- 一般名: 完全修飾ドメイン名。(FQDN)、例:www.example.com
- 分割: あなたの部門は、医療、IT、セキュリティのいずれかです。
- 地域: あなたが所在する都市。
- 状態: 組織が所在する州。
- 組織: 組織の正式名称、例: RELIANOID SL。
- Eメール: メールアドレスを入力します。ドメイン名と同じである必要はありません。
- 生成する 自己署名証明書 秘密鍵とCSR証明書の両方を使用します。この例では、自己署名証明書の有効期間は1年で、出力形式は次のようになります。 .PEM次のコマンドを使用します。
- この証明書は、 LSLB >> SSL証明書 のセクションから無料でダウンロードできます。
cd /usr/local/zevenet/config/certificates
openssl genrsa -out カスタムキー 2048
openssl req -new -key custom.key -out custom.csr
openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
SSL証明書の詳細については、 RELIANOID ADC の場合は、次のリソースを参照してください。
構成例: Web アプリケーション ファイアウォール #
セキュリティ機能として、A WAF WAFは、悪意のあるトラフィックをフィルタリングしてブロックすることでWebアプリケーションを保護します。WAFは通常、ロードバランサーの前に配置され、次のようなさまざまな悪意のある攻撃からWebアプリケーションを保護するように設計されています。 クロスサイトスクリプティング(XSS), SQLインジェクション、およびその他の攻撃、 OWASPのトップ10.
WAF は、着信 HTTP トラフィックを検査し、一連のルールまたはセキュリティ ポリシーに照らして分析することで、安全でないと判断されたすべてのトラフィックをブロックします。 RELIANOID ADC は、IP ブラックリスト、RBL ポリシー、DoS 保護などのより高度なセキュリティ機能を提供します。
このセクションでは、 SQLインジェクション AWSで同様の構成をシミュレートし、 RELIANOID ADC。
AWS 構成 #
有効にする SQLインジェクション 保護するには、Elastic Load Balancer の背後に少なくとも 2 つまたは 2 つの EC2 インスタンスを配置する必要があります。これらの ECXNUMX インスタンスには、保護する Web アプリケーションが存在している必要があります。
- AWSのウェブコンソール内で、 WAFとシールド、表示されるリンクをクリックします。
- 以下を行うには、 ウェブ ACL メニュー項目。
- トラフィックの発生する地域を選択します。例: ヨーロッパ(フランクフルト).
- クリック ウェブ ACL を作成する
- ルールとルールグループを追加する、をクリックしてください ルールを追加する ドロップダウン矢印。
- 選択する 管理ルールグループを追加する他にも管理対象ルールグループがあります。 ボット制御, Amazon IP レピュテーション リスト, SQLデータベース, etc.
- 選択する SQLデータベース トグルボタンを有効にすることで ウェブ ACL に追加.
- 下にスクロールして、 ルールを追加する
- 以内 一致しないルールのデフォルトアクション、オプションはそのままにしておきます 許可する.
- クリック 次へ
- 以内 ルールの優先順位を設定する セクションでは、このセクションを使用してルールに優先順位を追加し、ボタンをクリックします。 次へ.
- 以内 メトリックを構成する セクションには変更するものがないので、ボタンをクリックしてください。 次へ.
- 以内 Web ACLの確認と作成 セクションで、 ウェブ ACL を作成する
- Web ACL が正常に作成されたら、作成した ACL をクリックします。
- タブをクリックします 関連する AWS リソース.
- 保護するアプリケーション ロード バランサーを追加します。リソースを追加すると、SQL データベースへのすべてのインジェクションをブロックするようにルールが設定されます。
RELIANOID 構成 #
SQLインジェクション保護を有効にするには、 WAF ルールセット 最初。
- に行く IPDS サイドメニューで、クリックして展開します。
- 以下を行うには、 WAF それを拡張するオプション。
- 以下を行うには、 ルールセット オプションを選択します。
- 以下を行うには、 WAFルールセットを作成する
- を割り当てます お名前 このルールセットを簡単に識別します。
- 出て ルールセットをコピー フィールドとして –ルールセットなし–.
- クリック Apply ボタンをクリックして変更を保存します。
- 以内 全体設定、オンに切り替え リクエスト本文を確認する オプションを選択します。
- デフォルトのアクションを次のように変更します 拒否: リクエストをカットし、残ったルールを実行しない
- クリック Apply ボタンをクリックして変更を保存します。
ルールの設定 #
- 以下を行うには、 ルール 新しいルールを追加するにはタブをクリックします。
- 以下を行うには、 新しいルール
- ルールタイプとして 行動.
- まず 相 as リクエスト本文を受信しました.
- まず 解像度 as 拒否: リクエストをカットし、残ったルールを実行しない.
- ルールに説明を追加して、ルールの内容を簡単に識別できるようにします。
- クリック Apply ボタンをクリックして変更を保存します。
条件の追加 #
- 新しく作成されたルールをクリックして条件を追加します。 条件を作成
- 以内 変数 フィールド、選択 リクエスト本文 をクリックして 変数を追加
- 以内 変換 フィールドでオプションを選択し、 なし.
- 以内 Operator セクション、選択 SQLi を検出する
- クリック Apply 新しい条件を作成するためのボタン。
ファームへのルールの有効化 #
- 以下を行うには、 農場 タブをクリックして、このルールをロード バランサー上のターゲット仮想サーバー (ファーム) に追加します。
- 以内 農場の設定選択したファームをドラッグアンドドロップして 利用可能な農場 〜へ 有効な農場.
- 右上には 緑色の再生ボタンをクリックしてルールを開始します。この時点で、WAF ルールは、主に検索フォームまたはログイン フォームを通じてリクエスト本文に埋め込まれた SQL インジェクションをブロックします。
WAF に関する詳細なリソースについては、次の記事を参照してください。
その他のリソース #
Let's Encrypt プログラムを使用して SSL 証明書を自動生成します。
データリンク/アップリンク負荷分散 RELIANOID ADC。
DNS負荷分散 RELIANOID ADC。
DDoS 攻撃からの保護。
アプリケーション、ヘルス、ネットワーク監視 RELIANOID ADC。



