Q42 — AWS SAA-C03 第11章
第 42/100 問 | ← 第11章
Q742. ある会社が新しい家具在庫管理アプリケーションを開発しています。このアプリケーションは、複数の可用性ゾーンにまたがるAmazon EC2インスタンスのフリート上でデプロイされています。これらのEC2インスタンスは、VPC内にあるApplication Load Balancer(ALB)の後ろで実行されています。ソリューションズアーキテクトが観察したところ、着信トラフィックが1つのEC2インスタンスに偏っており、一部のリクエストでレイテンシーが発生しています。この問題を解決するために、ソリューションズアーキテクトは何を行うべきでしょうか?
- A. ALB上のセッションアフィニティ(ステッキーセッション)を無効化する ✓
- B. ALBをNetwork Load Balancerに置き換える
- C. 各可用性ゾーン内のEC2インスタンス数を増やす
- D. ALBのターゲットグループにおけるヘルスチェックの頻度を調整する
正解: A. ALB上のセッションアフィニティ(ステッキーセッション)を無効化する
解説
家具在庫管理アプリケーションにおいて、Application Load Balancer(ALB)の後ろで動作する複数のEC2インスタンス間で着信トラフィックが不均等に分配され、一部のリクエストでレイテンシーが発生しているという問題を解決するには、以下の選択肢を検討すべきです。 A. ALB上のセッションアフィニティ(ステッキーセッション)を無効化する。 ALBではデフォルトで、同一クライアントからのリクエストを常に同一のEC2インスタンスにルーティングする「セッションアフィニティ」が有効になっています。これは、アプリケーションでセッション状態の保持が必要な場合に有用ですが、必要でない場合はトラフィックの偏りを引き起こし、負荷分散の効率を損ないます。セッションアフィニティを無効化すれば、各リクエストが独立して利用可能なEC2インスタンスにルーティングされるようになり、全体の負荷を均等に分散できます。 B. ALBをNetwork Load Balancerに置き換える。 Network Load Balancerはトランスポート層(Layer 4)で動作し、TCP/UDPトラフィックの高速処理や静的IPの提供など、特定のユースケースに最適化されていますが、HTTP/HTTPSベースのアプリケーションにおける細かいトラフィック分散(例:ラウンドロビンや最少接続数に基づく分散)にはALBの方が適しています。したがって、本件の不均等なトラフィック分配の原因解消には不適切です。 C. 各可用性ゾーン内のEC2インスタンス数を増やす。 既存のインスタンス間でトラフィックが均等に分散されていない根本原因を解決せずに単にインスタンス数を増やしても、偏りは継続し、コスト対効果の悪い対応となります。 D. ALBのターゲットグループにおけるヘルスチェックの頻度を調整する。 ヘルスチェックは、異常なEC2インスタンスをロードバランサのルーティングから除外するために用いられるものであり、トラフィックの不均等分配を直接解決する機能ではありません。頻度の変更は可用性監視の精度向上には寄与しますが、負荷分散の均一化には関係ありません。 以上より、1つのEC2インスタンスへのトラフィック集中およびそれによるレイテンシーを解消する最も適切な対応は、選択肢A「ALB上のセッションアフィニティ(ステッキーセッション)を無効化する」です。これにより、ALBは着信リクエストをすべての利用可能なEC2インスタンスに均等に分散し、レイテンシーの低減と全体的なパフォーマンス向上を実現します。