AWS WAF の料金体系を徹底解説|コスト試算例と最適化のポイント
Web アプリケーションへのサイバー攻撃が増えるなか、 WAF すなわちウェブアプリケーションファイアウォールの導入を検討する企業が増加しています。AWS WAF の料金体系が複雑でどこから試算すればよいかわからない点や、 Bot Control や Fraud Control を使うとコストがどれだけ増えるか把握できていない点、月額固定型のサードパーティ製 WAF とどちらのコスト効率がよいか判断できない点などが課題として挙げられます。
AWS WAF の料金体系の基本から具体的なコスト試算例、運用コストを抑えるための最適化手法まで順を追って説明します。
WAF の料金体系を正しく理解する
WAF の料金を検討するうえで最初に押さえておくべき点が課金モデルの違いです。 WAF の料金体系は大きく従量課金型と月額固定型の2種類に分かれます。どちらを選ぶかによって月々のコストや予算管理の方法が変わります。
AWS WAF は従量課金型の代表例です。使った分だけ支払う仕組みのため初期費用なしで始められます。ただしトラフィック量やルールの複雑さによって月額コストが変動します。国内外のサードパーティ製クラウド型 WAF の多くは月額固定型を採用しており、毎月一定の料金が発生するためコストの予測が立てやすい点が特徴です。
WAF の主な課金モデルの種類
WAF の課金モデルは大きく2種類に分けられます。
従量課金型は実際に使用したリクエスト数やルール数、 Web ACL 数などに応じて料金が発生するモデルです。 AWS WAF がこれにあたります。初期費用が不要で小規模な利用から始められる点が強みですが、トラフィックが急増すると料金も比例して増加するため予算管理に注意が必要です。
月額固定型はサービスごとに決められた月額料金を毎月支払うサブスクリプション方式です。月額料金は製品によって異なりますが、毎月の支払い額が一定で予算を立てやすい点が特徴です。ベンダーがルール更新やシグネチャ管理を担当するため運用負荷が低い傾向があります。
月間リクエスト数の規模や社内の WAF 運用スキル、予算管理の方針などを合わせて自社に適したモデルを判断します。
AWS WAF とサードパーティ WAF の料金比較
AWS WAF とクラウド型 SaaS WAF では、料金水準とコストが逆転するトラフィック規模があります。
| 項目 | AWS WAF 従量課金型 | クラウド型 SaaS WAF 月額固定型 |
|---|---|---|
| 初期費用 | なし | 製品によって異なる |
| 月額料金 | 使用量に応じて変動 | 製品ごとに固定料金 |
| リクエスト 100 万件相当 | 約 $10.60 程度 | 固定料金内 |
| 運用負荷 | ルール設計やチューニングが必要 | ベンダーが管理 |
| セキュリティ更新 | マネージドルール使用時に自動更新 | ベンダーが対応 |
月間リクエスト数が100万件未満など少ない段階では AWS WAF の方が低コストになる場合があります。月額固定型は高トラフィックでも料金が増えないため、大量のリクエストを処理するサービスでは相対的にコスト効率が高くなります。
料金だけでなく運用コストを含めたトータルで比較することが重要です。 AWS WAF はルールの設計や管理に専門知識が必要なため、社内エンジニアの工数コストも含めて総合的に判断します。
AWS WAF の料金はリージョンによって異なる場合があります。本記事では米国東部バージニア北部リージョンの料金例を参考として示していますが、実際の利用リージョンでの最新料金は AWS 公式料金ページで必ず確認してください。
参照:AWS WAF の料金
AWS WAF の基本料金
AWS WAF の料金は主に3つのコンポーネントで構成されています。
- Web ACL すなわちウェブアクセスコントロールリストの月額料金
- ルールの月額料金
- リクエスト処理料金
これらが組み合わさって最終的な月額コストになります。加えてルールの複雑さによって発生する WCU 超過料金や、大きなリクエスト本文を検査する際の追加料金も把握しておく必要があります。
Web ACL とルールの月額料金
AWS WAF の基本料金として Web ACL とルールの月額料金があります。
Web ACL の料金は作成した Web ACL 1件あたり月額 $5.00 です。Web ACL とは WAF のルールをまとめて管理する機能です。保護対象のリソースである Amazon CloudFront や Application Load Balancer、Amazon API Gateway などに対して1つの Web ACL を関連付けることで WAF の保護が有効になります。グローバルな配信網である Amazon CloudFront に関連付けると、CDN によるオリジン保護とあわせて世界中のエッジロケーションで検査が行なわれます。
複数の Web サービスを運営している場合、それぞれに Web ACL を作成すると費用が作成数に応じて増えていきます。1つの Web ACL で複数サービスを保護する設計を検討するとよいでしょう。ルールグループを活用することでコストを抑えながら管理の効率化もはかれます。
ルールの料金は Web ACL に追加したルール1件あたり月額 $1.00 です。自社で独自に定義するカスタムルールにも、 AWS や AWS Marketplace 出品者が提供するルールセットであるマネージドルールグループの1グループにも同様に適用されます。
ルールグループを使う場合、グループ内に何件のルールが含まれていてもグループ1つで月額 $1.00 のカウントになります。10件のルールをバラバラに追加すると月額 $10.00 かかりますが、1グループにまとめれば月額 $1.00 で済みます。
月額料金は1時間ごとに按分されます。月の途中で Web ACL を作成または削除しても使用した時間分のみ請求されます。
リクエスト処理料金
AWS WAF のリクエスト処理料金は Web ACL が処理した Web リクエスト数に応じて発生します。
基本料金は 100万リクエストあたり $0.60 です。月間リクエスト数が増えるほどこの料金が積み重なっていきます。
| 月間リクエスト数 | リクエスト処理料金の概算 |
|---|---|
| 100 万件 | $0.60 |
| 1,000 万件 | $6.00 |
| 1 億件 | $60.00 |
月間1,000万リクエストが発生する Web アプリケーションに対して、 Web ACL 1件とルール10件という構成で AWS WAF を設定した場合の月額料金は以下のようになります。
- Web ACL 1件 $5.00
- ルール 10件分として $10.00
- リクエスト処理10単位分として $6.00
- 合計月額 $21.00
この試算は Bot Control や Fraud Control などのオプション機能を使用しない場合の金額です。実際にはルール数やオプション機能の選択によって変わります。
リクエスト料金は関連付けるリソースによって一部差異が生じる場合があります。最新情報は AWS 公式料金ページで確認してください。
WCU 超過料金と本文検査追加料金
AWS WAF を使ううえで見落とされやすい料金が WCU 超過料金と本文検査追加料金の2種類です。
WCU すなわちウェブキャパシティユニットは AWS WAF が各ルールの処理負荷を数値化した指標です。正規表現を使ったルールなど複雑な設定は WCU を多く消費します。 Web ACL あたりのデフォルトの WCU 上限は 1,500 WCU です。
この上限を超えると超過した500WCU ごとに100万リクエストあたり $0.20 の追加料金が発生します。2,000 WCU を使用して500 WCU を超過している場合、100万リクエストあたりの料金は基本の $0.60 と超過分の $0.20 を合わせた $0.80 となります。
本文検査追加料金は HTTP リクエストの本文を検査する際に適用されます。本文の最初の 16 KB までが基本料金の範囲内で検査されます。16KB を超える本文を検査する場合、追加の16 KB ごとに100万リクエストあたり $0.30 の追加料金が発生します。
本文サイズが32 KB のリクエストを100万件処理した場合、追加の16 KB 分として $0.30が上乗せされます。ファイルアップロードや API リクエストなど本文が大きくなりやすいサービスを保護する場合はこの料金項目に注意が必要です。
マネージドルール・高度なセキュリティ機能の料金
AWS WAF の基本機能に加えてより高度なセキュリティ機能を利用する場合は追加料金が発生します。AWS が提供するマネージドルールグループや Bot Control、Fraud Control が該当します。
これらの機能は基本 WAF 料金に上乗せする形で課金されます。必要な機能だけを選んで追加できるため、コストとセキュリティ強度のバランスを自社の要件に合わせて調整できます。
マネージドルールグループの料金
AWS が提供するマネージドルールグループは、 AWS のセキュリティエキスパートが管理および更新する既製のルールセットです。自社でルールを一から設計する手間が省けるため導入の初期コストや運用負荷を下げる効果があります。
無料のマネージドルールグループとして以下のようなものがあります。
- AWS マネージドルール コアルールセット SQL インジェクションや XSS など一般的な攻撃を防御します
- AWS マネージドルール Amazon IP 評判リスト 悪意のある IP アドレスからのアクセスをブロックします
- AWS マネージドルール 既知の不正入力 既知の脆弱性への攻撃パターンを防御します
これらのグループを Web ACL に追加する場合、グループ内のルール数にかかわらず1グループにつきルール1件分となる月額 $1.00 のみが発生します。基本的なセキュリティ対策を低コストで実現したい場合は無料マネージドルールの活用を検討します。
有料の AWS Marketplace マネージドルールグループはサードパーティベンダーが提供するルールセットです。各ベンダーが独自に料金を設定しており、月額固定のサブスクリプション料金と従量課金のリクエスト処理料金を組み合わせた構成が一般的です。
Bot Control の料金
AWS WAF Bot Control は Web サービスに対する不正なボットトラフィックを検知して制御するマネージドルールです。過剰なリソース消費やスクレイピング、クレデンシャルスタッフィングなど多様な攻撃に対応します。
Bot Control には Common Bot Control と Targeted Bot Control の 2 種類があります。
Common Bot Control の料金
- サブスクリプション Web ACL ごとに月額 $10.00
- リクエスト料金 100 万リクエストあたり $1.00
- 無料枠 月間 1,000 万リクエストまで無料
月間2,200万リクエストが発生する環境で Common Bot Control を有効にした場合の試算は以下の通りです。
- Bot Control サブスクリプション $10.00
- Bot Control リクエスト料金 1,200 万件分として $12.00
- Bot Control 合計 月額 $22.00
この金額に Web ACL やルール、リクエスト処理といった基本 WAF 料金が加算されます。
Targeted Bot Control の料金
高度な回避技術を持つボットに対応する強力な機能です。
- サブスクリプション Web ACL ごとに月額 $10.00
- リクエスト料金100万リクエストあたり $10.00
- 無料枠 月間 100万リクエストまで無料
Targeted Bot Control はリクエスト料金が Common Bot Control の10倍になるため大量のリクエストを処理する環境では月額コストが大きくなります。スコープダウンステートメントを活用して検査対象のトラフィックを絞り込む設計が必要です。
CAPTCHA とチャレンジの料金
CAPTCHA アクションを使用する場合、ユーザーが CAPTCHA チャレンジを試行するたびに1,000 試行あたり $0.40 の料金が発生します。チャレンジレスポンスによってチャレンジページが提供される場合にも別途料金が発生します。
Fraud Control の料金
AWS WAF Fraud Control はログインページや新規登録ページを不正アクセスから保護するマネージドルールです。盗まれた ID とパスワードを使った不正ログイン試行や偽アカウント大量作成などの攻撃に対応します。
Fraud Control は2つの機能で構成されています。
Account Takeover Prevention すなわちアカウント乗っ取り防止
- サブスクリプション Web ACL ごとに月額 $10.00
- リクエスト料金 段階的な課金体系
Account Creation Fraud Prevention すなわち不正アカウント作成防止
- サブスクリプション Web ACL ごとに月額 $10.00
- リクエスト料金 アカウント乗っ取り防止機能と同一の段階的な課金体系
Fraud Control のリクエスト料金は分析したリクエスト数に応じて段階的に変化します。
| 月間リクエスト数の合計 | リクエスト料金 |
|---|---|
| 200 万件まで | 100 万リクエストあたり $1,000 |
| 200 万から 500 万件 | 100 万リクエストあたり $700 |
| 500 万から 1,500 万件 | 100 万リクエストあたり $400 |
| 1,500 万から 3,000 万件 | 100 万リクエストあたり $200 |
| 3,000 万件以上 | 100 万リクエストあたり $50 |
| 無料枠 | 月間 10,000 リクエスト |
Fraud Control はリクエスト数が少ない段階では料金単価が高くなります。ログインページや登録ページへのアクセスに絞ったうえで適用することで不必要なコスト増加を避けられます。全リクエストに適用すると月額コストが大幅に増加するため適用スコープの設計が重要です。
AWS WAF 導入の段階的アプローチと費用対効果
AWS WAF の導入にあたっては、投資対効果を明確にしつつリスクを最小限に抑える段階的なアプローチが推奨されます。
段階的な導入フェーズ
Phase1 小規模テスト(PoC)から始める
まずは影響範囲の小さい開発環境や単一の Web アプリケーションに限定して WAF を適用し、無料のマネージドルールを用いて挙動を確認します。
Phase2 効果検証と改善
実際のトラフィックに対する検知状況をログで分析し、誤検知の除外設定やカスタムルールのチューニングを実施して検知精度を高めます。
Phase3 本格展開と組織浸透
チューニングが完了したルールを本番環境全体に適用し、トラフィック規模に応じた本格的な運用監視体制へと移行します。本格的な運用監視体制へと移行する際は、誤設定による大規模な通信遮断に備え、WAF ルールのバックアップや切り戻し手順を事前に確立しておくことが重要です。
費用対効果の試算例
目視によるアクセスログの監視と手動での IP 遮断に月間数十時間かかっていた運用作業が、 AWS WAF のマネージドルールを活用することで自動化されます。月額数十ドルのシステム費用で同等以上の防御を実現でき、セキュリティ監視にかかる人的コストを大幅に削減できる可能性があります。
ユースケース別のコスト試算例
実際の利用シーンに合わせた AWS WAF のコスト試算例を紹介します。すべての試算は米国東部バージニア北部リージョンを基準とした参考値です。実際の利用リージョンでの最新料金は AWS 公式料金ページで確認してください。
小〜中規模サイトのコスト例
ケース① 基本的な WAF 構成 月間1,000万リクエスト
比較的トラフィックが少ない Web サービスを想定したシンプルな構成です。
- Web ACL1件 $5.00
- カスタムルール10件 $10.00
- リクエスト処理1,000 万件$6.00
- 月間合計 $21.00
ケース② マネージドルールグループを活用した構成 月間1,000万リクエスト
AWS 提供の無料マネージドルールグループを3グループ追加し、運用負荷を抑える構成です。
- Web ACL 1件 $5.00
- マネージドルールグループ 3件 $3.00
- リクエスト処理 1,000万件 $6.00
- 月間合計 $14.00
グループ単位で月額 $1.00のカウントになるため、ルールをバラバラに追加するよりもコストを抑えられる場合があります。
ケース③カスタムルール多数の構成 月間1,000万リクエスト
自社サービスに特化した細かいルールを独自に設計する場合の例です。
- Web ACL 1件 $5.00
- カスタムルール 19件 $19.00
- リクエスト処理 1,000 万件 $6.00
- 月間合計 $30.00
ルール数が増えるほど月額料金が増加します。定期的にルールを見直して不要なルールを整理することがコスト最適化の基本です。
大規模サイト・高トラフィックのコスト例
ケース④ Common Bot Control 有効 月間2,200万リクエスト
中規模から大規模サービスで Common Bot Control を導入した場合の試算です。
- Web ACL 1 件 $5.00
- マネージドルールグループ含むルール合計 8 件 $8.00
- リクエスト処理 2,200 万件 $13.20
- 基本 WAF 合計 $26.20
- Bot Control サブスクリプション $10.00
- Bot Control リクエスト料金 1,200 万件分として $12.00
- Bot Control 合計 $22.00
- 月間合計 $48.20
ケース⑤ 複数 Web ACL と Targeted Bot Control 月間3,500万リクエスト
複数の Web サービスを3つの Web ACL で管理し、Targeted Bot Control を全体に適用した場合の試算です。
- Web ACL 3 件 $15.00
- ルール マネージドルールグループ 3 件とカスタムルール 21 件で合計 24 件 $24.00
- リクエスト処理 3,500 万件 $21.00
- 基本 WAF 合計 $60.00
- Bot Control サブスクリプション 3 件分で $30.00
- Bot Control リクエスト料金 3,400 万件分として $340.00
- Bot Control 合計 $370.00
- 月間合計 $430.00
Targeted Bot Control はリクエスト料金が高く全体適用するとコストが増加します。スコープダウンステートメントを活用して検査するトラフィックを絞り込む設計が重要です。
ケース⑥ CAPTCHA 有効 月間1億リクエスト
大規模なトラフィックがあり CAPTCHA アクションを有効にしている場合の試算です。
- Web ACL 1 件 $5.00
- ルール 4 件 $4.00
- リトライ含むリクエスト処理 1 億件 $60.00
- CAPTCHA 試行 10,000 回 $4.00
- 月間合計 $73.00
CAPTCHA はチャレンジを完了した試行回数に対して課金されます。
AWS WAF のコスト最適化のポイント
AWS WAF を運用していくうえでコストを適切にコントロールするための実践的な手法を紹介します。
不要な Web ACL とルールの定期整理
コスト最適化の基本は使っていないリソースを定期的に棚卸しして削除することです。
Web ACL は保護対象のリソースに関連付けられていなくても課金が続きます。テスト用などで作成した不要な Web ACL は速やかに削除します。設定した当初は必要だったルールが不要になっているケースもあり、ルールが蓄積すると無駄なコストになります。
AWS Cost Explorer や Amazon CloudWatch のメトリクスを利用して各ルールがリクエストにマッチしているかを確認し、不要なリソースを特定します。
スコープダウンステートメントの活用
スコープダウンステートメントは Bot Control などのオプション機能が検査するトラフィックを絞り込むための設定です。この機能を活用することでリクエスト料金を削減できます。
月間2,000万件のリクエストが発生する環境で Common Bot Control を有効にした場合、スコープダウンを設定しなければ無料枠の1,000万件を差し引いても追加料金が発生します。スコープダウンステートメントを使って評価するトラフィックを半分に絞り込めば、評価されるリクエストは1,000万件になり無料枠の範囲内に収まるため、サブスクリプションの $10.00 のみとなります。
絞り込みすぎると検知漏れが増えるリスクがあるため、ログインページや API エンドポイントなど適用すべき箇所を整理して設定します。
AWS Shield Advanced との組み合わせによるコスト削減
AWS Shield Advanced は DDoS 攻撃に対する高度な防御サービスです。別途データ転送料金が発生しますが月額$3,000のサブスクリプション料金で利用できます。加入することで保護対象リソースに関連付けた Web ACL 月額料金やルール月額料金、デフォルトの1,500 WCU 以内であればリクエスト処理料金が月間500億リクエストを上限として追加料金なしに含まれます。
Bot Control や Fraud Control の料金は含まれませんが、大規模なトラフィックを処理するサービスでは WAF 基本料金のかなりの部分を抑えられます。自社のトラフィック規模をもとに費用対効果を試算してから導入を判断します。
最後に
AWS WAF の料金は Web ACL やルール、リクエスト処理という基本コンポーネントで構成されます。これに WCU 超過料金や本文検査追加料金、各種オプション機能の料金が加わって最終的な月額が決まります。
不要なリソースの定期整理やスコープダウンステートメントの活用、 AWS Shield Advanced との組み合わせ検討というアプローチでコストをコントロールします。
WAF の導入から運用コストについて不安がある場合は、AWS パートナーである cloudpack へご相談ください。自社環境や要件に合った構成設計からコスト試算、日々の運用保守までトータルで支援いたします。