Share via


Azure Container Apps でのセッション アフィニティ

セッション アフィニティ (スティッキー セッションとも呼ばれます) は、クライアントから同じレプリカにすべての要求をルーティングできる機能です。 この機能は、同じレプリカへの一貫性のある接続を必要とするステートフル アプリケーションに役立ちます。

セッションの持続性は、HTTP Cookie を使用して適用されます。 この機能は、HTTP イングレスが有効になっている場合に、単一リビジョン モードで使用できます。 前のレプリカが使用できなくなった場合、クライアントは新しいレプリカにルーティングされることがあります。

アプリでセッション アフィニティが必要ない場合は、これを有効にしないことをお勧めします。 セッション アフィニティを無効にすると、イングレスでは要求をレプリカ全体にさらに均等に分散させるため、アプリのパフォーマンスが向上します。

Note

セッション アフィニティは、アプリが単一リビジョン モードで、イングレスの種類が HTTP 場合にのみサポートされます。

セッション アフィニティを構成する

セッション アフィニティは、ingress.stickySessions 構成セクションの affinity プロパティを設定することによって構成されます。 次の例は、コンテナー アプリのセッション アフィニティを構成する方法を示しています。

{
  ...
  "configuration": {
      "ingress": {
          "external": true,
          "targetPort": 80,
          "transport": "auto",
          "stickySessions": {
              "affinity": "sticky"
          }
      }
  }
}

Azure portal を使用してコンテナー アプリを作成するときに、セッション アフィニティを有効にすることができます。 セッション アフィニティを有効にするには、次のようにします。

  1. [コンテナー アプリの作成] ページで、[アプリ設定] タブを選択します。
  2. [アプリケーション イングレス設定] セクションの [セッション アフィニティ] 設定で [有効] を選択します。

Screenshot of the session affinity setting in Create Container App page.

コンテナー アプリの作成後に、セッション アフィニティを有効または無効にすることもできます。 セッション アフィニティを有効にするには、次のようにします。

  1. ポータルでアプリに移動します。
  2. [イングレス] を選択します。
  3. [セッション アフィニティ] の有効化または無効化は、[有効] を選択または選択解除して行うことができます。
  4. [保存] を選択します。

Screenshot of session affinity session on Ingress page.

次のステップ