5.3. セッション外部管理¶
5.3.1. Overview¶
AWS環境でオートスケーリングを利用した場合に、スケールイン発生時にセッションなどのEC2インスタンス固有の情報は失われてしまう。 その為、ELBによるロードバランシングにおいてスティッキーセッションはOFF(デフォルト)とし、アプリケーションの構造としてどのEC2インスタンスに リクエストが割り振られた場合でも業務継続可能とする為の方式を示す。
5.3.1.1. AWS上での構成¶
セッション外部管理方式 に則って、AWS上では以下の構成とする。
Note
上記は、クラスタ化された Redisを使用した構成のサンプルを示している。Redis構成の比較については、従来の Redis と クラスタ化された Redisを参照されたい。
5.3.2. How to use¶
本ガイドラインでは、AWS環境固有の使用方法を示す。
5.3.2.1. エンドポイントの検索¶
クラスタ化された Redisを使用した場合のエンドポイントは、クラスタ化された Redis クラスタのエンドポイントの検索を参照されたい。
設定方法については、エンドポイントの設定 を参照されたい。
5.3.2.2. AWS環境での固有設定¶
Spring Session with Redisは、Redisのconfigコマンドを使用して初期化時に自動で設定を実施するが、ElastiCacheのようなマネージドサービスでは configコマンドが無効化されていてエラーになってしまうため、以下の設定が必要となる。 詳細については、SessionDeletedEvent and SessionExpiredEventを参照されたい。
application-context.xml
<!-- (1) --> <util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
項番 説明 (1) Spring Session with Redisの自動設定を無効化する設定を定義。