本文へスキップ

ELBスティッキーセッションとは?

いーえるびーすてぃっきーせっしょん

ELBスティッキーセッションとは、AWS Elastic Load Balancingが同一クライアントからのリクエストを常に同じサーバーへ転送し続ける機能のことです。

ELBスティッキーセッション(ELB Sticky Sessions)とは、Amazon Web Services(AWS)が提供するElastic Load Balancer(ELB)の機能で、特定のクライアントからのリクエストを、一定期間同一のバックエンドサーバー(インスタンス)に固定して送り続ける仕組みです。「セッションアフィニティ」とも呼ばれます。

通常のロードバランシングはリクエストごとに最適なサーバーを選択しますが、サーバーサイドでセッション情報(ログイン状態・カート内容など)をメモリに保持している場合、異なるサーバーに転送されるとセッションが失われてしまいます。スティッキーセッションはCookieを用いてクライアントとサーバーを紐付けることでこの問題を回避します。

ELBにおける実装には主に2種類があります。

  • 期間ベーススティッキーセッション:ELBが独自のCookieを発行し、有効期限内は同一インスタンスへ誘導する
  • アプリケーションベーススティッキーセッション:アプリケーションが発行したCookieをELBが参照して振り分けを制御する

ただし、スティッキーセッションを有効にすると負荷分散の均等性が損なわれ、特定インスタンスへの負荷集中が起きやすくなります。理想的な設計では、セッション情報をRedisやDynamoDBなどの共有ストアに外出しし、スティッキーセッションに依存しないステートレスなアーキテクチャを目指すことが推奨されます。

使い方・例文

ショッピングカートのセッションをサーバーのメモリで管理している場合、ELBスティッキーセッションを有効にすることで、ユーザーが商品をカートに入れてから決済するまでの一連の操作を同一サーバーで処理し、カート情報の消失を防ぐことができます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語