こんにちは、Global Solutions事業部です。
この記事では、Azure Load BalancerとAzure Application Gatewayについて個別に学び、それぞれどのような状況で使用すべきかを解説します。これらの2つのリソースは、いくつかの共通機能を持っています。まずは、Azure Load Balancerについて見ていきましょう。
なぜロードバランサーが必要なのか?
アプリケーションのバックエンドに複数のサーバーがある場合、ロードバランサーは効率的に受信するネットワークトラフィックをバックエンドサーバーに分散します。
最近、ブラックフライデーセールでオンラインショッピングをしたことはありませんか? 多くのユーザーが同時にアクセスするウェブアプリケーションにおいて、ロードバランサーはリソースの使用を最適化し、応答時間を最小限に抑え、特定のリソースに過負荷がかかるのを防ぎます。特に、ロードバランサーはウェブサイトの可用性を向上させ、安心してショッピングを続けられるようにします。
Microsoft Azureでは、Azure Load Balancer以外にも、Azure Application Gateway、Azure Traffic Manager、Azure Front Doorなど、複数のロードバランシングソリューションを提供しています。本記事では、Azure Load BalancerとAzure Application Gatewayに焦点を当てます。
Azure Load Balancerの概要
Azure Load Balancerは、OSI(Open System Interconnection)モデルの第4層で動作するため、「ネットワーク層」のロードバランサーとも呼ばれます。ゲームアプリなど、低遅延が求められるアプリケーションに対して、非常に低い遅延を提供します。Azure Load Balancerは、転送されるパケットに干渉せず、透明なロードバランサーとして機能します。また、複数のフロントエンドIPをサポートしており、新しいフロントエンドIPアドレスからのリクエストに対応するために新しいロードバランサーを作成する必要がありません。
ロードバランサーのコンポーネント
ロードバランサーを理解するには、その主要な構成要素を理解することが重要です。ここで説明するコンポーネントの多くは、Application Gatewayのコンポーネントとも共通しています。
フロントエンド
Azure Load Balancerのフロントエンドとは、ロードバランサーが接続されているフロントエンドアプリケーションのIPアドレスを指します。フロントエンドIPには、パブリックIPとプライベートIPの2種類があります。パブリックIPはインターネットトラフィックをバランスするパブリックロードバランサーに使用され、プライベートIPは仮想ネットワーク内のトラフィックをバランスするプライベート(内部)ロードバランサーに使用されます。
バックエンドプール
ここでは、フロントエンドからのリクエストがルーティングされるバックエンドサーバーを定義します。Azure Virtual Machines (VMs)、Virtual Machine Scale Sets、またはPublic IPアドレスをバックエンドプールの構成要素として定義できます。
ロードバランサールール
ここでは、フロントエンドからバックエンドプールのサーバーにトラフィックをルーティングするためのルールを定義します。例えば、フロントエンドIPとポートから特定のバックエンドIPアドレスとポートにリクエストを転送するルールを作成できます。
ネットワークロードバランサーには特別なルールが2つあり、1つはインバウンドNATルール、もう1つはHA(高可用性)ポートルールです。インバウンドNATルールは、フロントエンドから特定の仮想マシンインスタンスまたはバックエンドプール内のインスタンスにリクエストを転送するためのルールです。HAポートルールは、すべてのポートとプロトコルをロードバランスする必要があるシナリオで役立つ特別なルールです。これにより、複数のポートに関連するルールを作成する代わりに、すべてのポートで1つのルールを適用できます。
ヘルスプローブ
ヘルスプローブは、Azure Load Balancerが各バックエンドサーバーインスタンスの健全性を確認するためのコンポーネントです。Azure Load Balancerは、健全でないインスタンスにはリクエストを転送しません。
以上が、Azure Load Balancerを構成する主要なコンポーネントです。以下の図を使って、これらのコンセプトをさらに理解することができます。


パート2に続く
パート1は以上です!パート2もお楽しみに!
アイレット株式会社のGlobal Solutions事業部では、お客様のビジネス変革を実現しながら、最新のデータソリューションの導入を加速できるように設計されたデータ分析ソリューションとデータサービスの幅広いポートフォリオを提供しています。ビジネスの成功こそ、私たちが追求するものです。お困りの際はぜひ一度お気軽にお問い合わせください。
参考資料
[1] https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/load-balancing-overview
[2] https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-overview
[3] https://learn.microsoft.com/en-us/azure/load-balancer/components