PCNE#255(configure-network)

PCNE#255(configure-network)
あるオンラインストアでは、ログインユーザーごとのカート状態をバックエンドで保持するため、同一クライアントからのリクエストを可能な限り同じインスタンスへ送りたいと考えています。外部アプリケーション ロードバランサーで設定すべきセッション アフィニティはどれですか。
ディスカッション 0

正解:A

正解の根拠

HTTP(S) ベースのアプリケーション ロードバランサーで Cookie ベースのアフィニティを使う場合、`GENERATED_COOKIE` を選択するとロードバランサーが GCLB Cookie を発行し、同一ブラウザからのリクエストを同じバックエンドへ向けます。NAT 配下のクライアントが多い環境でも安定的にアフィニティが維持できます。

アフィニティ用途
NONEステートレス API、純粋分散
CLIENT_IP送信元 IP ベース、NAT に弱い
GENERATED_COOKIEHTTP 用、最も汎用
HEADER_FIELD任意ヘッダー値、API ゲートウェイ向け
HTTP_COOKIEアプリ提供の任意 Cookie

不正解の理由

  • B: NONE はアフィニティを保持しないためカート状態が散逸します。
  • C: External App LB では CLIENT_IP_PORT_PROTO はサポートされません (Network LB の概念です)。
  • D: ホストヘッダーはクライアントごとに変わらないため分散の偏りを生みます。

参考: https://cloud.google.com/load-balancing/docs/backend-service#session_affinity

参考:Google Cloud VPC ドキュメント


コメント

コメント

コメントする

目次