カテゴリー
technology

Elastic Load Balancing で Sticky Session が可能に

Amazon Web Services で複数のEC2インスタンスへロードバランスさせたいときに使用する Elastic Load Balacing に Sticky Session がサポートされました。
New Elastic Load Balancing Feature: Sticky Sessions

ロードバランスされた環境では HTTP リクエストごとに特定のアルゴリズムに従って振り分けされて負荷分散・冗長化構成としての効果を出すわけですが、ユーザー毎(セッション毎)の情報をウェブアプリケーション内で持つ必要のある構成の場合、どのインスタンスにリクエストが来ても同じ状態にしなければならないため memcached を導入したりして自前でセッションデータの共有をしておく必要がありました。
今回のアップデートで一旦始まったセッションを引き続き同じインスタンス(サーバー)へ転送することが設定で可能に。Cookie を使用して実装されているため、事前の設定以外でウェブアプリケーション側で気にする必要はなくシームレスに導入できるのがよいですね。(普通のロードバランサーと同じですが)
本番投入に当たっては、いずれかのサーバーが死んだ場合どうなるかとか、アプリから能動的にセッションを切れるのかなど、もう少し調べないといけないですがウェブアプリケーション本番環境の構成として必要なものがどんどんサービス化されるのはとても助かります。