十年ものアプリのセッションストレージをクッキーからRedisに移行するときに気にしたこと、それでも起きてしまったこと
hogelog
• online
• Japanese •
Talk
Date: October 22, 2022
Published: October 30, 2022
Announced: unknown
https://kaigionrails.org/2022/talks/hogelog/
rails new したばかりのアプリケーションのセッションストレージはなんでしょう。そう、特別なテンプレートを使わない限り CookieStore です。
Rails のデフォルト設定ですし追加インフラも不要で利用も容易なため採用しているアプリケーションも多いでしょう。
しかしセキュリティのベストプラクティスによると、セッションストレージをサーバサイドに寄せるよう推奨されることも多いです。さてそこでセッションストレージをクッキーから切り替えるとしましょう。
アプリケーションがリリース前だったら? ストレージ切り替えを実装するだけですね。
リリース済みだがセッションのリセットが許容されるなら? ストレージを切り替えてデプロイするだけですね。
アプリケーションはリリース済みだし、セッションを維持したままストレージを切り替えたいときは? この場合なにをどうしていくべきか、Rails によるレールは敷かれていません。
私達は運用10年目となる1000万オーダーのセッションを持つ Rails アプリケーションのセッションストレージを、セッションを維持したまま Cookie から Redis (MemoryDB) に移行しました。
セッションストレージの移行をどんな方法で進めたか、どんな実装をしたか、どんなことを気にしていたか、それでも起きたトラブルや移行した結果についてお話しします。
資料 https://speakerdeck.com/hogelog/kaigi-on-rails-2022-talk-hogelog
発表者
hogelog
GitHub https://github.com/hogelog
Twitter https://twitter.com/hogelog
Kaigi on Railsは、初学者から上級者までが楽しめるWeb系の技術カンファレンスです。
https://kaigionrails.org/
Kaigi on Rails 2022