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スティッキーセッションを有効にすることで、ユーザーが商品をカートに入れてから決済するまでの一連の操作を同一サーバーで処理し、カート情報の消失を防ぐことができます。
この用語をシェア
最終更新: