1. セッション状態のスケーリングと構成

チュートリアル: Redisプロバイダーを使用したプライベート セッション状態データベースの構成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

プライベートセッション状態では、閲覧したページ、コンバージョンに至った目標、トリガーされたキャンペーン、累積エンゲージメントポイントなど、特定のインタラクションに関連するすべてのデータが収集され、セッション状態データベースに保存されます。

このチュートリアルでは、RedisのSitecore ASP.NETセッション状態ストア プロバイダーを使用して、Redisをプライベート セッション状態ストアとして使用する方法について説明します。

メモ

SitecoreはRedisクラスターをサポートしていません。

警告

データ損失などの予期しない動作を防ぐために、aspnet:AllowConcurrentRequestsPerSessionを有効にしないことをお勧めします。これらの問題は、要求中にセッションがブロックされないため、このオプションを使用すると発生する可能性があります。

プライベートRedisセッション データベースをデプロイする

Sitecore ASP.NETセッション ステート ストア プロバイダー for Redisを使用すると、Redisをセッション ステート ストアとして使用できます。プロバイダーは、xDBがWebサイトへのアクセスを追跡するために必要なSessionEndイベントをサポートしています。

Redisセッション・データベースをデプロイするには:

  1. Azure RedisまたはオンプレミスのRedis を選択します。Azure Redisをプロビジョニングするには、Microsoft Azure WebサイトまたはAzure PowerShellの手順を使用します

  2. <sitename>\App_Config\ フォルダーに移動し、ConnectionStrings.configファイルを開き、次の接続文字列を追加します。

    <add name="session" connectionString="_host_:_port_number _" />
  3. セッション・データベースを指すように接続文字列を構成します。

  4. 変更を保存します。

Sitecoreの設定

Redisのプライベート セッション状態ストア プロバイダーを使用するようにSitecoreを設定するには:

  1. サイトのルートフォルダに移動し、web.configファイルを開いて、sesssionStateセクションを見つけます。

    <sessionState mode="InProc" cookieless="false" timeout="20">
  2. sessionStateセクションで、次の例に示すように、InProcではなくredisプロバイダーを使用するようにcustomProvider属性を更新します。また、name属性値の値を次のように変更しますredis

    <sessionState mode="Custom" customProvider="redis" timeout="20">
      <providers>
        <add name="redis"
          type="Sitecore.SessionProvider.Redis.RedisSessionStateProvider,
          Sitecore.SessionProvider.Redis"
          connectionString="session"
          pollingInterval="2"
          applicationName="private"/>
      </providers>
    </sessionState>

専用の期限切れセッション処理サーバーを構成する

Sitecore Experienceプラットフォームは、専用のRedisサーバーをサポートしています。つまり、CDサーバーのクラスタを使用する環境では、一部のサーバーをコンテンツのみを提供するように構成し、pollingEnabled設定を使用して期限切れのセッション状態データを処理しないように構成できます。

pollingEnabled設定では、期限切れのセッション処理を有効/無効にできます。たとえば、期限切れのセッションの処理専用のCDサーバーで有効にし、ライブCDサーバー (訪問者にコンテンツを提供する) で無効にすることができます。

大事な

期限切れのセッションの処理専用のサーバーが訪問者にコンテンツを提供していないことを確認する必要があります。たとえば、CDサーバー用のロードバランサーを設定した場合は、期限切れのセッションの処理専用のサーバーにリクエストがリダイレクトされないようにします。

期限切れのプライベート・セッション処理のpollingEnabled設定を有効にするには、次のようにします。

  • web.configファイルに移動し、専用の期限切れセッション処理サーバーのpollingEnabled値がtrueに設定されていることを確認します。

顧客にコンテンツを提供するCDサーバーの期限切れセッション状態処理を無効にするには、次の手順で行います。

  • web.configファイルに移動し、pollingEnabled値をfalseに設定します。

     <sessionState mode="Custom" customProvider="<configured custom provider name>" timeout="20">
      <providers>
        <add name="="<configured custom provider name>"
          
          pollingEnabled ="false"
          applicationName="private"/>
      </providers>
    </sessionState>

Redisプロバイダーの設定を調整する

Redisプロバイダー設定リファレンスを使用して、セッション状態を構成します。すべてが正しく設定されている場合、セッションレコードは最初のウェブリクエストの後にRedisセッションデータベースに表示されます。

この記事を改善するための提案がある場合は、 お知らせください!