Q5 — AWS SAP-C02 第2章
第 5/75 問 | ← 第2章
Q155. ある企業が、顧客がオンライン注文を行うために利用するアプリケーションを更新しようとしています。最近、悪意ある攻撃者によるこのアプリケーションへの攻撃件数が増加しています。 企業は、更新後のアプリケーションを Amazon Elastic Container Service(Amazon ECS)クラスター上でホストし、アプリケーションデータの保存には Amazon DynamoDB を使用します。エンドユーザーへのアクセスは、パブリックな Application Load Balancer(ALB)を通じて提供されます。企業は、攻撃を防止し、継続的な攻撃中でもビジネスの継続性を確保するとともに、サービス中断を最小限に抑える必要があります。これらの要件を、最もコスト効率よく満たすための手順の組み合わせはどれですか?(2つ選択してください。)
- A. ALB をオリジンとする Amazon CloudFront ディストリビューションを作成します。CloudFront ドメインにカスタムヘッダーとランダム値を追加し、ALB を設定して、そのヘッダーと値が一致する場合のみトラフィックを条件付きで転送するようにします。 ✓
- B. アプリケーションを2つの AWS リージョンにデプロイします。Amazon Route 53 を構成して、両方のリージョンに対して等しい重みでルーティングするようにします。
- C. Amazon ECS タスク向けに Auto Scaling を設定します。DynamoDB Accelerator(DAX)クラスターを作成します。
- D. Amazon ElastiCache を設定して、DynamoDB への負荷を軽減します。
- E. 適切なルールグループを含む AWS WAF の Web ACL をデプロイし、その Web ACL を Amazon CloudFront ディストリビューションに関連付けます。 ✓
正解: A. ALB をオリジンとする Amazon CloudFront ディストリビューションを作成します。CloudFront ドメインにカスタムヘッダーとランダム値を追加し、ALB を設定して、そのヘッダーと値が一致する場合のみトラフィックを条件付きで転送するようにします。, E. 適切なルールグループを含む AWS WAF の Web ACL をデプロイし、その Web ACL を Amazon CloudFront ディストリビューションに関連付けます。
解説
攻撃防止とビジネス継続性の確保には、レイヤー化された防御(defense-in-depth)アプローチが重要です。AWS WAF は、SQLインジェクションやクロスサイトスクリプティング(XSS)などの一般的なWeb攻撃を検知・ブロックするためのマネージド型Webアプリケーションファイアウォールであり、CloudFront と ALB の両方と統合可能です。ただし、ALB はインターネットから直接アクセスされるため、WAF を ALB に直接関連付けることも可能ですが、CloudFront を導入することで、DDoS 攻撃の緩和、キャッシュによる負荷低減、および地理的に分散したエッジロケーションからの攻撃遮断といった追加メリットが得られます。したがって、CloudFront + AWS WAF の組み合わせ(選択肢 E)は、攻撃防止と可用性向上の両面で非常に有効です。また、選択肢 A は「カスタムヘッダーによるアクセス制御」を試みていますが、これはセキュリティによるものではなく、単なる obscurity(隠蔽)であり、信頼できる防御手段とはならず、攻撃者にとって容易に回避可能な脆弱な手法です(例:ヘッダーを偽装すれば通過)。選択肢 B はマルチリージョン構成による可用性向上を目的としていますが、攻撃防止には寄与せず、コストが大幅に増加するため、コスト効率という観点では不適切です。選択肢 C と D はパフォーマンス最適化を目的としており、DynamoDB のスケーラビリティやレイテンシ改善には有効ですが、攻撃防止やサービス継続性の保証には直接寄与しません。よって、最もコスト効率よく要件を満たすのは、CloudFront を経由した WAF の活用(E)と、ALB の代わりに CloudFront をフロントエンドとして配置し、WAF を適用する設計(E が前提)—— しかし、選択肢 A はセキュリティ上推奨されないため除外。実際のベストプラクティスは、CloudFront + WAF(E)+ ALB の保護(WAF を ALB に直接関連付けることも可能だが、問題文では CloudFront が登場しているため、E が必須)。残りの選択肢の中で、攻撃緩和と継続性に貢献し、かつコスト効率が高いのは、E と C ではありません。C はスケーリングと DAX で可用性・パフォーマンス向上を図るものですが、攻撃防止ではない。正解は E と —— 実際の SAA-C03 の出題意図では、WAF(E)と、CloudFront を通じたトラフィックのフィルタリング・緩和(A は誤り)、あるいは ALB 自体の保護。しかし、選択肢を再評価すると、A は「カスタムヘッダーによる認証」ではなく、単なるヘッダー検査であり、攻撃者にとって無意味な防御です。したがって、唯一明確に攻撃防止と継続性を高めるのは E だけで、もう1つは? 問題文では「ALB がパブリック」とあり、WAF を ALB に直接紐付けることもできますが、選択肢にはその記載がありません。代わりに、選択肢 C の「ECS タスクの Auto Scaling」は、トラフィック急増(例:攻撃による正当なトラフィックの増加や、攻撃自体の影響)に対するスケーラビリティを確保し、サービス中断を防ぐための重要な手段です。DAX も読み取り負荷の軽減に寄与し、DynamoDB の過負荷による障害を防ぎ、結果として継続性を高めます。ただし、DAX は書き込み系には効果がなく、主に読み取り集中型ワークロードに有効です。それでも、選択肢 C は「Auto Scaling」と「DAX」の2つの要素を含んでおり、どちらも可用性・継続性向上に寄与します。一方、選択肢 E は明確な攻撃防止手段です。したがって、正解は C と E です。A はセキュリティ上無意味、B はコスト高・攻撃防止無関係、D は ElastiCache は Redis/Memcached 向けで DynamoDB の代替ではなく、DynamoDB へのオーバーヘッド低減には DAX の方が適しており、ElastiCache はアプリケーション側のキャッシュ用途であり、本問の DynamoDB 直接アクセスモデルでは不適切です。