企業がアジア太平洋地域向けのRESTful APIをAWSで運用しており、以下の要件があります: 1. IPv4とIPv6の両プロトコルに対応し、世界中のクライアントからのアクセスを受け付ける 2. リクエストパスに応じて複数のマイクロサービスへ振り分ける(例:/api/users は User Service、/api/orders は Order Service) 3. SQLインジェクション、XSS、ボット攻撃などの不正アクセスを検知・ブロックする 4. 複数のAZに分散配置し、いずれかのAZ障害でも継続稼働する このアーキテクチャ要件を満たすために実装すべき構成要素として、正しいものはどれですか?(複数選択可)
複数選択:正しいものをすべて選択
正解・解説を見る
正解はAとBです。 【A について】ALB は IPv4/IPv6 の Dualstack プロトコルに対応し、Layer 7 機能によってリクエストパスやホスト名に基づくルーティングが可能です。複数 AZ 配置により高可用性を実現します。要件 1・2・4 を満たす基礎的な構成要素として必須です。 【B について】AWS WAF は web ACL という保護ポリシーを定義し、ALB などの保護対象リソースに関連付けることで、SQLインジェクション、XSS、ボット攻撃など複数の脅威パターンを検知・ブロックします。要件 3 のセキュリティ対策を実装するために必須です。 【C について】NLB は Layer 4 で動作し、TCP/UDP ポートレベルの負荷分散に特化していますが、HTTP リクエストのパスやホスト名に基づくルーティングは Layer 7 機能のため対応していません。マイクロサービスのパスベースルーティング(要件 2)が実現できないため、この要件セットでは不適切です。 【D について】Classic Load Balancer は IPv4 のみのサポートであり、IPv6 に対応していません。公式ドキュメントで明記されている通り、要件 1 の IPv4/IPv6 両対応を実現できません。 【E について】Global Accelerator は複数地域からのアクセス経路を最適化するサービスですが、この問題では要件として明記されていません。基本的なマルチAZ構成と要件内容の対応には必須ではなく、追加的な最適化ソリューションに該当します。
A:要件1(IPv4/IPv6対応)と要件2(パス/ホスト名ベースルーティング)を満たすために必須の選択です。ALBはIPv4とIPv6の両方を同時にサポートするDualstackに対応しており、Layer 7機能によってリクエストパスに基づくマイクロサービスへのルーティングが可能です。複数AZ配置により要件4の高可用性も実現します。
B:要件3の不正アクセス対策を実装するために必須の選択です。AWS WAF は web ACL を通じて、指定した保護対象リソース(この場合はALB)に対して、攻撃パターンに基づいた検知・ブロックルールを設定できます。SQLインジェクション、XSS、ボット攻撃など複数の脅威に対するルール群を web ACL に追加することで、要件を満たします。
C:NLBはIPv6に対応しており高スループット環境に優れていますが、Layer 4(トランスポート層)で動作するため、HTTPのリクエストパスやホスト名に基づいたルーティングができません。要件2のマイクロサービスルーティング(パス/ホスト名ベース)は Layer 7機能であり、NLBではサポートされていないため、この要件を満たしません。
D:Classic Load Balancer はIPv4のみのサポートであり、IPv6のDualstack機能に対応していません。公式ドキュメントで確認可能な通り、Classic LB の対応プロトコルは IPv4 のみとなっているため、要件1(IPv4/IPv6対応)を満たすことができません。
E:Global Accelerator は地理的に分散したクライアントからのアクセス経路を最適化するサービスですが、この問題の要件には明記されていません。ALB本体でアジア太平洋地域のクライアント要件に対応可能であり、Global Accelerator は要件外の追加機能に該当します。基本的な要件(IPv4/IPv6対応、パスベースルーティング、セキュリティ、複数AZ)を満たすには含める必要がありません。
学習のポイント:Load Balancer の選択は、要件で求められるルーティングレイヤーと対応プロトコル(IPv4/IPv6)を組み合わせて判断する必要があります。パスベースルーティングは Layer 7 機能であり、NLB などの Layer 4 ロードバランサーでは実装できません。
公式ドキュメント