「Amazon GuardDutyを入れているし、AWS WAFもマネージドルールを適用しているから大丈夫だろう」 セキュリティを考える際、ついそのように思いたくなるかもしれません。しかし、一歩踏み込んで実運用を想定してみると、DDoS対策は単一のサービスで完結するものではなく、複数のサービスを組み合わせて初めて機能するものだと分かります。

いざ大規模な攻撃を受けた際、サービスを継続させるだけでなく、「経済的DDoS」からリソースを守るために、私たちはどのように設計を考えるべきなのかを整理してみました。

1. その対策で、サービスとインフラコストの両方を守れますか?

現場でよくあるDDoS対策の課題は、大きく分けて2つあります。

  • 「WAFがあれば安心」という誤解: AWS WAFはアプリ層(L7)の番人ですが、その手前のインフラ層(L3/L4)で洪水のようなパケットが届いた場合、WAFが処理する前に回線やリソースが枯渇してしまう恐れがあります。
  • 「サービスが落ちなければ成功」という盲点: Auto Scalingが頑張って耐えてくれた結果、翌朝の請求額を見て驚くことになります。これは「経済的DDoS」と呼ばれ、運用面では大きな課題となります。

私たちが目指すべきなのは、単に攻撃を遮断することではなく、**「正規ユーザーのアクセスを維持しながら、コスト被害を最小限に抑えること」**ではないでしょうか。

2. 「点」ではなく「面」で守る。しなやかな多層防御

DDoS対策の鉄則は、サービスを組み合わせて「防衛線」を何重にも張ることにあります。

  • インフラ層(L3/L4): AWSのバックボーン側で、VPCに到達する前に不要なトラフィックを吸収します。
  • アプリ層(L7): AWS Shield AdvancedとAWS WAFを連動させ、正常な通信を装った悪意あるリクエストを動的に判別します。
  • 可用性の確保: 攻撃を止めるだけでなく、一時的な負荷を「いなす」ための体力を備えます。

この「多層防御(Layered Defense)」の考え方を整理することが、安定したサービス運用の鍵となります。

3. レイヤー別・役割分担のポイント

では、実際にAWSでどのように構成を組むべきか、検証を通じて見えてきたポイントを深掘りします。

① Amazon CloudFront:オリジン防衛線としての役割

Amazon CloudFrontは単なるコンテンツ配信の高速化ツールではなく、オリジンの保護においても重要な役割を担います。

  • エッジロケーションでの吸収: 世界中に分散されたエッジロケーションでトラフィックを引き受け、オリジン(ALB/EC2)を直接露出させないようにします。
  • 構成上の注意点: ALBの前段にCloudFrontを置く場合、AWS Shield Advancedの「L7自動緩和機能」はCloudFront側で有効化することが推奨されています。 これは、ALB側で有効化した場合、CDN経由により送信元IPなどの属性が正しく識別しにくくなり、緩和の精度が落ちる可能性があるためです。エッジロケーションで攻撃を緩和するためにも、CloudFrontでの適用が定石です。

② AWS Shield Standard vs AWS Shield Advanced

「結局、どっちがいいの?」という方のために、重要な違いをまとめました。

比較項目 Shield Standard (標準) Shield Advanced (拡張)
位置づけ AWS基盤全体の防御 顧客専用のDDoS防御強化
料金 無料(全ユーザーに自動適用) 有料(月額 3,000 USD(組織単位)+ 使用量)
防御レイヤー L3 / L4 (インフラ層) L3 / L4 / L7 (アプリ層)
L7自動緩和機能 なし あり (WAFと連携し自動緩和)
可視化 最低限のメトリクス 詳細な攻撃分析・可視化
専門家支援 なし あり (SRTによる24/365支援)
付帯特典 なし 保護対象リソースの標準 AWS WAF 利用料および Firewall ManagerのShield Advanced保護ポリシーが無料

また、Shield Advanced 最大のメリットは、AIとWAFが連携する「L7自動緩和機能」です。

AWS Shield Advanced 最大のメリットは、AIとWAFが連携する「L7自動緩和機能」です。平常時の通信を学習し、異常検知時に「その瞬間の攻撃を止めるルール」を自動生成します。

※注意点: 適切なベースラインの構築には、一定の期間が必要です。また、Shield Advancedはサブスクリプション契約(継続的な利用コミットメント)が前提となる場合があるため、導入の際は最新のAWS料金ページやサービス規約を確認し、慎重な計画を立ててください。

③ AWS WAF:アプリ層(L7)の「意味」を解釈する

AWS WAFは「形は正しいが、意図が不自然なリクエスト」を判別します。

  • 具体的な対策: 1つのIPアドレスからのリクエスト数を制限する「レート制限ルール」の活用が有効です。AWS Shield Advancedの自動緩和機能も、このWAFの仕組みを利用して、攻撃時のみ動的にブロックルールを生成・適用します。

④ Auto Scaling:可用性の維持とコスト管理

攻撃を「いなす」ためにAuto Scalingでリソースを拡張すると、システムは守れても「インフラコストの急増」という別の問題が発生します。ここで重要になるのが、Shield Advancedの**「コスト保護(Cost Protection)」とのセット運用**です。

  • コスト保護(Cost Protection): 攻撃によって膨らんだインフラ費用(DDoS攻撃に起因する対象リソースのデータ転送量のスパイクや、スケーリング費用など)は、AWS Shield Advancedの「コスト保護」によってサービスクレジットの還元を受けられる仕組みがあります。
  • 実運用の注意: この補償は自動で適用されるものではなく、スパイク発生後にAWSサポートへ連絡し、通常のトラフィック増ではなく「DDoS攻撃によるコスト増である」という切り分けと申請を行う必要があります。この点はインシデント運用手順に含めておくべきポイントです。

⑤ AWS WAF料金の相殺(AWS Shield Advancedのメリット)

AWS Shield Advancedを契約すると、「AWS Shield Advancedで保護しているリソース」に関連付けられたAWS WAFの基本料金(Web ACLやルールの月額料金、標準的なリクエスト料金など)が追加費用なしでカバーされます。

※補足: 保護対象外のリソースや、Bot Control等の高度な機能、サードパーティ製のマネージドルールなどは対象外となる点には注意が必要です。

4. AWS Organizations で実現する一元的な統制

マルチアカウント環境では、各チームに個別の対策を委ねると設定のばらつきが生じやすいため、組織的な管理を検討します。

  • AWS Firewall Managerによる中央管理: セキュリティ管理アカウントから、組織全体にAWS WAFやAWS Shieldの設定を一括で適用します。
  • 専門チーム(SRT)との連携体制: 重大なイベントに備え、AWSのDDoS専門チームである**SRT(Shield Response Team)**に調査を依頼できる体制を整えておくことも重要です。

※注意点:SRTの支援を受けるには、AWS Shield Advancedの契約に加え、AWSサポートの「ビジネス」または「エンタープライズ」プランへの加入が必須条件となります。

※ポリシー名の補足:チーム名はSRT(Shield Response Team)に変更されましたが、アクセス許可設定に必要なIAMのAWS管理ポリシー名は、後方互換性のため引き続き「AWSShieldDRTAccessPolicy」が使用されます。

まとめ:検知して終わりにしないために

DDoS対策の本質は「攻撃をゼロにすること」ではなく、「正規ユーザーが、何事もなかったかのようにサービスを利用し続けられること」にあります。

もし不安な点があれば、まずは既存のAWS WAFのレート制限ルールの見直しや、Amazon CloudWatchのメトリクスから自社の平常時のベースラインを把握するといった、足元の確認から一歩踏み出して見ることをお勧めいたします。