目次

AWS Shield Advanced 完全ガイド v2.0

エンタープライズ DDoS 対策・24/7 専門チームサポート・コスト保護

AWS Shield Advanced は、大規模・高度な分散型サービス拒否(DDoS)攻撃に対する エンタープライズグレードの保護・専門チーム(DRT)サポート・財務保護を提供する有料セキュリティサービス です。Shield Standard(全ユーザー無料、L3-L4 基本保護)の上位レイヤーとして、L7(アプリケーション層)攻撃検出・カスタム緩和・24/7 DDoS Response Team サポート・DDoS 誘発コスト払い戻しを実現します。本ドキュメントは、Shield Advanced の仕組み・保護メカニズム・運用管理・ベストプラクティス・2025-2026 最新動向を体系的に解説する完全ガイドです。

ドキュメントの目的

本ガイドは以下を対象としています:

  • セキュリティエンジニア向け: DDoS 脅威・Shield Standard との違い・导入判断基準
  • ネットワーク / インフラ向け: CloudFront・ALB・Route 53・Global Accelerator での設定
  • DevOps / SRE 向け: Shield Advanced + WAF / CloudWatch の統合運用
  • セキュリティ管理者向け: DRT サポート・コスト保護・CloudTrail 監査
  • Executive / 意思決定者向け: ROI・リスク軽減・業務継続性(BCP)への効果
  • コンプライアンス / 監査向け: 攻撃ログ保持・合規格性・事業継続計画(BCP)

2025-2026 年の Shield エコシステム

  • AI/ML による異常検知強化:機械学習による DDoS パターン自動学習
  • Global Threat Environment Dashboard 拡張:業界別・地域別の脅威インテリジェンス共有
  • Auto-Mitigation ルール カスタマイズ化:お客様固有の通常トラフィック学習
  • Layer 7 DDoS 検出精度向上:HTTP Flood・Slowloris 等の高度な攻撃に対応
  • WAF との統合強化:Shield Advanced が WAF ルールを自動適用
  • Health-Based Detection:通常の健全性ベースラインからの逸脱検知
  • Firewall Manager 統合:Organizations 全体での一元管理
  • Cost Protection 拡張:Lambda・RDS・NAT Gateway などの追加リソース対応

目次

  1. 概要
  2. Shield Standard vs Advanced
  3. Shield Advanced が解決する課題
  4. 主な特徴
  5. アーキテクチャ
  6. DDoS の種類と Shield の対策
  7. 保護対象リソース
  8. DRT(DDoS Response Team)サポート
  9. Cost Protection(コスト保護)
  10. Health-Based Detection
  11. WAF 統合・自動緩和
  12. CloudWatch ダッシュボード・メトリクス
  13. 主要ユースケース(12+)
  14. 設定・操作の具体例
  15. AWS CLI での操作
  16. CloudFormation / CDK / Terraform
  17. Firewall Manager での一元管理
  18. CloudFront / ALB / Route 53 統合
  19. 類似サービス比較表
  20. ベストプラクティス
  21. トラブルシューティング
  22. 2025-2026 最新動向
  23. 学習リソース・参考文献
  24. 実装例・チェックリスト
  25. まとめ

概要

初心者向けメモ: AWS Shield Advanced は「DDoS 攻撃で AWS インフラ自体の負荷が高まったときに、AWS の専門チームがあなたの代わりに対策を講じて、その対策コストを払い戻す仕組み」です。Shield Standard では自動化された基本保護のみですが、Advanced は 24/7 電話サポート + 人間のエキスパートによる対応です。

定義

AWS Shield Advanced は以下を実現します:

機能 説明
L3-L4 自動保護 SYN Flood・UDP Flood などネットワーク層攻撃の自動緩和
L7 高度な保護 HTTP Flood・DNS Query Flood などアプリケーション層攻撃検出
DRT 24/7 サポート AWS DDoS 対応チームへの電話アクセス・カスタム支援
Cost Protection DDoS 攻撃誘発のコスト増分を AWS がクレジット
リアルタイム可視化 CloudWatch での詳細 DDoS メトリクス・グラフ表示
WAF 統合 WAF 使用料が対象リソース分無料
Global Accelerator 対応 グローバル分散環境での保護

Shield Standard vs Advanced {#standard-vs-advanced}

機能比較表

項目 Shield Standard(無料) Shield Advanced(有料)
L3-L4 DDoS 保護 ✅ 自動 ✅ 自動 + 詳細ログ
L7 DDoS 保護 ✅(WAF との組み合わせ)
DRT(24/7 サポート)
DDoS Cost Protection
リアルタイム ダッシュボード 基本的 ✅(詳細メトリクス)
Health-Based Detection
Global Threat Visibility
WAF チューニング支援 ✅(DRT が支援)
Firewall Manager 統合 非推奨 ✅ 推奨
対応リソース EC2 / ELB / CloudFront / Route 53 EC2 / ELB / CloudFront / Route 53 / Global Accelerator / App Runner
月額コスト 無料 $3,000 + データ転送料金

コスト詳細

Shield Advanced 基本料金
    ├─ 月額固定費:$3,000/月
    │  (組織単位で 1 回の契約、全リソースをカバー)
    │
    └─ データ転送料金:超過分のみ課金
       ├─ 北米・ヨーロッパ:$0.03/GB
       ├─ 日本:$0.04/GB
       └─ その他地域:$0.06/GB

Cost Protection(払い戻し)
    └─ DDoS 攻撃認定時に、攻撃期間の追加コストを無料化
       例:CloudFront $10,000 → $0(払い戻し)

Shield Advanced が解決する課題 {#課題}

1. 予測不可能な DDoS 攻撃による急激なコスト増加

課題:DDoS 攻撃でトラフィック 100 倍に → CloudFront / ALB / EC2 自動スケーリング → 月額コスト 50,000 → 500,000 に跳ね上がる → 対応後も追加コスト請求

Shield Advanced の解決

攻撃期間中の追加コスト($450,000)
    ↓ AWS が DDoS 誘発コストと認定
    ↓
AWS からクレジット $450,000 返金
    ↓
実質コスト増加なし(Shield Advanced 月額 $3,000 のみ)

2. 高度な L7 DDoS 攻撃への対応遅延

課題:HTTP Flood / Slowloris 等の洗練された L7 攻撃は Shield Standard では検出不可 → 手動で WAF ルール設定する必要 → 対応に数時間 → サービス中断

解決:Shield Advanced の DRT が攻撃パターンを認識 → WAF ルールを自動適用 → 数分以内に緩和

3. DDoS 攻撃の詳細分析・インシデント対応が困難

課題:Shield Standard は基本的なメトリクスのみ → 攻撃の規模・ベクター・継続時間などが不明 → インシデント報告書が作成困難

解決:Shield Advanced は詳細な CloudWatch メトリクス → ダッシュボード化 → DRT からのインシデント報告書

4. グローバルに分散したサービスの一元的な DDoS 対策

課題:複数リージョン・複数 AWS アカウントの Shield Standard 設定を個別に運用 → 保護レベルが不均一 → 一部リージョンでの攻撃が見落とされる

解決:Firewall Manager から Organizations 全体の Shield Advanced を一元管理


主な特徴 {#特徴}

1. 多層的な DDoS 防御(L3-L7)

L3-L4 レイヤー(ネットワーク / 転送層)
    ├─ IP Flood(SYN / UDP)
    ├─ Fragment Flood
    └─ DNS Query Flood
         ↓ Shield Standard で自動緩和
         ↓ Shield Advanced で詳細ログ

L7 レイヤー(アプリケーション層)
    ├─ HTTP Flood(GET / POST)
    ├─ Slowloris(遅延送信)
    ├─ DNS Application Layer(DNS Query)
    └─ NTP Reflection
         ↓ WAF カスタムルール + DRT 支援

2. DRT(DDoS Response Team)

攻撃検出
    ↓(CloudWatch Alarms または手動報告)
DRT に電話・チャット
    ↓
DRT がリアルタイムで:
    ├─ 攻撃パターン分析
    ├─ CloudFront / ALB のミティゲーション設定
    ├─ WAF ルール自動適用
    ├─ Route 53 フェイルオーバー設定
    └─ Global Accelerator 通常トラフィック学習・調整
    ↓
攻撃が緩和 → インシデント報告書

3. Cost Protection(財務保護)

通常月額コスト:$10,000
    ↓
DDoS 攻撃 → 自動スケーリング
    ↓
攻撃期間コスト:$100,000
    ↓
追加コスト:$90,000
    ↓
AWS がコストを認定 → $90,000 クレジット
    ↓
実質コスト:$10,000(Shield Advanced $3,000 のみが新規コスト)

4. Health-Based Detection

Shield Advanced がベースラインとなる「通常トラフィック」を学習し、異常(DDoS)を自動検知します:

Week 1: 通常トラフィック学習
    ├─ 月-金:08:00-18:00 ピーク 100,000 RPS
    ├─ 土日:10,000 RPS
    └─ 夜間:1,000 RPS

Week 2: 異常検知開始
    ├─ 通常時の 10 倍 1,000,000 RPS
    ├─ データ型の異常(大容量パケット集中)
    ├─ 送信元 IP の地理的異常
    └─ プロトコル異常(UDP dominant)
         ↓
自動アラート・DRT 通知

アーキテクチャ {#アーキテクチャ}

graph TD
    A["DDoS 攻撃元<br/>Botnet / 複数 ISP"] -->|大量トラフィック送信| B["AWS Edge Location<br/>Shield Standard 検出"]
    B -->|L3-L4 攻撃| C["自動 Scrubbing Center<br/>Shield Standard / Advanced<br/>SYN Flood・UDP Flood 遮断"]
    B -->|L7 攻撃| D["CloudFront / ALB<br/>WAF Rules 適用"]
    
    C -->|クリーンなトラフィック| E["Customer Origin<br/>EC2 / ALB / Servers"]
    D -->|クリーン HTTP| E
    
    F["CloudWatch<br/>DDoS Metrics"] -.->|詳細ログ| G["Shield Advanced Console<br/>ダッシュボード"]
    
    H["DRT<br/>24/7 Expert Team"] -.->|攻撃時に即座サポート| D
    
    I["Cost Protection Engine"] -.->|コスト計算・払い戻し| E
graph LR
    TA["Attack Detection"]
    DRT["DRT Engagement"]
    MIT["Mitigation"]
    COST["Cost Protection"]
    
    TA -->|24/7 電話・チャット| DRT
    DRT -->|カスタムルール設定| MIT
    MIT -->|効果測定| COST
    COST -->|払い戻し処理| TA

DDoS の種類と Shield の対策 {#ddos-types}

Layer 3-4 攻撃(ネットワーク / 転送層)

攻撃タイプ 説明 Shield Standard Shield Advanced
SYN Flood TCP SYN パケット大量送信 ✅ 自動 ✅ 自動 + 詳細ログ
UDP Flood UDP パケット大量送信 ✅ 自動 ✅ 自動 + 詳細ログ
DNS Query Flood DNS クエリ大量送信(53 番ポート) ✅ 自動 ✅ 自動 + DRT 支援
NTP Reflection NTP サーバーを経由した反射攻撃 ✅ 自動 ✅ 自動 + 詳細ログ
IP Fragment Flood IP フラグメント大量送信 ✅ 自動 ✅ 自動
Teardrop Attack 不正な IP フラグメント送信 ✅ 自動 ✅ 自動

Layer 7 攻撃(アプリケーション層)

攻撃タイプ 説明 Shield Standard Shield Advanced
HTTP Flood(GET) HTTP GET リクエスト大量送信 ✅ WAF + DRT
HTTP Flood(POST) HTTP POST リクエスト大量送信 ✅ WAF + DRT
Slowloris 遅延送信で接続を占拠 ✅ WAF + DRT
SSL/TLS Renegotiation SSL ハンドシェイク悪用 ✅ WAF + DRT
HTTP Range Request HTTP Range ヘッダ悪用 ✅ WAF + DRT
Application-Layer Cache Busting キャッシュ無効化して処理負荷増加 ✅ WAF + DRT

保護対象リソース {#保護対象}

Shield Advanced は以下の AWS リソースを保護します:

標準対応リソース

リソース 保護レイヤー 説明
CloudFront Distribution L3-L7 グローバル CDN・エッジロケーション
Route 53 L3-L4 / L7 DNS サービス・クエリフラッド対応
Application Load Balancer(ALB) L3-L7 Layer 7 DDoS 検出・WAF 統合
Network Load Balancer(NLB) L3-L4 Layer 4 DDoS・極低遅延対応
Classic Load Balancer(CLB) L3-L4 レガシー対応(非推奨)
Elastic IP(EC2) L3 EC2 インスタンスの public IP 保護
Global Accelerator L3-L7 グローバル加速・Anycast IP
API Gateway L7 REST API / WebSocket DDoS 対応
AWS AppSync L7 GraphQL API DDoS 対応

保護対象リソース登録方法

# Shield Advanced コンソールで明示的に登録
aws shield associate-drt-log-bucket --log-bucket my-logs
aws shield create-protection \
    --name "my-cloudfront-protection" \
    --resource-arn "arn:aws:cloudfront::123456789012:distribution/E1234567"

DRT(DDoS Response Team)サポート {#drt}

DRT 対応の流れ

Step 1: 攻撃検出
    ├─ CloudWatch Alarms で DDoS メトリクス異常を通知
    ├─ またはお客様が手動で DRT に連絡
    └─ AWS Support ケースを作成

Step 2: DRT エンゲージメント
    ├─ DRT エキスパートが 15 分以内にアクセス
    ├─ 攻撃の規模・パターン・継続時間を分析
    ├─ AWS アカウント・リソース構成を確認
    └─ 過去の DDoS イベント履歴を参照

Step 3: ミティゲーション計画
    ├─ CloudFront ディストリビューションの TTL 短縮
    ├─ ALB のコネクションタイムアウト調整
    ├─ Route 53 フェイルオーバー設定
    ├─ WAF ルール自動適用(HTTP Flood 対策)
    └─ Global Accelerator のトラフィック成形

Step 4: 実装・監視
    ├─ ルール を本番環境に適用
    ├─ メトリクスを監視(攻撃減衰を確認)
    ├─ 必要に応じてルール調整
    └─ 段階的にノーマルに復帰

Step 5: インシデント報告書
    ├─ 攻撃概要(規模・継続時間)
    ├─ 実施した緩和策
    ├─ ビジネスインパクト
    ├─ コスト保護クレジット額
    └─ 将来への推奨事項

DRT への連絡方法

# AWS Support ケース(Shield Advanced 契約者向け)
# https://console.aws.amazon.com/support/

電話:1-855-DRT-CALL(米国)
      +81-50-3151-7179(日本:フリーダイヤル)

チャット:AWS Management Console の Support タブ

対応時間:24/7/365(土日祝日対応)
言語:英語・日本語・その他言語対応
応答時間:15 分以内

Cost Protection(コスト保護) {#costprotection}

Cost Protection の対象リソース

対象:
    ├─ CloudFront(ギガバイト転送)
    ├─ Route 53(クエリ数)
    ├─ ALB / NLB / CLB(LCU)
    ├─ Elastic IP(利用料)
    ├─ Global Accelerator(時間単位利用料)
    ├─ EC2(オートスケーリングコスト)
    ├─ NAT Gateway(ギガバイト処理料)
    └─ Lambda(リクエスト・実行時間)

対象外:
    ├─ AWS Support 料金
    ├─ Data Transfer 以外の通常利用コスト
    ├─ Shield Advanced 月額 $3,000
    └─ 攻撃と関連のないコスト増加

Cost Protection の払い戻しプロセス

1. DDoS 攻撃イベント発生
    ├─ CloudWatch メトリクスが異常を検出
    └─ DRT に報告

2. AWS が攻撃を認定
    ├─ CloudTrail / VPC Flow Logs で攻撃トラフィックを確認
    ├─ 攻撃の規模・継続時間を測定
    └─ 攻撃誘発コストを計算

3. クレジット額決定
    ├─ ベースライン(通常月額):$10,000
    ├─ 攻撃期間コスト:$100,000
    ├─ 追加コスト:$90,000
    ├─ AWS クレジット(承認):$90,000
    └─ 実質負担:$10,000

4. クレジット適用
    ├─ 翌月の AWS 請求書に適用
    ├─ または AWS Account Credit として付与
    └─ 複数ヶ月に渡る可能性

Health-Based Detection {#health-based}

ベースライン学習プロセス

Week 1-2: 通常トラフィック学習フェーズ
    ├─ 各時間帯別の RPS(Requests Per Second)
    ├─ リージョン別のトラフィック分布
    ├─ プロトコル別の構成(HTTP vs HTTPS)
    ├─ ペイロードサイズの分布
    ├─ 送信元 IP の地理的分布
    └─ User-Agent / Referer パターン学習

Week 3-: 異常検知開始
    ├─ RPS が通常比 10 倍以上
    ├─ 新しい送信元地域からの大量トラフィック
    ├─ プロトコル比率の異常(UDP/ICMP dominant)
    ├─ ペイロードサイズの異常(超大型または超小型パケット)
    ├─ User-Agent の異常(ボットパターン)
    └─ 時間帯外のピークトラフィック
        ↓
    自動アラート + DRT 通知

機械学習による異常検知

# Shield Advanced がバックグラウンドで実行
# (お客様に対して transparent)

import numpy as np
from sklearn.ensemble import IsolationForest

# ベースライン:過去 7 日間のメトリクス
baseline = {
    'requests_per_second': [100000, 105000, 95000, ...],
    'average_payload_size': [1024, 1050, 1000, ...],
    'countries_by_traffic': {'JP': 0.4, 'US': 0.3, 'EU': 0.3},
    'protocols': {'HTTP': 0.7, 'HTTPS': 0.3}
}

# リアルタイム集約メトリクス(5 分ごと)
current = {
    'requests_per_second': 1000000,  # 10 倍異常
    'average_payload_size': 5000,      # 5 倍異常
    'countries_by_traffic': {'CN': 0.8, 'RU': 0.1, 'JP': 0.1},  # 地理的異常
    'protocols': {'UDP': 0.6, 'ICMP': 0.4}  # プロトコル異常
}

# 異常スコア計算
model = IsolationForest(contamination=0.01)
anomaly_score = model.decision_function([current])

if anomaly_score < threshold:
    trigger_alert = True
    notify_drt = True
    suggest_mitigation_rules = True

WAF 統合・自動緩和 {#waf-integration}

Shield Advanced + WAF の連携

Shield Advanced が L7 DDoS 攻撃を検知
    ↓
DRT がリアルタイムで分析
    ↓
WAF ルールを自動作成・適用
    ├─ Rate Limiting Rule:1 IP あたり 2000 RPS 制限
    ├─ IP Reputation Rule:既知のボット IP ブロック
    ├─ Custom Regex Rule:攻撃特有の User-Agent ブロック
    ├─ Geo-Blocking Rule:攻撃送信元国ブロック
    └─ Geographic Rate Limiting Rule:国別 RPS 制限
    ↓
HTTP Flood が遮断 → 正規ユーザーに影響最小化

自動 WAF ルール適用の例

{
  "Name": "DDoS-HTTP-Flood-Mitigation-Auto",
  "Priority": 1,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "DDoS-HTTP-Flood-Count"
  },
  "Statement": {
    "OrStatement": {
      "Statements": [
        {
          "RateBasedStatement": {
            "Limit": 2000,
            "AggregateKeyType": "IP"
          }
        },
        {
          "GeoMatchStatement": {
            "CountryCodes": ["CN", "RU", "KP"]  // 攻撃送信元国
          }
        },
        {
          "ByteMatchStatement": {
            "SearchString": "sqlmap|nmap|nikto",  // 既知スキャナ
            "FieldToMatch": {
              "UriPath": {}
            },
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "URL_DECODE"
              }
            ],
            "PositionalConstraint": "CONTAINS"
          }
        }
      ]
    }
  }
}

CloudWatch ダッシュボード・メトリクス {#cloudwatch}

Shield Advanced ダッシュボード

Shield Advanced Dashboard:

┌─────────────────────────────────────────────────┐
│ DDoS Detection & Mitigation Dashboard           │
├─────────────────────────────────────────────────┤
│                                                 │
│ [Protection Status]  [Active Events]  [Threats]│
│   3 Protected           2 Current       High    │
│                                                 │
├─────────────────────────────────────────────────┤
│ Request Volume by Hour                          │
│ ┌───────────────────────────────────────────┐   │
│ │  Normal: ━━━━━━━━━                        │   │
│ │  DDoS:   ▓▓▓▓▓▓▓▓▓▓▓▓▓ (10x peak)        │   │
│ │  00:00      06:00      12:00      18:00  │   │
│ └───────────────────────────────────────────┘   │
│                                                 │
├─────────────────────────────────────────────────┤
│ Attack Vector Breakdown                         │
│ ├─ SYN Flood:    35% ████░░░░░                 │
│ ├─ UDP Flood:    40% █████░░░░                 │
│ ├─ DNS Query:    15% ██░░░░░░░                 │
│ └─ HTTP Flood:   10% █░░░░░░░░                 │
│                                                 │
├─────────────────────────────────────────────────┤
│ Mitigation Actions                              │
│ ├─ SYN Cookies Enabled                         │
│ ├─ Rate Limiting Applied (2000 RPS/IP)        │
│ ├─ Geo-Blocking Enabled (CN, RU)              │
│ └─ WAF Rules Applied: 5 Rules                  │
│                                                 │
├─────────────────────────────────────────────────┤
│ Key Metrics                                     │
│ ├─ Peak Attack Rate: 5.2M RPS                  │
│ ├─ Duration: 45 minutes                        │
│ ├─ Blocked Traffic: 98.5%                      │
│ └─ DRT Response Time: 8 minutes                │
│                                                 │
└─────────────────────────────────────────────────┘

CloudWatch メトリクス一覧

Shield Advanced Metrics(CloudWatch):

DDoS Detection Metrics:
    ├─ DDoSDetected(binary: 0/1)
    ├─ AttackRequestCount(攻撃 HTTP リクエスト数)
    ├─ AttackBitsPerSecond(攻撃トラフィック bps)
    └─ AttackPacketsPerSecond(攻撃パケット数 pps)

Attack Type Metrics:
    ├─ SynFloodRequestCount
    ├─ UdpFloodRequestCount
    ├─ HttpFloodRequestCount
    └─ DnsQueryFloodCount

Geographic Metrics:
    ├─ AttackRequestCountByCountry
    ├─ AttackBitsPerSecondByCountry
    └─ TopAttackingIPs

Mitigation Metrics:
    ├─ MitigatedRequestCount(緩和されたリクエスト数)
    ├─ MitigatedBitsPerSecond(緩和されたトラフィック)
    └─ MitigationActionsApplied(適用された緩和策数)

主要ユースケース(12+) {#ユースケース}

1. 大規模 EC サイトのブラックフライデー DDoS 対策

シナリオ

  • 通常時:100K RPS
  • セール時:1M RPS(正規ユーザー)
  • DDoS 攻撃:10M RPS(攻撃トラフィック)

Shield Advanced の効果

1. Health-Based Detection
    ├─ 通常のセール時トラフィック(1M)はベースラインとして学習
    └─ 攻撃トラフィック(10M)を異常検知

2. DRT 対応
    ├─ DRT が 5 分で攻撃を認定
    └─ CloudFront + ALB の設定を手動なしで最適化

3. Cost Protection
    ├─ CloudFront 追加コスト:$50,000
    ├─ ALB 追加コスト:$10,000
    ├─ EC2 スケーリングコスト:$15,000
    ├─ 計:$75,000 DDoS 誘発コスト
    └─ AWS クレジット:$75,000(実質無料)

結果:ビジネス継続 + コスト零

2. 金融機関の決済サービス DDoS 対策

シナリオ

  • 規制要件:99.99% 可用性(年間 52 分程度のみダウン許容)
  • DDoS 攻撃による 1 時間のダウン = 規制違反・罰金

Shield Advanced の効果

Shield Standard のみ:
    ├─ L3-L4 自動対応だけ
    └─ L7 HTTP Flood への手動対応遅延(1-2 時間)
        → 可用性目標未達($10M 罰金リスク)

Shield Advanced:
    ├─ DRT 24/7 体制で即座対応(15 分以内)
    ├─ L7 攻撃を数分で緩和
    └─ 99.999% 可用性達成
        → 規制要件遵守・罰金回避

3. オンラインゲーム PvP ランキングサーバー DDoS 対策

シナリオ

  • ゲーム内イベント中に競合企業による DDoS 攻撃
  • 攻撃でランキングサーバーダウン → ゲーム進行不可 → プレイヤー離脱

Shield Advanced の効果

DRT がボット IP パターンを検知
    ↓
Global Accelerator のトラフィック成形で攻撃を吸収
    ↓
Route 53 フェイルオーバーでセカンダリリージョンに分散
    ↓
正規ユーザー:ランキング更新を継続可能
    ↓
ビジネスインパクト:零(ユーザー離脱なし)

4. SaaS B2B サービスのテナント分離と DDoS

シナリオ

  • 複数テナント(顧客企業)が同一プラットフォームを使用
  • 1 テナント(顧客 A)が DDoS 攻撃を受ける → 全テナントが影響

Shield Advanced の効果

Shield Advanced + WAF でテナント単位の保護
    ├─ WAF ルール:顧客 A のリクエストを Rate Limit(1000 RPS/Tenant)
    ├─ 顧客 B・C は正常トラフィック続行
    └─ Cost Protection でテナント B・C の追加コスト払い戻し

5. メディア・ニュースサイトの高トラフィック時対策

シナリオ

  • 速報ニュース公開時に正規ユーザー 1M 同時アクセス
  • DDoS 攻撃と正規トラフィックの区別が困難

Shield Advanced の効果

Health-Based Detection で通常パターンを学習
    ├─ 速報時の 1M アクセス = 正規パターン
    ├─ DDoS 的なプロトコル異常(UDP/ICMP dominant)= 攻撃
    └─ 正規ユーザーへの影響ゼロで攻撃のみ遮断

6. グローバル企業の複数リージョン一元管理

シナリオ

  • 日本・米国・EU の 3 リージョン展開
  • 各リージョンの Shield 設定が異なる → 保護レベル不均一

Shield Advanced + Firewall Manager の効果

Firewall Manager(Organizations):
    ├─ 全リージョンに同一の Shield Advanced 設定を展開
    ├─ WAF ルールを統一管理
    └─ CloudWatch ダッシュボードを一元監視
        → 3 リージョンすべての保護レベル統一

7. IoT / Connected Devices からの DDoS(反射攻撃)

シナリオ

  • 脆弱な IoT デバイス(セキュリティカメラ・ルータ)が乗っ取られ
  • NTP Reflection / DNS Amplification 攻撃に悪用
  • 攻撃トラフィック 100Gbps 以上

Shield Advanced の効果

Shield Standard では自動的に NTP/DNS Flood を緩和
    ↓
Shield Advanced で詳細ログ取得
    ↓
DRT が攻撃反射元(ISP)に通知
    ↓
ISP がボトネット削除

8. API Gateway(REST / WebSocket)DDoS

シナリオ

  • モバイルアプリが API Gateway を経由
  • L7 攻撃で API レート制限に達する → 正規ユーザーもエラー

Shield Advanced の効果

Shield Advanced が API Gateway を保護
    ├─ HTTP Flood 検知
    ├─ DRT が Rate Limiting Rule を自動適用
    ├─ 正規リクエスト:継続処理
    └─ 攻撃リクエスト:遮断

9. AppSync GraphQL API DDoS

シナリオ

  • GraphQL クエリの複雑性を悪用した DoS
  • ネストされた深いクエリで DB 負荷集中

Shield Advanced の効果

WAF が GraphQL クエリ構文を検析
    ├─ 異常に深いネスト(depth > 10)を検知
    ├─ クエリ複雑性スコアが閾値超過で遮断
    └─ 正当なアプリケーションクエリは通す

10. CloudFront + Lambda@Edge DDoS 対策

シナリオ

  • Lambda@Edge で検証ロジック実行
  • DDoS 攻撃で Lambda 実行数が 10 倍に → 実行時間料金急増

Shield Advanced の効果

Shield Advanced が CloudFront レイヤーで攻撃遮断
    ├─ Lambda@Edge に到達する前に攻撃トラフィック破棄
    ├─ Lambda 実行数増加なし → Lambda コスト増加なし
    └─ Cost Protection で異常なコスト全額払い戻し

11. マルチ AZ・マルチリージョンの Active-Active 構成

シナリオ

  • 複数リージョンで同時に DDoS 攻撃受信
  • 1 リージョンのフェイルオーバーで他リージョンに負荷集中

Shield Advanced の効果

Shield Advanced が全リージョンで攻撃検知
    ├─ Global Accelerator でトラフィックを分散制御
    ├─ Route 53 で地理的なフェイルオーバー管理
    ├─ DRT が複数リージョン同時の対応実施
    └─ 全リージョンの可用性維持

12. SaaS プラットフォームの DDoS 保護と SLA

シナリオ

  • SLA 99.99% を顧客に約束
  • DDoS 攻撃でダウン時間 = SLA 違反 = 賠償

Shield Advanced の効果

Shield Advanced + DRT 対応
    ├─ DDoS 攻撃による停止時間最小化(< 5 分)
    ├─ Cost Protection で攻撃誘発コスト全額払い戻し
    └─ SLA 遵守 99.99% 以上達成

設定・操作の具体例 {#設定操作}

(スペース制約のため、AWS CLI と IaC の実装例に限定)


AWS CLI での操作 {#awscli}

1. Shield Advanced の有効化

# Shield Advanced を有効化
aws shield subscribe --subscription

# 出力
{
  "Subscription": {
    "StartTime": "2026-04-26T10:00:00.000Z",
    "TimeCommitmentInSeconds": 31536000,  # 1 年間
    "AutoRenew": true
  }
}

2. Protection を作成(リソースの登録)

# CloudFront Distribution を Shield Advanced で保護
aws shield create-protection \
    --name "cloudfront-protection" \
    --resource-arn "arn:aws:cloudfront::123456789012:distribution/E1A2B3C4D5E6F7" \
    --tags Key=Environment,Value=Production Key=Service,Value=ecommerce

# ALB を Shield Advanced で保護
aws shield create-protection \
    --name "alb-protection" \
    --resource-arn "arn:aws:elasticloadbalancing:ap-northeast-1:123456789012:loadbalancer/app/my-alb/1234567890"

3. DDoS イベントの一覧表示

aws shield describe-attacks --resource-arns "arn:aws:cloudfront::123456789012:distribution/E1A2B3C4D5E6F7"

# 出力
{
  "Attacks": [
    {
      "AttackId": "e7b6a5c4-d3b2-a1f0",
      "ResourceArns": ["arn:aws:cloudfront::123456789012:distribution/E1A2B3C4D5E6F7"],
      "StartTime": "2026-04-26T10:00:00.000Z",
      "EndTime": "2026-04-26T10:45:00.000Z",
      "AttackVectors": [
        {
          "VectorType": "UDP",
          "VectorCounterMeasures": [
            {
              "Name": "ShieldAdvancedMitigation"
            }
          ]
        }
      ]
    }
  ]
}

4. DDoS イベント詳細

aws shield describe-attack \
    --attack-id "e7b6a5c4-d3b2-a1f0"

5. DRT ログバケット設定

# S3 バケットを Shield Advanced ログ用に指定
aws shield associate-drt-log-bucket \
    --log-bucket "my-shield-logs"

# CloudFront ディストリビューションに対する DDoS ログを S3 に保存
aws shield describe-drt-access-role --region ap-northeast-1

6. CloudWatch Alarms を設定

# Shield Advanced DDoS 検出時のアラーム
aws cloudwatch put-metric-alarm \
    --alarm-name "ShieldAdvancedDDoSDetected" \
    --alarm-description "Alert when DDoS attack is detected" \
    --metric-name "DDoSDetected" \
    --namespace "AWS/Shield" \
    --statistic "Maximum" \
    --period 60 \
    --threshold 1 \
    --comparison-operator GreaterThanOrEqualToThreshold \
    --evaluation-periods 1 \
    --alarm-actions "arn:aws:sns:ap-northeast-1:123456789012:DDoS-Alerts"

CloudFormation / CDK / Terraform {#iac}

CloudFormation(YAML)

AWSTemplateFormatVersion: '2010-09-09'
Description: Shield Advanced Configuration

Resources:
  # Shield Advanced Protection for CloudFront
  ShieldProtection:
    Type: AWS::Shield::Protection
    Properties:
      Name: CloudFront-Protection
      ResourceArn: !Sub 'arn:aws:cloudfront::${AWS::AccountId}:distribution/${CloudFrontDistributionId}'
      Tags:
        - Key: Environment
          Value: Production

  # CloudWatch Alarm for DDoS Detection
  DDoSDetectionAlarm:
    Type: AWS::CloudWatch::Alarm
    Properties:
      AlarmName: Shield-Advanced-DDoS-Alert
      MetricName: DDoSDetected
      Namespace: AWS/Shield
      Statistic: Maximum
      Period: 60
      EvaluationPeriods: 1
      Threshold: 1
      ComparisonOperator: GreaterThanOrEqualToThreshold
      AlarmActions:
        - !Ref SNSTopic

  SNSTopic:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: DDoS-Alerts
      Subscription:
        - Endpoint: security-team@example.com
          Protocol: email

Outputs:
  ProtectionArn:
    Value: !GetAtt ShieldProtection.ProtectionArn
    Description: Shield Protection ARN

AWS CDK(Python)

from aws_cdk import (
    aws_shield as shield,
    aws_cloudwatch as cloudwatch,
    aws_cloudfront as cloudfront,
    core
)

class ShieldAdvancedStack(core.Stack):
    def __init__(self, scope: core.Construct, id: str, **kwargs):
        super().__init__(scope, id, **kwargs)
        
        # CloudFront Distribution
        distribution = cloudfront.Distribution(
            self, "MyDistribution",
            default_behavior=cloudfront.BehaviorOptions(
                origin=cloudfront.HttpOrigin("example.com"),
                allowed_methods=cloudfront.AllowedMethods.ALLOW_ALL,
                cached_methods=cloudfront.CachedMethods.CACHE_GET_HEAD
            )
        )
        
        # Shield Advanced Protection
        protection = shield.Protection(
            self, "ShieldProtection",
            resource_arn=distribution.distribution_arn,
            name="CloudFront-Protection"
        )
        
        # CloudWatch Alarm
        alarm = cloudwatch.Alarm(
            self, "DDoSAlarm",
            metric=cloudwatch.Metric(
                namespace="AWS/Shield",
                metric_name="DDoSDetected",
                statistic="Maximum",
                period=core.Duration.minutes(1)
            ),
            threshold=1,
            evaluation_periods=1,
            alarm_description="Alert when Shield detects DDoS"
        )

app = core.App()
ShieldAdvancedStack(app, "ShieldAdvancedStack")
app.synth()

Terraform

# variables.tf
variable "cloudfront_distribution_arn" {
  type        = string
  description = "CloudFront Distribution ARN to protect"
}

# main.tf
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "us-east-1"  # Shield Advanced is global
}

# Shield Advanced Protection
resource "aws_shield_protection" "cloudfront" {
  name          = "cloudfront-protection"
  resource_arn  = var.cloudfront_distribution_arn
  
  tags = {
    Environment = "production"
    Service     = "web"
  }
}

# CloudWatch Alarm for DDoS Detection
resource "aws_cloudwatch_metric_alarm" "ddos_alarm" {
  alarm_name          = "shield-advanced-ddos-detection"
  comparison_operator = "GreaterThanOrEqualToThreshold"
  evaluation_periods  = "1"
  metric_name         = "DDoSDetected"
  namespace           = "AWS/Shield"
  period              = "60"
  statistic           = "Maximum"
  threshold           = "1"
  alarm_description   = "Alert when DDoS is detected by Shield Advanced"
  alarm_actions       = [aws_sns_topic.ddos_alerts.arn]
}

# SNS Topic for Alerts
resource "aws_sns_topic" "ddos_alerts" {
  name = "ddos-alerts"
}

resource "aws_sns_topic_subscription" "ddos_email" {
  topic_arn = aws_sns_topic.ddos_alerts.arn
  protocol  = "email"
  endpoint  = "security-team@example.com"
}

# Output
output "protection_arn" {
  value       = aws_shield_protection.cloudfront.protection_arn
  description = "Shield Protection ARN"
}

Firewall Manager での一元管理 {#firewall-manager}

# Firewall Manager で Shield Advanced Policy を作成
aws fms create-policy \
    --policy '{
      "PolicyName": "Shield-Advanced-Policy",
      "PolicyDetails": {
        "ManagedServiceData": "{
          \"type\": \"SHIELD_ADVANCED\",
          \"protectionScope\": {
            \"type\": \"CLOUDFRONT\"
          }
        }",
        "Type": "SHIELD_ADVANCED",
        "ResourceType": "AWS::CloudFront::Distribution"
      }
    }' \
    --policy-update-token "eJ..." \
    --region ap-northeast-1

CloudFront / ALB / Route 53 統合 {#integration}

CloudFront での DDoS 対策

CloudFront Edge Location
    ├─ Shield Standard:自動 L3-L4 保護
    ├─ Shield Advanced:L3-L7 詳細ログ + DRT
    ├─ WAF:カスタムルール(DRT が自動適用)
    └─ Geographic Restriction:国別フィルター

ALB での DDoS 対策

# ALB に Shield Advanced Protection を関連付け
aws shield create-protection \
    --name "alb-prod-protection" \
    --resource-arn "arn:aws:elasticloadbalancing:ap-northeast-1:123456789012:loadbalancer/app/prod-alb/abc123def456"

# ALB に WAF を関連付け
aws wafv2 associate-web-acl \
    --web-acl-arn "arn:aws:wafv2:ap-northeast-1:123456789012:regional/webacl/prod-waf/abc123" \
    --resource-arn "arn:aws:elasticloadbalancing:ap-northeast-1:123456789012:loadbalancer/app/prod-alb/abc123def456"

Route 53 での DDoS 対策

# Route 53 に Shield Advanced Protection を関連付け
aws shield create-protection \
    --name "route53-protection" \
    --resource-arn "arn:aws:route53:::hostedzone/Z1234567890ABC"

# Health Check で異常を自動検知 → フェイルオーバー
aws route53 create-health-check \
    --caller-reference "ddos-health-check-001" \
    --health-check-config '{
      "Type": "CLOUDWATCH_METRIC",
      "AlarmIdentifier": {
        "Region": "ap-northeast-1",
        "Name": "Shield-Advanced-DDoS-Alert"
      },
      "InsufficientDataHealthStatus": "Unhealthy"
    }'

類似サービス比較表 {#比較}

観点 Shield Advanced Cloudflare Magic Transit Akamai Prolexic Imperva DDoS
基本料金 $3,000/月 カスタム見積 カスタム見積 カスタム見積
L3-L4 保護
L7 保護 ✅ WAF 統合
24/7 サポート ✅ DRT
Cost Protection
CloudFront 統合 ✅ ネイティブ
AWS 専用
AI/ML 検知 ✅(2026+)
グローバル対応 ✅(180+ Edge) ✅(200+)
On-Premises / Hybrid 限定的

ベストプラクティス {#bestpractices}

✅ DO(すべき)

  1. Shield Standard の基本保護を理解してから Advanced を導入する

    • Shield Standard は無料・自動で有効(無効化不可)
    • Advanced は追加保護・有料・選択的
  2. DRT 連絡先を事前に登録する

    • AWS Support ケースで 24/7 連絡可能に
    • 攻撃時の応答時間短縮
  3. CloudWatch Alarms を設定する

    • DDoS 検出を自動通知
    • アラームから DRT への自動エスカレーション
  4. Health-Based Detection のベースライン学習期間を確保する

    • 最低 2 週間の通常トラフィック観測
    • その後の異常検知精度向上
  5. WAF との統合を活用する

    • Shield Advanced + WAF で L3-L7 全層保護
    • DRT が L7 ルールを自動適用
  6. Firewall Manager で複数リージョン / アカウント一元管理

    • Organizations 配下全体の統一保護
    • ポリシー自動配置
  7. DDoS イベント後のインシデント報告書を保管

    • DRT が提供する詳細分析
    • 将来の対策改善に活用
    • コンプライアンス監査証拠
  8. 定期的に Cost Protection のシミュレーションを実施

    • 想定コスト増加時のクレジット額を把握
    • ROI 検証

❌ DON’T(してはいけない)

  1. Shield Advanced を導入したら DDoS 対策不要と考える

    ❌ BAD: Shield Advanced だけに依存
    ✅ GOOD: Shield Advanced + WAF + CloudFront + Rate Limiting の多層防御
    
  2. DRT に何度も同じ質問をする

    • インシデント報告書・推奨事項をしっかり読む
    • 定期的にセキュリティレビュー
  3. CloudWatch ダッシュボードを設定しない

    ❌ BAD: DDoS 発生時に初めてメトリクスを見る
    ✅ GOOD: 平時からダッシュボード監視・Alarms 設定
    
  4. WAF ルール設定を DRT に完全委任

    • DRT はサポート・提案役
    • ビジネス要件に合わせてお客様が主導的に設定
  5. Cost Protection の適用範囲外のコストを誤認識

    • AWS Support 追加料金は対象外
    • 通常利用コスト増加も対象外
  6. テスト環境で DDoS シミュレーションを許可なく実施

    • AWS との事前協議が必須
    • 詐欺的なトラフィック送信は禁止

トラブルシューティング {#troubleshooting}

症状 原因 対応
Shield Advanced サブスクリプション作成エラー 既に有効な Shield Advanced がある、または契約ユーザー AWS Support に問い合わせ
DDoS イベント検出されず Health-Based Detection のベースライン学習期間不足(< 2 週間) 最低 2 週間待ってから再度確認
DRT に連絡できない Shield Advanced 契約確認できず、または Support ケース作成していない AWS Support ケースを作成・DRT 連絡先情報確認
CloudWatch メトリクス表示されない Shield Advanced ログを CloudWatch に配信していない associate-drt-log-bucket で S3 バケット設定
Cost Protection クレジット拒否 DDoS 攻撃と認定されない(通常利用コスト増加と判定) DRT にインシデント詳細・トラフィック分析データ提出
WAF ルール自動適用されない WAF が Shield Advanced と関連付けられていない Shield Advanced + WAF 統合を確認・設定
保護対象リソース削除後も請求される Shield Advanced Protection リソースが削除されていない delete-protection で明示的に削除

2025-2026 最新動向 {#latest}

1. AI/ML による異常検知の自動化

2026 新機能:機械学習によるベースライン学習・異常検知が強化

  • 従来:2 週間のベースライン学習期間が必要
  • 新機能:初回デプロイから 3 日で学習完了
  • 精度:攻撃検知精度 99.9% 以上

2. Lambda・RDS・NAT Gateway への Cost Protection 拡張

対象範囲拡大

  • 従来:CloudFront / Route 53 / ALB / EC2 のみ
  • 新機能:+ Lambda / RDS / NAT Gateway / Data Transfer

3. Health-Based Detection の個別カスタマイズ

2026 ロードマップ:ビジネス固有のトラフィックパターンを直接入力可能に

従来:自動学習のみ
新機能:
    ├─ ビジネスイベント(セール時・キャンペーン)の事前申告
    └─ DRT が同期的にベースライン調整

4. WAF 自動チューニングの高度化

2026:DRT が継続的に WAF ルール最適化

  • 誤検知削減
  • 攻撃検知精度向上

5. Firewall Manager での自動デプロイ

Organizations 統合強化

  • 新規 AWS アカウント作成
  • ↓ 自動的に Shield Advanced Protection 作成
  • ↓ WAF ルール自動配置

学習リソース・参考文献 {#resources}

公式ドキュメント

  1. AWS Shield Advanced Developer Guide https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced.html

  2. AWS WAF Developer Guide https://docs.aws.amazon.com/waf/latest/developerguide/

  3. AWS Shield Pricing https://aws.amazon.com/shield/pricing/

  4. AWS Firewall Manager https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html

  5. CloudWatch Metrics Reference https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/

  6. AWS Security Best Practices https://docs.aws.amazon.com/security/

  7. Well-Architected Framework - Reliability Pillar https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/

  8. OWASP DDoS Prevention Cheat Sheet https://cheatsheetseries.owasp.org/cheatsheets/DDoS_Prevention_Cheat_Sheet.html

OSS / ベンダー資料

  1. Apache Traffic Server(キャッシング・DDoS 対策) https://trafficserver.apache.org/

  2. ModSecurity WAF https://modsecurity.org/

  3. OWASP Top 10 https://owasp.org/www-project-top-ten/

  4. NIST Cybersecurity Framework https://www.nist.gov/cyberframework

  5. SANS Institute DDoS Defense https://www.sans.org/


実装例・チェックリスト {#checklist}

実装フェーズチェックリスト

  • [ ] Shield Advanced のコスト・ROI を検証
  • [ ] Shield Advanced サブスクリプション申し込み
  • [ ] 保護対象リソース(CloudFront / ALB / Route 53)を特定
  • [ ] Shield Protection を各リソースに関連付け
  • [ ] WAF WebACL を作成・リソースに関連付け
  • [ ] CloudWatch Dashboard を構築
  • [ ] CloudWatch Alarms を設定(DDoS 検出アラーム)
  • [ ] SNS Topic で DRT 連絡先を登録
  • [ ] DRT と初期面談を実施(攻撃時の対応フロー確認)
  • [ ] Health-Based Detection ベースライン学習期間を確保(2 週間)
  • [ ] テスト環境での CloudFront + Shield Advanced + WAF 統合テスト
  • [ ] 本番環境へのロールアウト

セキュリティチェックリスト

  • [ ] CloudWatch Logs で DDoS イベントを定期監視
  • [ ] CloudTrail で Shield API 呼び出しを監査
  • [ ] S3 バケット(Shield ログ保存)のアクセス制御を設定
  • [ ] CloudWatch Alarms の通知先を複数登録(冗長性確保)
  • [ ] DRT インシデント報告書を定期的に分析・改善に反映
  • [ ] Cost Protection クレジットの使用状況を追跡

運用チェックリスト

  • [ ] 月 1 回の Shield Advanced ダッシュボードレビュー
  • [ ] 四半期ごとの DDoS 対策・WAF ルールの見直し
  • [ ] 年 1 回の DRT との戦略レビュー
  • [ ] Firewall Manager ポリシーの全リージョン・アカウント適用確認
  • [ ] DDoS インシデント後のポストモーテムレビュー
  • [ ] セキュリティチーム教育・意識向上(DDoS 脅威・対策)

まとめ {#summary}

AWS Shield Advanced は、大規模・高度な DDoS 攻撃からの保護・24/7 DDoS Response Team サポート・財務保護を提供するエンタープライズセキュリティサービス です。

Core Takeaways

  1. 多層的な DDoS 防御:L3-L4 自動 + L7 DRT サポート
  2. DRT(DDoS Response Team):攻撃時の即座の専門家対応
  3. Cost Protection:DDoS 誘発の追加コストを 100% 払い戻し
  4. Health-Based Detection:機械学習による異常検知
  5. WAF 統合:シームレスな L7 攻撃対策

採用すべき環境

  • 月額 $3,000 のコストを正当化できる規模・重要度
  • 過去に DDoS 攻撃を受けた実績
  • 99.99% 以上の可用性が要件(金融・医療・ゲーム)
  • グローバル展開で複数リージョン保護が必要

導入時の注意点

  • Shield Standard の基本機能を理解した上での Advanced 導入
  • Health-Based Detection のベースライン学習期間確保(2 週間)
  • WAF との統合設定・継続的なチューニング
  • DRT との定期的なコミュニケーション

次のステップ

  1. Shield Advanced 導入判断(ROI 検証)
  2. AWS Support を通じた Subscription 申し込み
  3. 保護対象リソースの特定・Protection 作成
  4. WAF ルール設定・CloudWatch 監視構築
  5. DRT との初期面談・対応フロー確認

Shield Advanced により、AWS 環境における DDoS 脅威を最小化し、ビジネス継続性と財務保護を確保できます。


最終更新:2026-04-26
バージョン:v2.0