AWS ELBのスティッキーセッションでセッションの維持をしてみた

ELB配下にEC2インスタンス2台を設置しindex.htmlそれぞれに

Sticky sessions 1!

Sticky sessions 2!

とだけ記載したものを用意しました。

ELBにアクセスすると・・

01webn
表示されますがページを更新すると・・

表示されますが

ページを更新すると・・

02webn

より負荷のかかっていないEC2に接続されてしまいます。

本来ならばありがたい機能ですがセッションを維持したい場合はスティッキーセッションを利用します。

スティッキーセッションの設定

コンソールよりELBの設定を変更します。

EC2コンソールからロードバランサに移行します。

対象のELBを選択した後、説明タブの「ポート構成」、維持設定の右側にある(編集)をクリックします。

03console
今回はELBで生成されたCookieを用いて30秒だけセッションを維持する設定を行いました。

今回はELBで生成されたCookieを用いて30秒だけセッションを維持する設定を行いました。

04console

同じようにELBアクセスすると30秒間同一インスタンスにだけ接続できるようになったかと思います。

5秒毎にブラウザをリロードするようにしてアクセスログを確認してみます。

06log
ピンクの線以下30秒毎に切り替わっていることが分かります!今回は以上になります!お疲れさまでした!簡単に設定が可能なので皆さんも使ってみてはいかがでしょうか。またお会いしましょう!

今回はELBのCookieを用いてセッション維持を設定しましたが、アプリケーションのCookieを使って設定することでアプリケーション側でのセッションの制御が可能になります!

この記事を書いた人

aws-recipe-user