セッション・アフィニティ(Session Affinity)

概要

  • LBなどが同一ユーザーからのリクエストを同一のインスタンスに流すよう誘導すること
  • リクエスト間でsessionが共有されずにエラーになるのを防ぐ

Cloud Runでの設定方法

参考: Cloud Runのセッションアフィニティを解説 参考: サービスのセッション アフィニティを設定する

  • Cloud Runでセッション・アフィニティを有効にすると、クライアントから対象のCloud Runにアクセスした際に、セッション・アフィニティ Cookieが発行される
    • CookieのTTLは30日
  • Cloud Runの内部ルータはこのCookieの値を見て、特定のクライアントからのリクエストを特定のCloud Runインスタンスに振り分ける

Cloud Runでの注意点

  • クライアントがセッション・アフィニティを持っていても、Cloud Runがスケールインしたら対象のインスタンスは消えてしまう
  • 万能な仕組みではないので注意が必要

Cloud Run のセッションアフィニティはベストエフォートである