Cloud Service
AWS Shield
DDoS 攻撃からアプリケーションを保護するマネージドサービスで、標準の Standard と高度な防御を提供する Advanced の二層構成を持つ。
- 1.ネットワーク層からアプリ層までの DDoS 攻撃を緩和するマネージドサービス
- 2.Standard は全利用者に無償で自動適用され、Advanced は有償で高度な防御と支援を提供
- 3.CloudFront や Route 53、ALB などのエッジおよびリージョナルリソースを保護対象とする
AWS Shield は、分散型サービス拒否(DDoS)攻撃からアプリケーションを保護するためのマネージドサービスです。常時稼働の検出と自動緩和により、ネットワーク層・トランスポート層からアプリケーション層までの攻撃に対応します。
解決する課題
公開エンドポイントを持つアプリケーションは、大量のトラフィックを送りつけてサービスを停止させる DDoS 攻撃の標的になり得ます。攻撃は単純な帯域飽和から、正規のリクエストを装うアプリケーション層攻撃まで多様で、自前で検出・緩和の仕組みを構築・維持するのは負担が大きいものです。
AWS Shield は、AWS のグローバルなネットワークインフラに組み込まれた緩和機能を提供することで、利用者がインフラの調達や緩和ロジックの実装をせずに DDoS への耐性を得られるようにします。これにより、可用性の維持と運用負荷の軽減を両立できます。
主要概念と用語
- Shield Standard: すべての AWS 利用者に追加費用なしで自動的に適用される基本的な保護。主にネットワーク層・トランスポート層の一般的な DDoS 攻撃を緩和する。
- Shield Advanced: 有償のサブスクリプション。より高度な検出・緩和、攻撃の可視化、アプリケーション層への対応強化、専門チームによる支援などを提供する。
- DDoS(分散型サービス拒否)攻撃: 多数の送信元から大量のトラフィックやリクエストを送り、対象のサービスを過負荷にして利用不能にしようとする攻撃。
- ネットワーク層・トランスポート層攻撃: パケット量や接続数で対象を圧迫する攻撃の総称で、一般に体積型(ボリューメトリック)攻撃と呼ばれる種類を含む。
- アプリケーション層攻撃: 正規のリクエストに見える要求を大量に送ってアプリケーションの処理能力を消耗させる攻撃。Web リクエストを悪用するものが代表的。
- 保護対象リソース: Shield が緩和を適用できるリソース。CloudFront ディストリビューション、Route 53 ホストゾーン、Global Accelerator、Application Load Balancer、Network Load Balancer、Elastic IP などが含まれる。
- DDoS Response Team(DRT): Shield Advanced の契約者が攻撃時に支援を受けられる AWS の対応チーム。攻撃の調査や緩和の最適化を支援する。
- DDoS コスト保護: Shield Advanced において、保護対象リソースが DDoS 攻撃によりスケールした場合に発生し得る一部の費用増加を、要件を満たせば補填する仕組み。
仕様・制限・クォータ
Shield Standard は申込み不要で自動的に有効になり、AWS のエッジロケーションやリージョナルサービスに対して一般的な攻撃緩和を継続的に提供します。利用者が個別に設定する項目はほとんどありません。
Shield Advanced はアカウント単位でサブスクライブし、保護したいリソースを明示的に登録します。保護対象として選べるリソースの種類はエッジ系(CloudFront、Route 53、Global Accelerator)とリージョナル系(ALB、NLB、Elastic IP など)に分かれ、対応するリソース種別はリージョンやサービスによって異なります。
具体的な料金体系、サブスクリプションの最低契約期間、保護できるリソース数の上限といった数値は変更され得るため、導入前に公式ドキュメントと料金ページで最新の値を確認してください。
内部の仕組み
Shield の緩和は AWS のグローバルネットワークの境界で機能します。エッジに到達するトラフィックは常時監視され、異常なパターンが検出されると緩和が適用されます。CloudFront や Route 53 のようなエッジサービスはもともと地理的に分散しているため、体積型攻撃のトラフィックを複数のロケーションに分散して吸収しやすい構造になっています。
Shield Standard では、シグネチャや既知の攻撃パターン、トラフィックの統計的な異常に基づく自動緩和が透過的に行われます。利用者は緩和の動作を直接制御しません。
Shield Advanced では、保護対象リソースごとのトラフィックを学習し、平常時のベースラインからの逸脱をより細かく検知します。アプリケーション層攻撃に対しては AWS WAF と連携し、レート制限やマッチ条件によるルールで悪意あるリクエストを遮断します。検出された攻撃の詳細はメトリクスやイベントとして可視化されます。
設計パターン / ベストプラクティス
DDoS 耐性は単一のサービスではなく、アーキテクチャ全体で高めるべきものです。Shield を中心に、エッジでのトラフィック終端と多層防御を組み合わせます。
- CloudFront を前面に置き、オリジンを直接公開しない。エッジでトラフィックを終端することで体積型攻撃の影響を分散・吸収しやすくする。
- アプリケーション層攻撃に備え、AWS WAF を併用してレートベースルールや既知の不正パターンの遮断を行う。Shield Advanced は WAF との連携を前提に設計されている。
- オリジンのセキュリティグループや到達経路を絞り、CloudFront 経由以外の直接アクセスを制限する。
- Route 53 を用いた DNS の冗長化と、Global Accelerator や ELB によるトラフィック分散で、単一障害点を排除する。
- 重要な公開アプリケーションでは Shield Advanced を検討し、コスト保護と専門支援を可用性要件と照らして評価する。
Shield 単体ではアプリケーション層のロジックを完全には守れません。エッジ配置、WAF、適切なオートスケーリング、到達経路の制限を組み合わせることで、はじめて実用的な DDoS 耐性が得られます。
運用・監視
攻撃の検知と対応を迅速にするため、メトリクスとアラートの整備が欠かせません。Shield は攻撃に関する指標を CloudWatch メトリクスとして提供し、これを用いてアラームや通知を構成できます。
Shield Advanced では、進行中および過去の攻撃を一覧できるダッシュボードや、検出された攻撃の詳細情報が利用できます。これにより、攻撃のベクトルや規模を把握し、緩和の妥当性を確認できます。重大な攻撃時には DDoS Response Team の支援を受け、緩和の最適化や原因分析を進められます。
平常時のトラフィック特性を把握しておくことで、検知のしきい値設定や誤検知の判断が容易になります。WAF のログと併せて分析する運用を整えておくとよいでしょう。
メトリクスを取得しているだけでは対応が遅れます。攻撃検知のメトリクスにアラームを設定し、担当者へ確実に通知が届くよう運用フローを事前に確立してください。
コスト
Shield Standard は追加費用なしで利用できます。Shield Advanced は月額のサブスクリプション費用に加え、保護対象リソースを通過するデータ転送量に応じた費用が発生する形が一般的です。
Shield Advanced には、DDoS 攻撃に起因して保護対象リソースがスケールした際に生じ得る一部の費用を、要件を満たした場合に補填するコスト保護の仕組みがあります。料金の構造や補填の条件は変更され得るため、最新の料金ページで確認してください。費用対効果は、保護したいアプリケーションの可用性要件とビジネス上の影響度に照らして判断します。
セキュリティ
Shield は可用性に関わる DDoS 防御に特化しており、データの機密性や完全性を守る仕組みではありません。アクセス制御や暗号化、脆弱性対策などは別途 IAM、暗号化サービス、WAF などで担保する必要があります。
Shield Advanced の操作は IAM で権限管理され、保護対象の登録や設定変更を最小権限の原則に従って制御します。アプリケーション層の防御は WAF のルールに依存するため、ルールの設計とメンテナンスがセキュリティ品質を左右します。
Shield は DDoS による可用性低下を防ぐサービスであり、SQL インジェクションやクロスサイトスクリプティングといったアプリケーションの脆弱性を悪用する攻撃そのものは防ぎません。これらは WAF やセキュアコーディングで対処します。
Well-Architected の観点
セキュリティの柱では、Shield は境界での防御層として機能し、WAF や IAM と組み合わせた多層防御の一部を担います。攻撃の検知と可視化により、インシデント対応の準備という観点にも寄与します。
信頼性の柱では、DDoS による可用性低下を緩和することで、想定外の負荷に対する耐性を高めます。エッジ配置や冗長構成と組み合わせることで、単一障害点の排除とスケーラビリティの確保に貢献します。コスト最適化の観点では、Shield Advanced のコスト保護が攻撃時の予期せぬ費用増加リスクを抑える要素になります。
試験で問われるポイント
- Standard は全利用者に無償で自動適用され、Advanced は有償サブスクリプションである点の区別。
- Advanced はアプリケーション層攻撃への対応を AWS WAF との連携で行うこと。
- 保護対象がエッジ系(CloudFront、Route 53、Global Accelerator)とリージョナル系(ALB、NLB、Elastic IP)に分かれること。
- Advanced ならではの特徴として、DDoS Response Team による支援と DDoS コスト保護があること。
- Shield は可用性に関わる DDoS 防御であり、アプリケーションの脆弱性そのものは WAF で対処すること。
関連サービス・比較
AWS WAF はアプリケーション層のリクエストを検査して不正なものを遮断するサービスで、Shield と組み合わせて使われることが多いものです。両者は役割が異なり、補完関係にあります。
| 観点 | AWS Shield | AWS WAF |
|---|---|---|
| 主な目的 | DDoS 攻撃の緩和による可用性維持 | リクエスト検査による不正アクセスの遮断 |
| 主な対象層 | ネットワーク層からアプリ層まで | 主にアプリケーション層(Web リクエスト) |
| 防げる代表例 | 体積型攻撃や接続数による過負荷 | SQL インジェクションやクロスサイトスクリプティングなど |
| 関係 | WAF と連携して多層防御を構成 | Shield Advanced のアプリ層防御を担う |
ハンズオン / CLI例
以下は Shield Advanced で特定のリソースを保護対象として登録し、現在の保護一覧を確認する例です。事前に Shield Advanced へサブスクライブしている必要があります。
# リソースを Shield Advanced の保護対象として登録する
aws shield create-protection \
--name "my-cloudfront-protection" \
--resource-arn "arn:aws:cloudfront::123456789012:distribution/EXAMPLE123" \
--region us-east-1
# 登録済みの保護一覧を確認する
aws shield list-protections --region us-east-1
# サブスクリプション状態を確認する
aws shield get-subscription-state --region us-east-1
AWS Service
AWS Shieldを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
セキュリティ・ID
比較で見る軸
クラウド: AWS / カテゴリ: セキュリティ・ID / 難易度: intermediate
導入後に効く点
Standard は全利用者に無償で自動適用され、Advanced は有償で高度な防御と支援を提供
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- セキュリティ・ID
- 難易度
- intermediate
- 関連資格
- SCS-C02 / ANS-C01
- 設計柱
- security / reliability
判断チェックリスト
- 自社の用途が「セキュリティ・ID / security」に近いか確認する。
- 強みである「ネットワーク層からアプリ層までの DDoS 攻撃を緩和するマネージドサービス」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。