ELBでEC2 2台にアクセスを分散させていたのですが、ユーザのTwitterログインフローがおかしな挙動をするようになり、ハマりました。
結論としては、 サーバーが分散することによりセッションの状態維持が保証されず、
ログインしているはずなのにログアウト状態に戻ってしまうとか、そもそもTwitter OAuth認証のコールバックの時点で 「Session Expired」エラーが出るといった問題が起きてしまっているようでした。
これを解決するためには、
ロードバランサーの「ポート構成」から、
「ロードバランサーによって生成された Cookie による維持を有効化」
にチェックを入れると良いようです。
こうすることで、同一ユーザからのアクセスは同一のサーバーにアクセスを流すことが可能となり、セッション状態が破綻することがなくなりました。