AWS/Azure

自社WebサーバにAWS WAFを適用しました(2)~費用算出編~

この記事は投稿日から1年以上経過しています。

こんにちは。
タイトルの通り、自社WebサーバにAWS WAFを適用して、
正常に稼働していることが確認できた頃合いだったので、
社内への技術的な共有も兼ねて寄稿することにしました。

若手エンジニア志望者を募集!支度金あり

全5回以下のような構成となります。

  1. 構成編
  2. 費用算出
  3. 構成変更における課題
  4. AWS WAFとALBの初期設定
  5. 運用後の経過

費用の見積もり

おおよそ実現できるだろうと目測が付いたため、社内に話を上げるための費用を算出しました。
今回の構成において、費用を確認したものは以下の通りです。
- ALB
- AWS WAF
- ACM
- CloudWatch Logs
- S3

ALBの利用費用見積

Elastic Load Balancing 料金表
https://aws.amazon.com/jp/elasticloadbalancing/pricing/

クライアント認証は使わないため、
「Application Load Balancer 時間 (または 1 時間未満) あたり、USD 0.0243」
「LCU 時間 (または 1 時間未満) あたり、USD 0.008」を確認しました。

ALB時間は、0.0243×24×31=USD 18を見込みました。

LCU時間は以下のディメンションのうち、最も高いものが請求されます。

(以下引用)
新しい接続: 1 秒あたりの新たに確立された接続の数。通常、接続ごとに多くのリクエストが送信されます。
アクティブ接続: 1 分あたりのアクティブな接続の数。
処理タイプ: ロードバランサーによって処理された HTTP(S) リクエストと応答のバイト数 (GB 単位)。
ルール評価: ロードバランサーにより処理されたルールの数とリクエストレートの積。
最初に処理される 10 個ルールは無料 (ルール評価 = リクエスト率 × (処理されたルールの数 - 無料分の 10 個のルール))。

EC2インスタンスのみ使っており、正確に各ディメンションの算出はできませんでした。

算出できそうなものとしては「処理タイプ」のみだったため、
CloudWatchより確認可能なEC2インスタンスでのトラフィック処理量の統計データをもとに、
LCUを算出しました。

Amazon Elastic Compute Cloud (EC2) インスタンスとコンテナ、
およびターゲットとしての IP アドレスの場合は 1 時間あたり 1 GB、
ターゲットとしての Lambda 関数の場合は 1 時間あたり 0.4 GB です。

1ヶ月の総トラフィック量が660GBだったため、これを1時間当たりに換算します。
660÷(30×24)=0.91LCU
LCUをUSDに変換します。(1時間あたりの費用を出します)
0.91×0.008= 0.00728 (USD)
時間単位なので、これを月単位として換算します。
0.00728×(30×24)=5.4 (USD)

そして、「新しい接続」などの他のディメンションにおいて同じ値になる場合を逆算して、
念のため、妥当性をチェックしました。

※下記は当時まとめた資料です。

ALBの費用は、USD 23/月を見込んでいました。

AWS WAFの利用費用見積

AWS WAF の料金
https://aws.amazon.com/jp/waf/pricing/

Bot ControlとFraud Controlは、初期から利用するつもりがなかったため、下記を参考に算出しました。

(以下引用)
Web ACL:月あたり (時間で案分) USD 5.00

ルール:月あたり (時間で案分) USD 1.00

リクエスト:USD 0.60/100 万件のリクエスト (最大 1500 WCU およびデフォルトの本文サイズの検査*)

※WebACLとは、WAF設定のプロファイルであり、複数のルールを集約するオブジェクトです。
※ルールは、下記のようなイメージです。

例えば、AWS Managed Rule Groupの
[ Amazon IP Reputation list ] [ Anonymous IP list ] [ Core rule set ]
を有効にする場合には、ルール数は3つとカウントされます。

Webサーバは1つだったため、WebACLは1つにしています。
「ルール」については、有効化したいマネージドルール9つを計上しました。
リクエストについては、特に調査せずに1万リクエストくらいとしていました。
100万リクエストあたりUSD 0.6だったため、以下の通り計算しています。
0.6×0.01=0.006

5 (WebACL) + 9 (ルール) + 0.006 となったため、合わせて、USD 14.01/月を見込んでいました。

ACMの利用費用見積

AWS Certificate Managerの料金
https://aws.amazon.com/jp/certificate-manager/pricing/

既に発行されている証明書をインポートすることを目的にしており、
ACMにおいて、AWSプライベートCAを使う想定はしていませんでした。
そのため、費用は掛かりません。

Cloud Watch Logsの利用費用見積

Amazon CloudWatch 料金表
https://aws.amazon.com/jp/cloudwatch/pricing/

(以下引用)
収集(データインジェスト) スタンダード : USD 0.76/GB
保存(アーカイブ) : USD 0.033/GB

おおよそ月に10GB、過去3ヶ月分のログを保管する想定だったため、USD 8/月を見込んでいました。
AWS WAFによる許可ログも含めて収集する想定だったので、見積に誤りがないのか不安だったのですが、
時間をかけて正確に見積をするよりも「導入後しばらくの間頻繁にログ量の推移をみて、
あまりにも多かったら一旦ログ収集をやめてどうするか考えよう」と思い、ざっくりとした計上にしました。

S3の利用費用見積もり

Amazon S3の料金
https://aws.amazon.com/jp/s3/pricing/?nc=sn&loc=4

(以下引用)
S3標準 最初の50TB/月 : 0.025USD/GB

上記を対象に算出をしました。
Webサーバへの全てのアクセスログを収集するため、推測が難しかったのですが、
USD 1/月(40GB)を見込むようにしていました。

費用見積で計上していなかったもの

費用を見積もった時からAWS WAFを適用するまでに期間が空いたことで、
今の環境において実は計上されていなかったものがありました。

- S3に集めたALBのログをCloudWatchへ出力した時のログ量
LogStare Quintを利用するために、CloudWatchへ吐き出す必要があるため、
このログ量も計上するべきでした。
また、ALBの生ログを見たい場合には、S3のファイルを解凍する想定をしているため、
こちらのログ保持期間を1週間にしてもいいかなと思っています。

自社の規模ではあまり問題にならないであろうと思っていたので、下記は計上していませんでした。
- データ転送費用

※私の想定でも漏れがあるかもしれないため、正確な費用の見積をする場合には、
AWSの営業担当へ連絡するようにお願いします。

費用見積合計金額

環境を変更するにあたって追加でかかる費用は、約USD 50/月となりました。

費用見積のまとめ

費用算出結果の答え合わせはのちにやりますが、全体的に「安い」という印象がありました。

当初費用算出はかなり骨が折れるかと思いましたが、ドキュメントを読み進めれば問題なく算出できました。
もし費用ページを見てもよくわからない場合には、
そのサービスについての理解ができていない可能性があるので、
問い合わせるなりドキュメントを調べる必要があるかと思います。

また、費用も100%正確に見積もることは難しいので、
「上振れないように計上する」「ブレそうなものは入れてから様子をみる」
というのが大事だと思いました。

若手エンジニア志望者を募集!支度金あり

LogStare Collector 無償版

記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。

当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。

自社WebサーバにAWS WAFを適用しました(1) ~構成編~前のページ

自社WebサーバにAWS WAFを適用しました(3)~構成変更における課題編~次のページ

ピックアップ記事

  1. Zabbixヒストリデータのレポート生成について
  2. 自社製品をAMIにしてAWSマーケットプレイスへ出品
  3. IoT機器「Raspberry pi」とLogStare Collectorで温…
  4. ログフォワーダー「okurun.jar」について

関連記事

  1. 実践記事

    【消えないっ...】セッションCookieにおけるGoogle Chrome起動時の[前回開いていた…

    セッションCookieはブラウザを閉じた時点で削除される。これはセッシ…

  2. AWS/Azure

    自社製品をAMIにしてAWSマーケットプレイスへ出品

    はじめにかねてより弊社製品のAWSマーケットプレイス出品を目論んで…

  3. LSCセキュリティアラート
  4. AWS/Azure

    ApplicationELB関連メトリクス一覧

    当記事では、CloudWatch監視にて対応しているApplicati…

  5. AWS/Azure

    LogStare CollectorでのAWS WAFログの取得方法とログレポート

    当記事では、LogStare CollectorでのAWS WAFログ…

  6. NW機器

    AWS Transit Gateway で集約したトラフィックをFortiGate で精査する

    当記事では、AWS Transit Gateway を用いて通信を集約…

若手エンジニア志望者を募集!
LogStare Collector 無償版
クラウド活用の「困った」「焦った」事例
月額200円でM356の監査ログの運用レベルUP LogStare M365
AWSのログ分析・モニタリングに 次世代のマネージド・セキュリティ・プラットフォーム LogStare

  1. AWS/Azure

    AWSマーケットプレイス上から無償版のLogStare Collectorを試す…
  2. ログ分析・監視テクニック

    nProbeであらゆる通信をログに記録し可視化する
  3. NW機器

    PaloAltoのIPsec IKEv1 Phase1におけるトラブルシューティ…
  4. 実践記事

    DNSキャッシュポイズニングやってみた
  5. デフォルト画像イメージ

    FortiGate

    FortiGateのSD-WAN設定について
PAGE TOP