Amazon Web Services ブログ

AWS WAF と AWS Shield Advanced のコストをどのように見積もるか?

このブログ記事は Benjamin Lecoq,  AWS Senior Technical Account Manager によって投稿されました。

コスト管理に関するブログ記事の多くは、AWS の使用料や支出を全体的に管理・最適化するためのベストプラクティスを紹介することに重点を置いています。 この記事では、AWS セキュリティ製品にかかる費用をどのように見積もることができるかについて、範囲を絞ってご紹介します。

Web アプリケーションを一般的な Web 攻撃から保護することは、知的財産権や情報セキュリティにとって非常に重要です。しかし、サービスの理解と効果的なコスト管理なしに Web アプリケーションを保護することはコストがかかります。 AWS は、AWS WAFAWS Firewall ManagerAWS Shield Advanced など、さまざまなセキュリティサービスを提供しています。 これらのサービスを組み合わせることで、お客様の Web アプリケーション保護のための包括的なセキュリティソリューションが形成されます。

AWS WAF では、一般的な攻撃パターンをブロックするセキュリティルールを作成することができます。AWS Firewall Manager を使って、AWS WAF ルールを一元的に自動化、簡素化することができます。AWS Shield Advanced は、包括的なアプリケーションセキュリティスイートで、アプリケーションのトラフィックパターンに基づいて攻撃を検出し、詳細な攻撃レポートを提供し、DDoS Response Team(DRT)の専用サポートを利用できます。リソースを保護グループとしてグループ化して、リソースではなくアプリケーションごとにトラフィックをベースライン化することができ、攻撃が検知されたときからプロアクティブなエンゲージメントを提供します。

リソースの保護をきめ細かくコントロールしたい場合は、AWS WAF のみが適しています。アカウント間で AWS WAF を使用したい場合、AWS WAF の設定を高速化したい場合、新しいリソースの保護を自動化したい場合は、AWS Firewall Manager とAWS WAF の併用をお勧めします。

最後に、Web サイトが多くのユーザーに見られていて、DDoS 攻撃を頻繁に受けやすい場合は、AWS Shield Advanced が提供する追加機能の購入を検討してみてください。AWS WAF 、AWS Firewall Manager 、AWS Shield Advanced の選択方法については、こちらのドキュメントをご覧ください。

次に、AWS Shield の料金体系を見てみましょう。

AWS Shield Advanced は有料サービスで、2 つの要素で構成されています。

月額料金
・保護したリソースのDTO(データ転送アウト)使用料

月額料金は固定ですが、Data Transfer Out の使用料は利用状況に応じて変動します。この記事の目的は、現在の DTO 使用料を評価することで、AWS Shield Advanced に支払う金額を事前に知り、必要に応じて使用量を積極的に調整する方法を紹介することです。

ここでは、このテーマについてお客様から寄せられたよくある質問をご紹介します。

質問1:AWS Shield Advanced は、メリットのある製品のように思えますが、価格の一部が DTO(Data Transfer Out)利用料に基づいており、それが月ごとに変動するため、 具体的にどのくらいの費用がかかるのか、予想するのに苦労しています。

質問2:自分の環境を保護するために AWS WAF を使用しています。 AWS Shield Advanced の価格によると、あるリソースに対して AWS Shield Advanced を有効にすると、AWS WAFはAWS Shield Advanced の製品価格に含まれているので、この特定のリソースに対するAWS WAFの支払いをしなくてすみます。この場合、AWS WAF の料金がどれくらい安くなるのか知りたいです。

見積もりを作成するためには、AWS のコストと使用状況レポート (CUR) で利用可能なコストと使用量のデータを調査する必要があります。これを有効化する方法は「コストと使用状況レポートの作成」でご紹介しています。CURを作成する際は、レポートデータ統合の有効化のセクションで Amazon Athena を選択してください。

CUR を有効にすると、利用情報をさらに調査するために Amazon Athena と統合する必要があります。その作業は「Amazon Athena 統合の設定」の指示に従ってください。

CUR が有効化され、Amazon Athena と統合されると、AWS Shield Advanced の利用を検討する際に、保護したいリソースの現在の使用量を取得するための以下のクエリを実行できるようになります。 Amazon Athena を使ったクエリの方法については、こちらのユーザーガイドをご覧ください。

1) 現在のリソース使用量に基づいて AWS Shield Advanced の月額費用を見積もる

このクエリでは、AWS Shield Advanced を使って保護したいリソースの過去のある月の DTO(Data Transfer Output)の使用量を抽出します。

SELECT 
  product_product_name AS Product,
  line_item_resource_id AS ResourceID,
  ROUND(SUM(CAST(line_item_usage_amount AS double)),0) AS DTO,
  pricing_unit AS Unit
FROM 
  cur_YourPayerAccountIdHere_202009
WHERE
  product_product_name IN ('Elastic Load Balancing','Amazon Elastic Compute Cloud','Amazon CloudFront')
  AND product_product_family = 'Data Transfer'
  AND product_transfer_type IN ('AWS Outbound','CloudFront Outbound')
  AND line_item_resource_id IN ( -- Please enter here the ARNs)
    ‘arn:partition:service:region:account-id:resource-id1’,
    ‘arn:partition:service:region:account-id:resource-id2’)
GROUP BY
  product_product_name,
  line_item_resource_id,
  pricing_unit

太字のパラメータは、お客様の環境に合わせて変更していただく必要があります。

cur_YourPayerAccountIdHere_202009 は、消費量を評価したい月の CUR の Amazon Athena テーブル名を参照する必要があります。

また

arn:partition:service:region:account-id:resource-id1,

arn:partition:service:region:account-id:resource-id2 は、DTO の観点から以前の消費量を評価する必要があるリソース(ELB、ElasticIP、CloudFront)のリストを指定する必要があります。

結果は次のようになります。

DTO-for-Shield

これらのデータをもとに、AWS Shield Advanced の価格ページを参照して見積もりを出します。

2) AWS WAFへの支払いを停止し、代わりに AWS Shield Advancedを利用した場合の節約額の試算

まず最初にやるべきことは、現在のどのWebアクセスコントロールリスト(Web ACL)がリソースを保護しているかを特定することです。次のステップは、この Web ACL の ID を取得することです。

これを行うには、WAF コンソールに入り、WebACL ID を確認します。

以下のクエリに ID を指定する必要があります。

SELECT 
  line_item_resource_id AS ResourceID,
  SUM(CAST(line_item_unblended_cost AS decimal(16,8))) AS TotalSpend
FROM 
  cur_YourPayerAccountIdHere_202009
WHERE
  product_product_name = 'AWS WAF'
  AND line_item_resource_id like '%AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE%'
GROUP BY
  line_item_resource_id

太字のパラメータは、お客様の環境に合わせて変更していただく必要があります。

cur_YourPayerAccountIdHere_202009 は、消費量を評価したい月の CUR の Amazon Athena テーブル名を参照する必要があります。

また

AAAAAAAA-BBBBB-CCCC-DDDD-EEEEEEEE は、WebACL ID のリストを提供する必要があります。

結果は次のようになります。

WAF-charge-1

まとめ

AWS Shield Advanced を使ってリソースを保護するためのコストを見積もる方法が理解いただけたと思いますので、この機能により、この機能もたらされる追加の保護やサービスと、発生するコストのバランスをより効率的に取ることができるようになります。

著者について

Bowen Wang
Bowenは、AWS Billing and Cost Management servicesのPrincipal Product Marketing Manager です。財務やビジネスのリーダーが、クラウドの価値やクラウドの財務管理を最適化する方法をよりよく理解できるようにすることに注力しています。前職では、技術系スタートアップ企業のビジネスオートメーション製品の中国市場への投入を支援し、現地でのカスタマーサービス・コールセンターを立ち上げました。

 

 

翻訳は Solutions Architect 長谷川 が担当しました。原文はこちらです。