内部ロード バランサー
Azure Load Balancer を使用すると、ユーザーからフロントエンド サーバーへの要求を分散させるだけでなく、フロントエンド サーバーからのトラフィックをバックエンド サーバー間で均等に分散させることもできます。
あなたが勤務している医療機関では、フロントエンド サーバーによって、中間層上でホストされているビジネス ロジック サービスが呼び出されます。 あなたは、中間層をフロントエンドと同じように、確実にスケーラブルで回復性があるようにしたいと考えています。 ロード バランサーを使用して、フロントエンド サーバーからの要求を中間層のサーバーに均等に分散することを考えています。 これにより、中間層サーバーをスケールアウトして、可能な限り最大の容量を実現することができます。 また、中間層が障害に対する回復性を持つようにします。 サーバーで障害が発生すると、このロード バランサーによってトラフィックは他のサーバーへ自動的に再ルーティングされます。
ここでは、ロード バランサーを使用して内部トラフィックを分散する方法について説明します。
内部ロード バランサーを構成する
医療ポータルのシナリオでは、Web 層によってユーザーからの要求が処理されます。 Web 層では、データベースに接続してユーザーのためにデータを取得します。 データベース層も 2 台の仮想マシンにデプロイされています。 データベース サーバーでの障害発生時に、フロントエンド Web ポータルでクライアント要求に継続的に対応できるよう、トラフィックをデータベース サーバーに分散するように内部ロード バランサーを設定できます。
内部ロード バランサーは、外部ロード バランサーとほぼ同じ方法で構成できますが、次の違いがあります。
- ロード バランサーを作成するときに、[種類] の値として [内部] を選択します。 この設定を選択すると、ロード バランサーのフロントエンド IP アドレスはインターネットに公開されません。
- ロード バランサーのフロントエンドには、パブリック IP アドレスではなく、プライベート IP アドレスを割り当てます。
- 要求を処理する仮想マシンが含まれている保護された仮想ネットワーク内にロード バランサーを配置します。
内部ロード バランサーは Web 層にのみ公開されます。 データベースがホストされているすべての仮想マシンは、1 つのサブネット内にあります。 内部ロード バランサーを使用して、これらの仮想マシンにトラフィックを分散させることができます。
分散モードを選択する
医療ポータルでは、アプリケーション層はステートレスであるため、接続元 IP アフィニティを使用する必要はありません。 既定の分散モードである 5 タプル ハッシュを使用できます。 このモードでは、最大のスケーラビリティと回復性が提供されます。 ロード バランサーでは、すべての正常なサーバーにトラフィックがルーティングされます。