SAA-C03高パフォーマンスなアーキテクチャの設計HARD単一選択

ある企業が、Amazon EC2 上で動作する Web アプリケーションへのトラフィックを Application Load Balancer(ALB)で受けている。特定のユーザーの HTTP セッション中に ALB がターゲットグループの複数の EC2 インスタンスにリクエストを分散させるが、ユーザー体験向上のため、1 回のページロード中に発生する複数のリクエストが同一インスタンスに到達するようにしたい。セッションステートはすでに外部の ElastiCache に保存済みで、セッション維持は不要。最小限の設定で実現する方法はどれか。

  1. A. ALB のターゲットグループでアルゴリズムを Round Robin から最小接続数(Least Connections)に変更する。
  2. B. ALB の Connection Draining をすべての EC2 インスタンスで有効化する。
  3. C. ALB の Least Outstanding Requests(LOR)ロードバランシングアルゴリズムを使用し、処理中リクエスト数が最も少ないインスタンスにルーティングする。1 ページロード内の連続リクエストは同一インスタンスに集中しやすくなる。
  4. D. Route 53 のジオプロキシミティルーティングを使ってユーザーの地理的な位置から最も近いインスタンスにルーティングする。
解答と解説を見る

正解: C

ALB のロードバランシングアルゴリズムを Least Outstanding Requests(LOR)に変更すると、現在処理中のリクエスト数が最も少ないターゲットに新しいリクエストが割り当てられる。1 ページロードで短期間に複数のリクエストが発生する場合、最初のリクエストを受けたインスタンスがそのリクエストを処理中に他のリクエストが来ると、そのインスタンスの Outstanding Requests が増えるため、次のリクエストも同じインスタンスに向きやすくなる。選択肢BのConnection Draining(登録解除の遅延)はインスタンスをターゲットグループから外す際に既存の接続を完了させるための機能であり、リクエスト分散アルゴリズムとは無関係。選択肢Aの「最小接続数」アルゴリズムは ALB には存在しない(NLB にある)。ALB のアルゴリズムは Round Robin と LOR の 2 種類。選択肢DのRoute 53 ジオプロキシミティルーティングは地理的位置ベースのルーティングで、同一ページロード内のリクエスト集中には対応しない。

▸ この試験を本気で演習する(全150問・無料)