⛔
【Azure】Application Gatewayについて
Application Gatewayの機能イメージ
WAF(Web Application Firewall)の機能も使えるロードバランサー です。
WAFとは
WAF(Web Application Firewall)は、Webアプリを守る「門番」のような存在で、WebサイトやWebアプリを「悪いアクセス」から守るセキュリティの仕組みです。
- WAFが働く流れ
- インターネットからアクセスが来る
- Application Gateway が受け取る
- WAF が「これは安全なアクセスか?」をチェックする
- 安全なら通す、危険ならブロック!
ロードバランサーとは
- 複数のサーバーに仕事(アクセス)をうまく振り分ける交通整理係のようなものです。例えば、人気のあるWebサイトにたくさんの人がアクセスしたとき、1つのサーバーだけでは処理しきれないので、複数のサーバーで分担して処理するために使います。
機能が似ている他サービスとの違い
WAFの機能の観点
WAF(Web Application Firewall)の機能を提供できるAzureサービスには、グローバルCDN上で動く Azure CDN WAF(プレビュー)、グローバルエッジでトラフィックを制御する Azure Front Door WAF(GA)、リージョン内VNetに配置してアプリ層負荷分散を行う Application Gateway WAF(GA)の3種類があります。
用途に合わせて、性能やカスタマイズ性、設置場所の違いで選び分けます。
項目 | Azure CDN WAF | Azure Front Door WAF | Application Gateway WAF |
---|---|---|---|
提供状況 | パブリックプレビュー | GA(一般提供) | GA(v2 SKU 推奨) |
デプロイ位置 | 世界中のCDNエッジポイント 例:日本・米国・ヨーロッパなどの高速キャッシュサーバー上で動作 |
グローバルエッジ(Anycast エンドポイント) 例:ユーザーは最寄りのFront Doorノードに到達 |
リージョン内 Virtual Network(VNet) 例:東京リージョンのVNet内に設置し社内システムとセキュアに接続 |
スケール | CDNネットワークに合わせて自動分散 例:トラフィック急増時に世界中のエッジでキャッシュ配信を分散 |
Anycast を使ったグローバル負荷分散 例:一つのAnycast IPで各リージョンのエッジをまとめて拡張 |
v2 SKU のオートスケール&ゾーン冗長 例:負荷に応じてインスタンスを増減し、ゾーン障害にも耐える配置 |
主な追加機能 | キャッシュ制御とエッジでの攻撃防御 | Bot保護 & DDoS保護連携 | URLリライト・ヘッダー操作・セッションアフィニティ |
ロードバランサーの機能の観点
以下は、Azureの主要なロードバランシングサービスである「Azure Load Balancer」「Azure Traffic Manager」「Azure Application Gateway」の違いをわかりやすくまとめた表です。
Azure ロードバランサーサービス比較表
サービス名 | 主な用途・特徴 | 対象トラフィック | 動作範囲 | 主な機能 | 適したシナリオ例 |
---|---|---|---|---|---|
Azure Load Balancer | ネットワーク層(レイヤ4)で動作し、TCP/UDPトラフィックを高速に分散します。 | TCP/UDP | 単一リージョン内 | 高速なトラフィック分散、内部・外部ロードバランシング、ヘルスプローブによる監視 | 仮想マシン間のトラフィック分散、内部ネットワークでの高可用性構成 |
Azure Traffic Manager | DNSベースでグローバルにトラフィックを分散し、ユーザーを最適なエンドポイントへ誘導します。 | 任意(DNS制御) | グローバル | パフォーマンスベース、優先度、重み付け、地理的ルーティングなどの方式を提供 | 世界中のユーザーに最適な応答を提供したい場合、リージョン間のフェイルオーバー構成 |
Azure Application Gateway | アプリケーション層(レイヤ7)で動作し、HTTP/HTTPSトラフィックを詳細に制御します。 | HTTP/HTTPS | 単一リージョン内 | URLパスやホスト名によるルーティング、SSL終端、WAF機能、セッション維持(Cookieベース) | Webアプリケーションのトラフィック管理、セキュリティ強化が必要な場合 |
用途別のおすすめサービス
- 高速なネットワークトラフィックの分散が必要な場合:Azure Load Balancer
- グローバルなユーザーに最適な応答を提供したい場合:Azure Traffic Manager
- Webアプリケーションの詳細なトラフィック制御やセキュリティ強化が必要な場合:Azure Application Gateway
Application Gatewayの主要登場人物/構成要素
主要登場人物/構成要素
Azure Application Gateway は OSI レイヤー 7(アプリケーション層)で動作するロードバランサーで、HTTP/HTTPS リクエストを柔軟に振り分けられます。
その心臓部を成すのが、
- フロントエンド IP(受け口となる IP アドレス)、
- ルール(どのリスナーを介してどこに流すか決める設定)、
- バックエンド プール(実際にリクエストを処理するサーバー群)です。
これらを組み合わせることで、ホスト名やパスに応じた高度なルーティングが可能になります。
処理の流れと役割まとめ
処理の順番 | 要素名 | 役割(何をするか) | たとえ話(初心者向け) |
---|---|---|---|
① | フロントエンド IP | クライアント(ユーザー)からのアクセスを受け付ける玄関口(IPアドレス) | お店の「住所」や「入り口」にあたる部分 |
② | ルール | 入ってきたリクエストを「どの条件で、どこへ送るか」を判断する設定 | お店の「案内係」が「あなたは2階へどうぞ」と誘導する感じ |
③ | バックエンド プール | 実際にリクエストを処理するサーバーのグループ | 実際に注文を受けて、料理を作ったり処理をしてくれる「厨房」 |
Discussion