結論から
小〜中規模の一般的なウェブサイト(特にコーポレートサイト)の場合、CloudFrontとWAFを組み合わせる方がトータルコストを安く抑えられる可能性が非常に高い。
なぜCloudFrontとの組み合わせが安くなる傾向にあるのか?
最大の理由は、ALBには月額の固定費(時間料金)がかかるのに対し、CloudFrontには固定費がなく、手厚い無料利用枠が存在するから。
項目 | ALB + WAF | CloudFront + WAF |
料金体系の合計 | ALB固定費 + ALB処理量 + WAF利用料 |
CloudFront転送/リクエスト料 + WAF利用料 |
月額固定費 | あり (約2,500円〜) | なし |
無料利用枠 | なし | あり (データ転送1TB/月、リクエスト1,000万回/月など) |
パフォーマンス | リージョン内の負荷分散 | CDNによるグローバルな高速化 |
WAFで保護する場所 | AWSリージョン内(オリジンサーバーの直前) | エッジロケーション(ユーザーに最も近い場所) |
最適なケース | 内部向けアプリ、CDNが不要な特定用途 | 公開ウェブサイト全般、特にコストを抑えたい場合 |
※最新のデータは公式サイトで確認してください。
WAF自体の利用料金(WebACLあたり$5/月、ルールあたり$1/月、リクエスト100万回あたり$0.60など)は、ALBに付けてもCloudFrontに付けても全く同じです。
したがって、総コストの差は 「ALBの利用料金」 vs 「CloudFrontの利用料金」 で決まります。
具体的な料金シミュレーション
小規模なコーポレートサイトを例に、月額料金を試算してみる。
【前提条件】
- 月間データ転送量: 50GB
- 月間リクエスト数: 50万回
- WAFのルール: AWS Managed RulesのCore rule setを1つ利用
WAFの料金(どちらの構成でも共通)
- WebACL基本料金: $5.00
- ルールグループ料金: $1.00
- リクエスト料金: ($0.60 / 100万回) * 50万回 = $0.30
- WAF合計: 約 $6.30 / 月
【パターンA】ALB + WAF の場合
※最新の料金は公式サイトで確認してください。
- ALB料金:
- 時間料金(固定費): 約$0.0252/時 × 730時間/月 = 約$18.40/月
- 処理量料金(LCU): トラフィックが少ないためごく僅か。仮に 約$2.00/月 とする。
- 合計コスト:
- ($18.40 + $2.00) [ALB] + $6.30 [WAF] = 約 $26.70 / 月
- 日本円換算: 約 4,100 円/月 (1ドル155円換算)
【パターンB】CloudFront + WAF の場合
- CloudFront料金:
- データ転送量: 50GB
- 無料利用枠(1TB/月)の範囲内なので → $0
- リクエスト数: 50万回
- 無料利用枠(1,000万回/月)の範囲内なので → $0
- データ転送量: 50GB
- 合計コスト:
- $0 [CloudFront] + $6.30 [WAF] = 約 $6.30 / 月
- 日本円換算: 約 980 円/月 (1ドル155円換算)
結論と推奨
構成 | 想定月額料金(JPY) | メリット |
ALB + WAF | 約 4,100円 | 構成が比較的シンプル |
CloudFront + WAF | 約 980円 | 圧倒的に安い、サイト表示が高速化、無料枠が強力 |
シミュレーション結果の通り、CloudFrontを利用することで、ALBの月額固定費約2,500円がまるごと不要になり、コストを劇的に削減できます。さらに、CloudFrontはCDNなので、ユーザーの体感速度が向上するという大きなメリットも得られます。
格安でWAFを利用したい、かつ公開ウェブサイトを運用するという目的であれば、迷わず CloudFront + WAF の構成を選択することになりそうです。