イントロダクション #
以下の記事では、Relianoid Load Balancerを使用して高可用性を実現する高度な負荷分散サービスを設定する方法について説明します。 Amazon Web Services EC2 インフラストラクチャ設定手順を説明します。 レリアノイド星団 3 つの Web バックエンド サーバーを使用して HTTP サービスの負荷分散を行うための TCP 負荷分散プロファイルを構成します。
AWS と Relianoid Infrastructure #
次の図は、AWS の Relianoid Application Delivery Controller を使用して Web ロードバランシングを実装するアーキテクチャを示しています。
2つのRelianoidアプリケーション配信コントローラをデプロイする必要があります。このテンプレートはAmazon Web Servicesマーケットプレイスで入手可能で、各Relianoidアプリケーション配信コントローラは、上の図のサブネットに示されているように、Webバックエンドサーバーと同じVPCに構成されます。 17.32.16.0./20.
各Relianoid ADCインスタンスは1つのインターフェースで構成されています eth0、各インスタンスは1つに割り当てられます エラスティックIP、また、1つの追加のElastic IPが1つの追加のIPに割り当てられます。 eth0 会場は ZLB1-prod 以下に説明するように、負荷分散の目的で使用されるインスタンス:
ZLB1-prod に割り当てられています 172.31.20.89 eth0では、このインスタンスはXNUMXつの エラスティックIP 34.225.30.206
ZLB2-prod に割り当てられています 172.31.26.237 eth0では、このインスタンスはXNUMXつの エラスティックIP 54.161.240.226
追加のIPが1つ割り当てられます ZLB1-prod ロードバランサーに名前で設定 eth0:vip1 IP 172.31.26.47このIPは、ここで1つのロードバランシングサービスを構成するために使用され、 クラスターサービスしたがって、このIPは一度に1つのRelianoidインスタンスでのみ機能し、 ACTIVE クラスター内での役割。この内部IPは1つのElastic IPに割り当てられ、クライアントは公開された実際のWebサービスに接続するためにこのElastic IPにアクセスします。
最後に バックエンド01, バックエンド02 および バックエンド03 Linuxベースのウェブサーバーを備えたEC2インスタンスは、クライアントが要求されたときに接続する負荷分散サービスの一部です。 http://54.144.190.17/.
AWS Marketplace に 2 つの Relianoid インスタンスをデプロイする #
2 つの Relianoid ロード バランサーをデプロイし、前述のように構成してみましょう。
EC2インスタンスセクションに移動して、 インスタンスを起動.
1. 必要なRelianoid Load Balancer Enterprise Edition AMIを検索します。 AMIはBYOLライセンスに基づいています モデル。評価期間は無料で、1ヶ月間のサポートが含まれます。評価期間終了後は、正式なライセンスが必要となります。
2. 選ぶ インスタンスタイプ負荷分散したいリソースに応じて必要なインスタンスを選択します。単一の t2.small インスタンスは作業を開始するのに適しています L4プロファイル、しかし、使用したい場合は HTTPプロファイル 少なくとも t2.中 例えば、 t2.micro このインスタンスはテスト目的には十分です。
3. 構成 インスタンスの詳細ここで、新しい Relianoid インスタンスを実行する VPC を選択します。この構成例では、既に構成されている実際の Web バックエンド サーバーと同じ VPC に Relianoid EC2 インスタンスを導入します。
4. ストレージを追加Relianoid EC2インスタンスはデフォルトで少なくとも12GBのストレージを必要とします。デフォルトでログを有効にする場合は、このサイズを少なくとも20GBに増やすことを推奨します。Relianoidはログを保存するだけでディスクへのアクセスを必要としないため、 ボリュームタイプ 一般的な目的には適した選択です。
5. タグを追加する必要に応じて、ここで説明タグを設定します。
6. 構成 セキュリティグループRelianoidはデフォルトで、HTTPSウェブGUI管理用にTCPポート444、セッション同期デーモン用に9999、コマンドライン管理とクラスタリング用にSSHのTCPポート22を使用します。さらに、各 仮想ポート ロードバランサーの仮想サービスで使用されるセキュリティグループは、セキュリティグループに含める必要があります。これらのRelianoid EC2インスタンスには、以下のように制限の少ないセキュリティグループを設定しました。
タイプ = すべてのトラフィック プロトコル = すべて ポート範囲 = すべて ソース = 0.0.0.0/0 説明 = すべてからすべてへのすべてを許可
このセキュリティ グループはテスト目的で作成されており、すべてのポートをブロックし、負荷分散と管理のみに使用することを許可することもできます。
構成アシスタントがEC2インスタンスリストに戻ると、新しいアプライアンスのデプロイが開始され、 開始 状態が表示されます。次に、フィールドにわかりやすい名前を設定します。 お名前私たちの場合、EC2にデプロイされたロードバランサーの名前は ZLB1-prod および ZLB2-prod.
Relianoid EC2インスタンスのネットワーク設定 #
Relianoid仮想アプライアンスが展開され、 インスタンスの状態 表示されている Running: モードでは、ネットワークの構成に進むことができます。
右ボタンをクリックして ZLB1-prod アプライアンスを選択して ネットワーク > IPアドレスの管理、で IPアドレスの管理 ポップアップウィンドウを押します 新しいIPを割り当てる ボタンを押す はい、更新しますシステムは新しいIPを割り当てます eth0 同じVPC内にあります。この新しいIPを覚えておいてください。この例では、この新しいIPは 172.31.26.47システムは、将来のクラスタリング サービスで負荷分散の目的で使用される新しい IP を割り当てました。
セクションへ移動 エラスティックIP 各Relianoidインスタンスに新しい エラスティックIPこれらは負荷分散のためではなく、管理目的で使用されます。
同じで エラスティックIP セクションで、新しいIPを割り当てます ZLB1-prodですが、この場合は プライベートIP 住所 172.31.26.47この設定後 ZLB1-prod IPアドレスでWebとSSH経由でアクセス可能 34.225.30.206、 だけど ZLB2-prod IPと同じサービスを通じてアクセス可能 54.161.240.226 および エラスティックIP 54.144.190.17 IPに割り当てられた 172.31.26.47.
一時ライセンスでRelianoid EC2インスタンスを有効にする #
Elastic IP が設定されると、仮想ロードバランサーは次のようにアクセスできるようになります。
ZLB1-prod には、https://34.225.30.206:444 ユーザー root とパスワード、インスタンス ID を通じてアクセスできます。
ZLB1-prod は、ユーザー admin とプライベート証明書ファイルを使用して IP 34.225.30.226 の ssh 経由でアクセス可能になります。これは、EC2 のデプロイ時に設定されます。
ZLB2-prod には、https://54.161.240.226:444 ユーザー root とパスワード、インスタンス ID を通じてアクセスできます。
ZLB2-prod は、ユーザー admin とプライベート証明書ファイルを使用して IP 54.161.240.226 の ssh 経由でアクセス可能になります。これは、EC2 のデプロイ時に設定されます。
続行する前にホスト名を変更することを検討している場合は、変更を適用するために EC2 インスタンスを再起動してください。
Web GUI へのアクセスが正常に完了すると、ホスト名と証明書キーという 2 つの重要な値が表示されます。どちらの情報もロード バランサーごとに一意であり、アクティベーション ライセンスに関連しています。次の URL で説明されているように、この情報を使用します。 https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/
フォームにご記入いただくと、システムからご指定のメールアドレスにライセンスが自動的に送信されます。受信したPEMアクティベーションライセンスを各ロードバランサーのWeb GUIからアップロードしてください。アップロードが完了するとWeb GUIがロック解除され、すべての機能が完全に有効化され、操作可能になります。
ZLB1-prod ノードと ZLB2-prod ノードの両方で同じアクティベーション手順を実行します。
負荷分散のための仮想IPの設定 #
前のポイントでは、eth0に追加のIPを割り当てました。 172.31.26.47 インスタンスZLB1-proでは、このIPはXNUMXつのElastic IPに割り当てられています 54.144.190.17現在、ZBL1-pro ロードバランサでこの構成を実行することが保留中です。
Elastic IPを使用してWebインターフェースからZLB1-proロードバランサーにアクセスします。 https://34.225.30.206:444ログインしたらナビゲーションメニューへ進んでください ネットワーク > 仮想インターフェース > 仮想インターフェースの作成、次の設定を行います。
親インターフェース = eth0 172.31.26.47
*EC2インスタンスはElastic IPについて何も知らないため、負荷分散目的で使用されるパブリックElastic IP 2にリンクされたEC54.144.190.17インスタンスの物理IPをここで設定する必要があります。
仮想インターフェース名 = vip1
IPアドレス = 172.31.26.47
メディア掲載 創造する 設定を適用するボタン。
新しいIP 172.31.26.47 名前付き eth0:vip1 ZLB1-pro EC2 Relianoid ロードバランサーに設定されており、この VPC 内のどの EC2 インスタンスからでも ping できます。
Amazon Web Services での Relianoid Cluster サービスの設定 #
Relianoidロードバランサクラスタは ステートフルアクティブパッシブ モードでは、クラスタリソースは両方のノードに設定されているが、 ACTIVE ノード。そのようなノードに障害が発生し、他のメンバーでこのロールが開始されると、クラスタリソースに再度アクセスする必要があります。仮想IPもクラスタリソースであるため、Amazon Web Serviceに、負荷分散用に設定された仮想IPを何らかの方法で通知する必要があります。 172.31.26.47 現在、ZLB2-prod 経由で動作します。
このため、Relianoid ClusterサービスはAWSクライアントを使用しますが、インターフェース管理のためにEC2モジュールで権限を設定する必要があります。そのため、Relianoid Clusterサービスを開始する前に、AWSクライアントを準備する必要があります。それでは、 AWSキー AWS コマンドラインインターフェイスで使用するために、EC2 の IP を管理する権限を持つアカウント。
Amazonコンソールへ移動 https://console.aws.amazon.com/iam/ ナビゲーションメニューで ユーザーボタンをクリックします ユーザーを追加.
説明的なユーザー名を設定します = aws-for-zlb
In AWSアクセスタイプを選択 選ぶ プログラムによるアクセス ボタンを押す 次:パーミッション。 今すぐ 権限を設定する セクションを押し込む グループを作る そして新しいウィンドウでフィールドに入力します グループ名 たとえば、説明的な名前で、 AmazonEC2そして最後に、現場で フィルターポリシー という名前のポリシーを検索して選択する AmazonEC2フルアクセス これにより、EC2 インスタンス間で割り当てられた IP を変更する権限が付与されます。
押し込む 次:タグ および 次:レビュー最後に押し込みます ユーザーを作成最後のウィンドウには、 アクセスキーID と シークレットアクセスキー このユーザーの場合は、将来使用するために保存してください。
これでRelianoid Clusterサービスを構成する準備が整いました。割り当てられたパブリックIP https://1:34.225.30.206、セクションを介してZLB444-proのWebパネルにアクセスします。 システム > クラスタ 次の例に従ってフォームに入力します。
AWS認証情報アクセスキーとシークレットキーは、前の行で既に生成されています。リージョンは、Relianoidアプリケーションデリバリーコントローラーがデプロイされているリージョンを選択してください。
クラスターを構成する:
ローカルIP: eth0のIPとNICを選択します。
リモートIP: ここで、ノード ZLB0-pro の eth2 の IP を入力します。
リモートノードパスワード および パスワードの確認
: ここで、他のノードの ssh のルート パスワードを入力します。デフォルトでは、ZLB2-pro のインスタンスの ID です。
ソフトウェアの制限をクリック 生成する ボタンを押して数秒待つと、設定を実行するノードが ACTIVE 役割(ZLB1-pro)ともう2つ(ZLBXNUMX-pro)は、 受動的 役割。
この時点で、Relianoid Cluster は AWS で構成され、動作する準備が整っています。最初のクラスター化された負荷分散サービスを構成しましょう。
ウェブサービス用のシンプルなL4ロードバランシングの構成 #
に行く LSLB > 農場 > 農場の作成 以下のパラメータを使用します。
使用される仮想IPを考慮 172.31.26.47 は、以前に設定された仮想IPであり、常にアクセス可能なクラスタのリソースです。 ACTIVE ノード。押す 創造する そして続けます。
新しいウィンドウで設定します グローバルセクション 以下のように:
最後にセクションを設定します サービス 説明したように:
タイムアウト付きのIP永続性 一定期間、同じクライアントIPが同じバックエンドに接続していることを保証する必要がある場合は、60秒に設定してください。高度なヘルスチェックを設定するには、 ファームガーディアン。 使用 チェック_tcp 各バックエンドでTCPバックエンドポート80が開いていることを確認するための簡単なヘルスチェックとして、実際のWebサービスが稼働しているバックエンドサーバーの内部IPとポートを追加します。
次に接続をテストします エラスティックIP http://54.144.190.17/ assigned to the internal IP 172.31.26.47, the connection will pass through the load balancer using the eth0:vip1 利用可能なバックエンドの 1 つに転送されます。
今こそ変化を起こす力 ACTIVE 例えば、クラスタ内の他のロールを持つノードを再起動すると、数秒後にもう一方のノードが仮想サービスを引き継ぎ、パブリックIPに再接続します。現在のクライアント接続と新しいクライアント接続は同じバックエンドに対して確立されますが、今回は新しいクライアント接続を介して行われます。 ACTIVE クライアントの中断なしにノードを実行します。
ロードバランサに新しいインターフェースを追加する #
負荷分散などの目的のために、ロードバランサーにインターフェースを追加設定することも可能です。AWSがEC2インスタンスに新しいインターフェースを追加するための手順に従うだけで、簡単に設定できます。ベストプラクティスについて詳しくは、AWSが提供する記事をご覧ください。 https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.htmlEC2 インスタンスに新しいインターフェースを追加すると、Relianoid はこれらの新しいインターフェースを自動的に検出するので、必要に応じて設定できるようになります。
Relianoid で AWS の高度な負荷分散とクラスタリングをお楽しみください。






