AWS Shield Advanced

目次

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

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

このページの目的

このページでは以下を対象としています:

  • セキュリティエンジニア向け: 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 などの追加リソース対応

概要

初心者向けメモ: 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 で明示的に削除

近年の動向 {#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 脅威を最小化し、ビジネス継続性と財務保護を確保できます。