1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS Sticky Session チュートリアル

Last updated at Posted at 2021-12-31

Sticky Session とは?

ELBにクライアントとバインド先を固定するスティッキーセッションという機能があります。
HTTPレスポンスにELBでCookieを埋め込んで、
そのクッキーを基にバインド先のインスタンスを固定するというものです。

引用: https://dev.classmethod.jp/articles/elb-sticky-session/

Cookieの情報をもとに、それぞれのClient PCは毎回同じserverからサービスを受ける。
サーバーが別のサーバーに変わってしまうと、Cookieの情報が失われてしまうので、アクセスごとにアクセスサーバーを変更しないことでユーザーの体験向上が見込める。

Untitled Diagram.png

下記githubのCloudFormationで必要なリソースを作成できる。(EC2のインスタンスを3つ)
sticky-session-tutorial-keypairという名前でKeyPairを作成する必要があります。

github source:
https://github.com/yuks0810/aws-cfn-templates/blob/main/aws/cfn-templates/sticky-session-tutorial/sticky-session-tutorial.yml

Target Group作成

  • target group name:
    • sticky-session-tutorial-tg
  • VPCは、sticky-session-vpcを選択
  • Specify group detailsでinstancesを選択
  • プロトコルは、HTTP/1, HTTP/2, gRPC好きなものを(今回はHTTP/1)
  • Health check path
    • /index.html

以下のようにpendingリストに追加。

スクリーンショット 2021-12-31 12.54.53.png

ALBの作成

ELBの作成画面から、以下の設定でALBを作成

  • Application Load Balancerを設定
  • Load balancer name:
    • sticky-session-tutorial-alb
  • VPC:
    • sticky-session-vpcを選択
  • Mappings:
    • 3つのCluodFormationで作成したinstanceを選択する
  • Listeners and routing
    • sticky-session-tutorial-tgを選択
    • Protocol: HTTP
    • Port: 80
  • Security Group
    • sticky-session-ec2-ec2-sgを選択

ここまで作成したら、ALBのDNSにアクセスすると3つのEC2インスタンスにそれぞれ接続できる。
現状ではsticky session未設定なので、それぞれのAZに振り分けてアクセスされる。

iv8eu-s3ib3.gif

Sticky Sessionを設定していく

Target Groupから、この部分を変更していく。

スクリーンショット 2021-12-31 13.24.47.png

stikynessにチェックを入れて、保存する。

スクリーンショット 2021-12-31 13.26.52.png

これで、1分間アクセスするEC2が固定される。
1分後に再度アクセスすると別のinstanceが表示される。

終了。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?