跳到主要内容

Azure Front Door

Azure Front DoorはMicrosoftのグローバルCDN・ロードバランサーサービスです。世界中に分散したPoP(Point of Presence)を活用して、Webアプリケーションの高速配信・高可用性・セキュリティを提供します。

Azure Front Doorの概要

Azure Front Doorは以下の機能を統合したサービスです。

  • グローバルロードバランシング: 複数リージョンへのトラフィック分散
  • CDN(コンテンツ配信ネットワーク): 静的コンテンツのエッジキャッシュ
  • SSL/TLS終端: エッジでのHTTPS処理によるバックエンド負荷軽減
  • WAF(Webアプリケーションファイアウォール): エッジでの脅威検知・ブロック
  • パス・ベースルーティング: URLパスに基づくバックエンド振り分け
  • 正常性プローブ: バックエンドの死活監視と自動フェイルオーバー

StandardとPremiumの違い

Azure Front Doorには StandardPremium の2つのティアがあります。

機能比較表

機能StandardPremium
CDN・キャッシュ
グローバルロードバランシング
SSL/TLS終端
カスタムドメイン
パス・ベースルーティング
WebSocket対応
WAF(マネージドルールセット)✅ Microsoft Default Ruleset✅ Microsoft Default Ruleset + Bot Manager
WAF(カスタムルール)✅ 基本的なカスタムルール✅ フル機能
WAF(レート制限)
WAF(Bot Manager)
WAF(異常スコアリング)
Private Linkオリジン接続
Microsoft脅威インテリジェンス
セキュリティレポート基本詳細(WAFダッシュボード)
サポートSLA99.99%99.99%

コスト比較

※ 価格は変動するため、最新情報はAzure公式価格ページを参照してください。

主なコスト構成要素

コスト項目StandardPremium
ベース料金(月額)約 $35約 $330
データ転送(送信)帯域ごとの段階料金帯域ごとの段階料金(若干高め)
リクエスト料金HTTP/HTTPS リクエスト数HTTP/HTTPS リクエスト数
WAFポリシー含む(基本機能)含む(フル機能)
Private Linkオリジン非対応接続数ごとの追加料金

コスト選定のポイント

  • Standardで十分なケース: 一般的なWebサイト、マネージドルールセットとカスタムルールのみで要件を満たせる場合、Bot対策が不要な社内システム
  • Premiumが必要なケース: 金融・EC等でBot対策が重要なサービス、バックエンドをインターネット非公開にしたい場合(Private Link)、高度なセキュリティ分析・レポートが必要な場合

注意: PremiumはStandardの約10倍のベース料金です。WAFポリシーの複雑さや保護要件を整理したうえで選択してください。

WAFの詳細

WAF Standard でできること

Standard ティアでも基本的なWAF機能を利用できます。

✅ 利用可能な機能

1. Microsoft Default Ruleset (DRS)

  • OWASP CRSベースのマネージドルールセット
  • SQLインジェクション、XSS、LFI/RFI等の一般的な攻撃を自動ブロック
  • Microsoftが定期的にルールを更新・管理
対応攻撃例:
- SQLインジェクション
- クロスサイトスクリプティング(XSS)
- ローカル/リモートファイルインクルード(LFI/RFI)
- コマンドインジェクション
- プロトコル違反

2. カスタムルール(基本)

  • 送信元IPアドレスによる許可・拒否リスト
  • HTTPヘッダー、クエリパラメータ、リクエストボディの条件マッチング
  • 地理的ブロック(GeoMatch条件)
  • レート制限ルール
// カスタムルールの例: 特定IPブロック
{
"name": "BlockSpecificIP",
"priority": 100,
"ruleType": "MatchRule",
"action": "Block",
"matchConditions": [
{
"matchVariables": [{ "variableName": "RemoteAddr" }],
"operator": "IPMatch",
"matchValues": ["203.0.113.0/24"]
}
]
}

3. レート制限

  • 特定の条件(IP、パスなど)に基づいてリクエスト数を制限
  • DDoS軽減に活用可能(ただし大規模DDoSはAzure DDoS Protectionが必要)

4. 検知モード / 防御モード

  • 検知モード(Detection): ルールに一致しても実際にはブロックせず、ログのみ記録(初期導入・チューニング時に活用)
  • 防御モード(Prevention): ルールに一致したリクエストをブロック

❌ Standard では利用できない機能

  • Bot Managerルールセット: 悪意あるボット・スキャナーの自動識別・ブロック
  • 異常スコアリングモード: 複数のルールマッチを累積スコアで判定(誤検知の削減)
  • Microsoft脅威インテリジェンス統合: リアルタイムの脅威IPリストとの照合
  • 詳細WAFダッシュボード: セキュリティイベントの可視化・分析レポート

WAF Premium でできること

Premium ティアでは、Standardの全機能に加えて以下が利用可能です。

Bot Manager ルールセット

Microsoftが管理するBot識別ルールセットです。

Bot カテゴリ説明デフォルト動作
良性Bot(検証済み)Googlebot、Bingbot等許可
良性Bot(未検証)一般的なクローラーログ記録
悪意あるBotスキャナー、攻撃ツールブロック
不明Botカテゴリ不明ログ記録

Bot Managerにより、SEOクローラーへの影響なしに悪意あるボットを自動ブロックできます。

異常スコアリングモード

OWASP CRS の異常スコアリングモデルを採用しています。各ルールには重大度に応じたスコアが付与され、累計スコアが閾値を超えた場合のみブロックします。

軽微な違反: +1 点
中程度の違反: +2 点
重大な違反: +5 点
閾値デフォルト: 5 点以上でブロック

これにより単発の誤検知によるブロックを減らし、実際の攻撃のみをブロックする精度が向上します。

Microsoft 脅威インテリジェンス統合

Microsoftのセキュリティチームが収集した既知の悪意あるIPアドレス・URLに対して、リアルタイムで照合・ブロックします。

Private Linkオリジン接続(Premiumのみ)

バックエンド(App Service、Azure Kubernetes Service等)をインターネット非公開にしながら、Front Door経由でのアクセスのみを許可できます。

これにより、バックエンドのApp ServiceやAKSをインターネットから完全に遮断しつつ、Front Door経由のみで安全にアクセス可能になります。

Application Gatewayとの使い分け

Azure Application GatewayとAzure Front Doorはどちらもレイヤー7(HTTP/HTTPS)のロードバランサーですが、設計思想が異なります。

サービス比較

項目Azure Front DoorAzure Application Gateway
スコープグローバル(複数リージョン)リージョン内(単一リージョン)
デプロイ形態PaaSサービス(マネージド)VNet内にデプロイ
CDN機能✅ 統合❌ なし
SSL/TLS終端エッジ(グローバルPOP)リージョン内VNet
バックエンド対象インターネット経由またはPrivate LinkVNet内またはパブリックエンドポイント
WAF✅ 統合(Standard/Premium)✅ 統合(WAF_v2 SKU)
Cookie Affinity(スティッキーセッション)限定的✅ 充実
URL書き換え
カスタムエラーページ
WebSocket
gRPC
mTLS(クライアント証明書認証)
VNet内プライベートトラフィックPremium(Private Link)✅ ネイティブ
コスト傾向Standard: 低コスト、Premium: 高コストSKUとキャパシティに依存

使い分けの判断基準

Azure Front Door を選ぶべきケース

  1. グローバルアプリケーション: 世界中のユーザーに低レイテンシで配信したい
  2. マルチリージョン可用性: 複数リージョンのバックエンドへ自動フェイルオーバーしたい
  3. CDN統合: 静的コンテンツをエッジキャッシュして配信したい
  4. エッジでのWAF: ユーザーに最も近い場所で脅威をブロックしたい
  5. グローバルSSL終端: 世界中のエッジでHTTPSを終端してバックエンド負荷を軽減したい

Application Gateway を選ぶべきケース

  1. VNet内ルーティング: すべてのトラフィックをVNet内で完結させたい
  2. mTLS(相互TLS認証): クライアント証明書による認証が必要
  3. gRPCバックエンド: gRPCプロトコルを使うマイクロサービス
  4. 高度なセッション管理: Cookie-based Session Affinityが必要なレガシーアプリ
  5. Single RegionのWebアプリ: グローバル分散が不要な社内システム等

Front Door + Application Gateway の組み合わせ

大規模エンタープライズでは両方を組み合わせることもあります。

この構成のメリット:

  • Front Doorでグローバルな脅威をエッジでブロック
  • Application Gatewayでリージョン内のきめ細かいルーティング制御
  • バックエンドをVNet内に完全隔離可能

ただし、コストが高くなるため、要件を十分に検討してから採用してください。

ベストプラクティス

1. WAFはまず検知モードで運用する

本番環境にWAFを新規導入する際は、最初は**検知モード(Detection)で開始し、ログを分析してから防御モード(Prevention)**に切り替えます。

手順:
1. WAFポリシーを検知モードで設定
2. 1〜2週間ログを収集(Azure Monitor / Log Analytics)
3. 誤検知(正規リクエストのブロック)を特定
4. 誤検知ルールを除外設定(Exclusion)に追加
5. 防御モードに切り替え

2. マネージドルールセットのバージョン管理

DRS(Microsoft Default Ruleset)は定期的に更新されます。

  • 新バージョンがリリースされたらまず検知モードで評価してから適用
  • 重要なアプリケーションでは、DRSの自動アップグレードを無効にして手動管理を検討

3. カスタムルールの優先度設計

カスタムルールはマネージドルールセットより先に評価されます。優先度(Priority)の設計が重要です。

推奨優先度設計:
1〜 99: IPホワイトリスト(信頼できるIPを最優先で許可)
100〜199: 地理的ブロック
200〜299: レート制限
300〜: IPブラックリスト・その他ブロックルール

4. Private Linkによるバックエンド保護(Premium)

Premiumティアを利用する場合は、バックエンドのApp ServiceやAKSにPrivate Linkを設定してインターネットからのダイレクトアクセスを遮断します。

// App Serviceのパブリックアクセス制限(Bicep例)
resource appService 'Microsoft.Web/sites@2022-09-01' = {
name: 'app-myapp-prod'
location: resourceGroup().location
properties: {
publicNetworkAccess: 'Disabled' // インターネットからのアクセスを無効化
siteConfig: {
// Front Door専用のサービスタグを使う場合はネットワーク制限で設定
}
}
}

5. 正常性プローブの適切な設定

バックエンドの正常性プローブは軽量なエンドポイントを専用に用意します。

推奨設定:
- プローブパス: /health または /healthz
- プロトコル: HTTPS
- 間隔: 30〜60秒
- プローブメソッド: HEAD(GETより負荷が低い)

6. キャッシュの適切な設定

静的リソースにはキャッシュを積極的に活用しますが、APIエンドポイントはキャッシュを無効化します。

静的コンテンツ(CSS, JS, 画像):
- キャッシュ有効化
- キャッシュ期間: 1日〜1週間
- Cache-Controlヘッダーを明示的に設定

API・動的コンテンツ:
- キャッシュ無効化
- Cache-Control: no-store を設定

7. DDoS対策との組み合わせ

Azure Front DoorのWAFレート制限は大規模DDoSへの対応に限界があります。重要なサービスではAzure DDoS Protectionとの組み合わせを検討してください。

推奨構成:
- Azure DDoS Protection Standard: ネットワーク層(L3/L4)の大規模攻撃対策
- Azure Front Door WAF: アプリケーション層(L7)の攻撃対策

8. ログ・監視の設定

WAFのログはAzure Monitor・Log Analyticsに必ず送信し、アラートを設定します。

// WAFでブロックされたリクエストを集計するKQLクエリ
AzureDiagnostics
| where Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
| summarize count() by ruleName_s, clientIP_s
| order by count_ desc
| take 20

まとめ

観点StandardPremium
コスト低(月額 〜$35〜)高(月額 〜$330〜)
WAF機能マネージドルールセット + カスタムルールBot Manager・脅威インテリジェンス追加
バックエンド保護インターネット経由のみPrivate Linkでプライベート接続
適したケース一般的なWebサイト・API金融・EC等の高セキュリティ要件
  • Azure Front Door はグローバル配信・CDN・エッジWAFが必要なケースで選択
  • Application Gateway はVNet内ルーティング・mTLS・gRPCが必要なケースで選択
  • WAFは必ず検知モードで始めてチューニングを行い、その後防御モードに移行する
  • Premiumの高コストを正当化するには、Bot ManagerまたはPrivate Linkの利用が鍵となる