AWS/Azure

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

こんにちは。
タイトルの通り、自社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. ログフォワーダー「okurun.jar」について
  2. 自社製品をAMIにしてAWSマーケットプレイスへ出品
  3. IoT機器「Raspberry pi」とLogStare Collectorで温…
  4. Zabbixヒストリデータのレポート生成について

関連記事

  1. AWS/Azure

    NATGateway関連メトリクス一覧

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

  2. AWS/Azure

    AWS ALBのログを管理するためのCloudWatch Logs設定方法

    当記事では、ログ収集ソフトLogStare Collector(LSC…

  3. AWS/Azure

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

    こんにちは。タイトルの通り、自社WebサーバにAWS WAFを適用…

  4. 実践記事

    すぐに実現!けっこう使えるWindowsのインターネットアクセスログ(Webプロキシログ)を取ってみ…

    当記事は、職場や学校などで使っているWindowsパソコンやタブレット…

  5. AWS/Azure

    PrivateLinkEndpoints関連メトリクス一覧

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

  6. PaloAlto

    ChatGPTを利用し、PaloAltoで多数のアドレスオブジェクトを作成するコマンドを、一括作成し…

    本記事はPaloAltoにおいて多数のアドレスオブジェクトを作成する際…

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

  1. NW機器

    SonicWall UTMにSyslog送信設定を追加する方法について
  2. SNMPを触ってみた

    ログ分析・監視テクニック

    SNMPとは?新入社員が生まれてはじめて触ってみた!
  3. ログ分析・監視テクニック

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

    Nutanix Prism ElementにおけるSNMP監視/REST API…
  5. デフォルト画像イメージ

    FortiGate

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