はじめに

完了

Azure App Service は、Web アプリをホストするために使用できる高度にスケーラブルなプラットフォームです。 各 Web アプリは 1 台以上の Web サーバー上で実行され、App Service によって、ユーザーの要求がこれらのサーバー全体に分散されます。 要求の量は時間の経過と共に変化するため、App Service はスケールアウトおよびスケールインを行い、使用可能なサーバーの数を増減します。 この拡大縮小戦略では、ワークロードが変動しても、応答時間とコストが許容範囲内に収まることが保証されます。

多くの古い Web アプリケーションは、ユーザーの要求間でセッション状態情報が保持されることに依存しています。 多くの場合、この状態情報は、Web サーバーのメモリ内に保持されます。 しかし、この戦略に従う Web アプリを App Service に移行した場合、この方法は効果的に機能しません。 すべてのユーザーの要求が、同じ Web サーバーにルーティングされることを保証できません。

Web サーバーとユーザーのセッション間のアフィニティを保持する "スティッキー セッション" の実装を試みることはできます。 しかし、このスキームはスケーラビリティに影響する可能性があります。 サーバー間の負荷が不均衡になり、ワークロードの変化に応じてスケールインおよびスケールアウトする弾力性が失われる危険性があります。

このモジュールでは、App Service にデプロイする ASP.NET Web アプリにスケーラブルなセッションを実装する方法を学習します。

このモジュールのシナリオは、オンプレミスで実行される既存の .NET Framework Web アプリを軸にして展開されます。 まず、このアプリを App Service に移行します。 次に、Web アプリケーションが App Service でセッション データを格納および取得できるように、セッション データを格納する方法を変更します。

学習の目的

このモジュールを完了すると、Azure Cache for Redis を使用してセッション データを格納するように ASP.NET を構成できるようになります。

前提条件

  • C# プログラミングの経験
  • ASP.NET 開発に関する知識
  • 最新の更新プログラムが適用されている Windows 10 および Visual Studio 2019 を含む開発環境
  • コンピューターにインストールされた Git for Windows