目次
- エンタープライズ DDoS 対策・24/7 専門チームサポート・コスト保護
- 概要
- Shield Standard vs Advanced {#standard-vs-advanced}
- Shield Advanced が解決する課題 {#課題}
- 主な特徴 {#特徴}
- アーキテクチャ {#アーキテクチャ}
- DDoS の種類と Shield の対策 {#ddos-types}
- 保護対象リソース {#保護対象}
- DRT(DDoS Response Team)サポート {#drt}
- Cost Protection(コスト保護) {#costprotection}
- Health-Based Detection {#health-based}
- WAF 統合・自動緩和 {#waf-integration}
- CloudWatch ダッシュボード・メトリクス {#cloudwatch}
- 主要ユースケース(12+) {#ユースケース}
- 設定・操作の具体例 {#設定操作}
- AWS CLI での操作 {#awscli}
- CloudFormation / CDK / Terraform {#iac}
- Firewall Manager での一元管理 {#firewall-manager}
- CloudFront / ALB / Route 53 統合 {#integration}
- 類似サービス比較表 {#比較}
- ベストプラクティス {#bestpractices}
- トラブルシューティング {#troubleshooting}
- 2025-2026 最新動向 {#latest}
- 学習リソース・参考文献 {#resources}
- 実装例・チェックリスト {#checklist}
- まとめ {#summary}
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 などの追加リソース対応
目次
- 概要
- Shield Standard vs Advanced
- Shield Advanced が解決する課題
- 主な特徴
- アーキテクチャ
- DDoS の種類と Shield の対策
- 保護対象リソース
- DRT(DDoS Response Team)サポート
- Cost Protection(コスト保護)
- Health-Based Detection
- WAF 統合・自動緩和
- CloudWatch ダッシュボード・メトリクス
- 主要ユースケース(12+)
- 設定・操作の具体例
- AWS CLI での操作
- CloudFormation / CDK / Terraform
- Firewall Manager での一元管理
- CloudFront / ALB / Route 53 統合
- 類似サービス比較表
- ベストプラクティス
- トラブルシューティング
- 2025-2026 最新動向
- 学習リソース・参考文献
- 実装例・チェックリスト
- まとめ
概要
初心者向けメモ: 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(すべき)
-
Shield Standard の基本保護を理解してから Advanced を導入する
- Shield Standard は無料・自動で有効(無効化不可)
- Advanced は追加保護・有料・選択的
-
DRT 連絡先を事前に登録する
- AWS Support ケースで 24/7 連絡可能に
- 攻撃時の応答時間短縮
-
CloudWatch Alarms を設定する
- DDoS 検出を自動通知
- アラームから DRT への自動エスカレーション
-
Health-Based Detection のベースライン学習期間を確保する
- 最低 2 週間の通常トラフィック観測
- その後の異常検知精度向上
-
WAF との統合を活用する
- Shield Advanced + WAF で L3-L7 全層保護
- DRT が L7 ルールを自動適用
-
Firewall Manager で複数リージョン / アカウント一元管理
- Organizations 配下全体の統一保護
- ポリシー自動配置
-
DDoS イベント後のインシデント報告書を保管
- DRT が提供する詳細分析
- 将来の対策改善に活用
- コンプライアンス監査証拠
-
定期的に Cost Protection のシミュレーションを実施
- 想定コスト増加時のクレジット額を把握
- ROI 検証
❌ DON’T(してはいけない)
-
Shield Advanced を導入したら DDoS 対策不要と考える
❌ BAD: Shield Advanced だけに依存 ✅ GOOD: Shield Advanced + WAF + CloudFront + Rate Limiting の多層防御 -
DRT に何度も同じ質問をする
- インシデント報告書・推奨事項をしっかり読む
- 定期的にセキュリティレビュー
-
CloudWatch ダッシュボードを設定しない
❌ BAD: DDoS 発生時に初めてメトリクスを見る ✅ GOOD: 平時からダッシュボード監視・Alarms 設定 -
WAF ルール設定を DRT に完全委任
- DRT はサポート・提案役
- ビジネス要件に合わせてお客様が主導的に設定
-
Cost Protection の適用範囲外のコストを誤認識
- AWS Support 追加料金は対象外
- 通常利用コスト増加も対象外
-
テスト環境で 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}
公式ドキュメント
-
AWS Shield Advanced Developer Guide https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced.html
-
AWS WAF Developer Guide https://docs.aws.amazon.com/waf/latest/developerguide/
-
AWS Shield Pricing https://aws.amazon.com/shield/pricing/
-
AWS Firewall Manager https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html
-
CloudWatch Metrics Reference https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/
-
AWS Security Best Practices https://docs.aws.amazon.com/security/
-
Well-Architected Framework - Reliability Pillar https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/
-
OWASP DDoS Prevention Cheat Sheet https://cheatsheetseries.owasp.org/cheatsheets/DDoS_Prevention_Cheat_Sheet.html
OSS / ベンダー資料
-
Apache Traffic Server(キャッシング・DDoS 対策) https://trafficserver.apache.org/
-
ModSecurity WAF https://modsecurity.org/
-
OWASP Top 10 https://owasp.org/www-project-top-ten/
-
NIST Cybersecurity Framework https://www.nist.gov/cyberframework
-
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
- 多層的な DDoS 防御:L3-L4 自動 + L7 DRT サポート
- DRT(DDoS Response Team):攻撃時の即座の専門家対応
- Cost Protection:DDoS 誘発の追加コストを 100% 払い戻し
- Health-Based Detection:機械学習による異常検知
- WAF 統合:シームレスな L7 攻撃対策
採用すべき環境
- 月額 $3,000 のコストを正当化できる規模・重要度
- 過去に DDoS 攻撃を受けた実績
- 99.99% 以上の可用性が要件(金融・医療・ゲーム)
- グローバル展開で複数リージョン保護が必要
導入時の注意点
- Shield Standard の基本機能を理解した上での Advanced 導入
- Health-Based Detection のベースライン学習期間確保(2 週間)
- WAF との統合設定・継続的なチューニング
- DRT との定期的なコミュニケーション
次のステップ
- Shield Advanced 導入判断(ROI 検証)
- AWS Support を通じた Subscription 申し込み
- 保護対象リソースの特定・Protection 作成
- WAF ルール設定・CloudWatch 監視構築
- DRT との初期面談・対応フロー確認
Shield Advanced により、AWS 環境における DDoS 脅威を最小化し、ビジネス継続性と財務保護を確保できます。
最終更新:2026-04-26
バージョン:v2.0