今回は、Azure Application Gatewayについてご紹介いたします。
Application Gatewayとは、
Webアプリケーションに対する通信を管理して負荷分散機能を提供するサービスです。
従来のロード バランサーはトランスポート レイヤー (送信元 IP アドレスと送信元ポート、送信先 IP アドレスと送信先ポートをそれぞれ読み取って分散するOSIレイヤー4) で動作し、送信元 IP アドレスとポートに基づくトラフィックを送信先 IP アドレスとポートにルーティングします。
一方で、Application Gatewayは、URLなどのHTTPヘッダー情報に基づいて経路を制御します。
複数のサーバーを含めた負荷分散先のサーバーグループのことを
「サーバープール」といい、送信先URLに基づいてトラフィックを制御する場合、/imageが送信先URLに含まれる時は、画像用に準備された特定のサーバープールへ、/videoがURLにある場合、ビデオ用に準備されたサーバープールへ、それぞれ通信することが可能になります。
この種類のルーティングは、
アプリケーション レイヤー (OSI レイヤー 7) の負荷分散と呼ばれます。
Azure Application Gatewayの機能
・自動スケール
Application Gatewayでは、自動スケーリングがサポートされており、トラフィック負荷パターンの変化に基づいてスケールアップまたはスケールダウンすることができます。
・ゾーン冗長性
Application Gateway は、複数の可用性ゾーンを対象にできるため、障害回復性が高く、ゾーンごとに個別の Application Gateway をプロビジョニングする必要がない。
・複数のWebサイト運用
サーバープール毎に異なるドメインが割り当てられるので、ドメインが異なるWebサイトを複数運用していても通信を目的のサイトへルーティングできます。
・セッション アフィニティ
ゲートウェイで管理される Cookie を使用すると、Application Gateway は、ユーザー セッションの後続のトラフィックを、処理のために同じサーバーに送ることができます。 この機能は、ユーザー セッションのためにセッションの状態をサーバー上でローカルに保存する場合に重要になります。
Azure Application Gatewayの利用シーン
・トラフィックの状況によりサーバーを自動スケールさせたい
Webショッピングサイトなどであれば、セールのタイミングなどでアクセスが集中し、最悪サーバーがダウンしてしまう場合があります。Azure Application Gatewayの自動スケール機能が利用でき、トラフィックの状況に応じたリソース増強・縮小を自動的に実施でき、不測のサーバーダウンなどを回避できます。
・ファイアウォールで複数のサーバープールを一元的に管理したい
複数のサーバープールの情報セキュリティを一元的に管理したい時にはAzure Application GatewayのWAF機能が便利です。WAFを起動することにより、複数サーバーのセキュリティポリシーをまとめて管理でき、各サーバーで情報セキュリティ対策を個別にするよりもサーバーへの負荷を軽減できます。
Azure上で運用しているWebサイトの冗長性や可用性の向上させたい場合には、Azure Application Gatewayを検討しましょう。
【参照】https://business.ntt-east.co.jp/content/cloudsolution/column-118.html