Azure クラスタリングの概要 #
以下の記事では、高度な負荷分散サービスを設定する方法について説明します。 RELIANOID 高可用性のためのロードバランサ Azure仮想マシンインフラストラクチャで、 RELIANOID バックエンド サーバーのファームを使用して HTTP サービスの負荷分散を行うための TCP 負荷分散プロファイルをクラスター化し、構成します。
クラウドロードバランサのクラスタリング環境 #
今回は、Azureサービスを使用してAzureでどのように適用できるかを説明します。次の図は、私たちが展開したいアーキテクチャを示しています。 RELIANOID Azure のアプリケーション配信コントローラー。
各 RELIANOID VMは1つのネットワークインターフェースで構成されます eth0 そして、 公共 と プライベートIP.
LB1 に割り当てられています 10.0.1.9 プライベートIPとして 40.117.239.182 パブリック IP として。
LB2 に割り当てられています 10.0.1.8 プライベートIPとして 137.135.92.30 パブリック IP として。
また、 LB1にはeth0:vp1という名前とプライベートIPアドレス10.0.1.11を持つ追加の仮想IPアドレス(タイプ:セカンダリ)が割り当てられます。これは、ロードバランシング用の仮想サービスまたはファームを構成するために使用され、高可用性を実現するためにクラスタの一部として含まれます。この仮想IPアドレスには、クラスタのノードのうち、現在のマスター(またはアクティブ)ノードである1つだけが同時に割り当てられます。この仮想IPアドレスは、ユーザーが公開された仮想サービスに接続するために使用するパブリックIPアドレス52.170.117.153を介してアクセスできます。
実際のアプリケーションを割り当てるバックエンドは、プライベートネットワーク10.0.1.0/24内のクラウドVMとしてセットアップされています。これにより、実際のサーバーはインターネットに公開されません。
Azure でクラウド ロード バランサー クラスタリングを実装する #
図示のアーキテクチャを設定するには、 RELIANOID ロードバランサーは、 アズールマーケットプレイスAzureポータルのホームページに移動し、 リソースを作成するを検索し、 RELIANOID ロードバランサ 製品。
ロードバランサノードの各VMパラメータは、他の仮想マシンと同様にカスタマイズできます。主な考慮事項は以下のとおりです。
サイズ: 私たちのニーズに合わせて、 B1ls 十分です。
ネットワーク·インタフェース各ロードバランサーマシンに関連付けられたネットワークインターフェースが作成されます。バランサー作成フォームで、パブリックIP、プライベートネットワーク、セキュリティグループを設定します。パブリックIPはグラフィカルユーザーインターフェース(GUI)へのアクセスに必須です。各仮想ネットワークは互いに分離されているため、選択した仮想ネットワークが、他のバランサーおよびバックエンドが配置されている仮想ネットワークと一致していることを確認してください。
マネージドID: ITは、 システム割り当てマネージドID。 の中に マネジメント セクション、有効にする アイデンティティ オプションです。そのためには、アカウントに 仮想マシン貢献者 役割の割り当て。このセクションの詳細については、 Azure のマネージド ID を構成する.
の展開後 RELIANOID ロードバランサVMでは、 インスタンスのステータス 表示されている Running: モードでは、アクセシビリティとクラスタリングのためにいくつかの構成が必要です。
1. セキュリティグループ: RELIANOID 使用 TCPポート444 HTTPSウェブGUI管理の目的と TCPポート22 SSHでコマンドライン管理とクラスタリングサービスに使用できます。さらに、各 仮想ポート ロードバランサーの仮想サービスで使用されるすべてのサービスをセキュリティグループに含める必要があります。この場合、受信トラフィックを許可するように受信ルールを設定する必要があります。 TCPポート80 バックエンドのHTTPサービスにアクセスするために、これらのネットワーク構成を設定できます。 ネットワークセキュリティグループ.
2. マネージドIDアクセス: クラスタリングを行うには、Azure RBACを使用してリソースへのアクセスを許可する必要があります。目的のリソースに移動し、 アクセス制御(IAM) 次に選択する 追加 > 役割の割り当てを追加このセクションでは、 仮想マシン貢献者 での役割 役割 > 特権管理者の役割次のタブで 加盟国 select マネージド ID へのアクセスを割り当てる をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します + メンバーを選択最後に、 サブスクリプション, 仮想マシン as システム割り当てマネージド ID 両方のロードバランサーVMを選択します。 選択をタップし、その後、 次へ そして最後に レビュー + 割り当て.
3. ネットワークインターフェイス: 両方のVMに作成されたネットワークインターフェースを探し、 IP構成 セクション。 の中に Master ノード(LB1)では、XNUMXつの異なるIPアドレスが必要です。 プライマリー プライベートIPとパブリックIP、および1つ以上の 二次 HA負荷分散の目的で使用されるクラスタリングサービスに割り当てられた仮想プライベートIP(およびオプションのパブリックIP)。 スレーブ ノード(LB2)では、 プライマリー 必要となるのは、 RELIANOID クラスタリングサービスは、 二次 アクティブ ノード (現在のマスター ロールを持つノード) 内。
IP アドレスが設定されると、仮想ロード バランサーは次のようにアクセスできるようになります。
LB1は以下からアクセス可能です https://40.117.239.182:444 user ルート パスワード インスタンスID.
LB1はIPアドレスでSSH経由でアクセス可能 40.117.239.182これは仮想マシンの展開時に構成されます。
LB2は以下からアクセス可能です https://137.135.92.30:444 user ルート パスワード インスタンスID.
LB2はIPアドレスでSSH経由でアクセス可能 137.135.92.30これは仮想マシンの展開時に構成されます。
続行する前にホスト名を変更することを検討している場合は、変更を適用するために仮想マシン インスタンスを再起動してください。
Web GUIへのアクセスが正常に完了すると、ホスト名と証明書キーという2つの重要な値が表示されます。これらの情報はロードバランサーごとに固有であり、アクティベーションライセンスに関連しています。この情報は、次のURLで説明されているとおりに使用してください:https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/。
フォームに記入すると、ブラウザがアクティベーション証明書をダウンロードします。受け取ったPEMアクティベーションライセンスを各ロードバランサーのWeb GUIからアップロードしてください。完了するとWeb GUIがロック解除され、すべての機能が完全に有効化され、操作可能になります。LB1とLB2の両方のノードで同じアクティベーション手順を実行してください。
これで設定の準備ができました RELIANOID クラスタサービス。割り当てられたパブリックIPを介してLB1のロードバランサWeb GUIにアクセスします。 https://40.117.239.182:444セクション システム > クラスタ 次のフォームに記入してください:
クラスターを構成します。
- ローカルIP: eth0のIPとNICを選択します。
- リモートIP: ここでノード LB0 の eth2 の IP を入力します。
- リモートノードパスワード (NAIST) と パスワードの確認 : ここで、他のノードの ssh のルート パスワードを入力します。デフォルトでは、LB2 のインスタンスの ID です。
「生成」ボタンをクリックして数秒お待ちください。その間に、設定を実行したノードがマスターの役割(LB1)を、もう一方のノード(LB2)がスレーブの役割を担います。
Azureで負荷分散サービスを作成する #
この時点で、 RELIANOID Azureでクラスターが構成され、動作する準備が整いました。それでは、最初のクラスター化された負荷分散サービス、つまりWebアプリケーション用のシンプルなネットワーク負荷分散サービスを構成してみましょう。 LSLB > 農場 > 農場の作成 以下のパラメータを使用します。
使用されている仮想IPアドレス10.0.1.11は、以前に設定した仮想IPアドレスであり、マスターノードから常にアクセス可能なクラスタのリソースであることを考慮してください。適用ボタンを押して、バックエンドのプライベートIPアドレスを使用してサービスセクションの設定を続行してください。
同じクライアント IP アドレスが一定期間にわたって同じバックエンドに接続されることを保証する必要がある場合に備えて、タイムアウトを 60 秒に設定した IP パーシステンスを使用してください。FarmGuardianを使用して高度なヘルス チェックを設定します。check_tcpをシンプルなヘルス チェックとして使用し、各バックエンドで TCP バックエンド ポート 80 が開いていることを確認します。次に、実際の Web サービスが実行されているバックエンド サーバーの内部 IP アドレスとポートを追加します。
次に、内部 IP 10.0.1.11に割り当てられたパブリック IP http://52.170.117.153/への接続をテストします。接続はeth0:vp1を使用してロード バランサーを通過し、利用可能なバックエンドのいずれかに転送されます。
次に、クラスタ内のマスターの役割を強制的に変更します。例えば、この役割を持つノードを再起動します。すると、もう一方のノードが仮想サービスを引き継ぎ、パブリックIPに再度接続します。既存のクライアント接続と新しいクライアント接続は、同じバックエンドに対して確立されますが、今回は新しいマスターノードを経由します。
トラブルシューティング: このホストにはシステムIDが割り当てられていません #
「このホストにはシステム ID が割り当てられていません。Azure ポータルで構成してください」というメッセージが表示された場合、ロード バランサーに対して Azure クライアントwaagent、azure-cli、またはシステム ID のいずれかが正しく設定されていないことを示しています。この問題をトラブルシューティングするには、ロード バランサーから次のコマンドを実行してください。
root@noid-ee-01:~# systemctl status walinuxagent
root@noid-ee-01:~# az login --identity
root@noid-ee-01:~# az account show
waagent と azure-cli がシステムにインストールされていない場合は、次のコマンドを実行してください。
root@noid-ee-01:~# apt-get install waagent azure-cli
Azureの高度な負荷分散とクラスタリングを活用 RELIANOID!


