IISでアプリケーションプールを管理および構成する方法

アプリケーションプールは、IISのアプリケーションのコンテナーとして機能します。これは、ワーカープロセスが提供できる1つ以上のURLのコレクションであり、分離を提供します。1つのアプリケーションプールで実行されるアプリケーションは、異なるアプリケーションプールで実行される他のアプリケーションの影響を受けません。このレベルの分離は、必要な保護境界を提供し、アプリケーションを安全にします。IISを正しい方法で構成するには、アプリケーションプールとは何か、およびそれらがどのように機能するかをよく理解することが不可欠です。

IISのコンテキストでのワーカープロセスは、Webアプリケーションを実行でき、特定のアプリケーションプールに固有の要求を処理する役割を果たします。複数のワーカープロセスを含むアプリケーションプールはWebGardenと呼ばれ、アプリケーションプールには1つ以上のアプリケーションを含めることができ、それぞれがワーカープロセスを共有することに注意してください。

Microsoftによると、「インターネットインフォメーションサービス(IIS)アプリケーションプールは、1つ以上のワーカープロセスにルーティングされるURLのグループです。アプリケーションプールは、1つ以上のワーカープロセスを共有する一連のWebアプリケーションを定義するため、便利な方法を提供します。一連のWebサイトとアプリケーション、およびそれらに対応するワーカープロセスを管理します。」

アプリケーションプールに複数のアプリケーションを常駐させ、それぞれがワーカープロセスを共有することができます。複数のアプリケーションで同じワーカープロセスを共有することも、アプリケーションごとに1つのワーカープロセスを共有することもできます。複数のアプリケーションが同じワーカープロセスを共有することには、長所と短所があります。各アプリケーションが独自のワーカープロセスで実行される場合、一方のアプリケーションの障害が他方に影響を与えることはありません。ただし、アプリケーションが同じワーカープロセスを共有している場合、構成の変更はシームレスに行われます。このアプローチの主な欠点は、ワーカープロセスがダウンすると、すべてのアプリケーションがクラッシュすることです。また、同じワーカープロセスを利用するすべてのアプリケーションは、同じセキュリティプロファイルを共有します。

アプリケーションプールの作成と構成

IISでアプリケーションプールを作成するには、IISマネージャーを開き、[アプリケーションプール]機能ペインを選択して右クリックし、[アプリケーションプールの追加...]をクリックします。または、PowerShellを使用してアプリケーションプールを作成することもできます。これをどのように行うことができるかについては、今後の投稿の1つで説明します。

IIS 7以降には、クラシックモードと統合モードの2つのパイプラインモードがあります。クラシックモードでは、IISはISAPI拡張機能とISAPIフィルターを直接操作し、IISとASP.Netの要求処理モデルは分離されています。クラシックパイプラインモードは、IIS6.0と同様に機能します。逆に、統合モードでは、IISとASP.Netの両方の要求処理モデルが統合プロセスモデルに統合されます。このモードでは、IISおよびASP.Netの要求処理アーキテクチャを活用できます。この統合処理パイプラインは、ネイティブコンポーネントとマネージコンポーネントの両方に同様に公開されます。本質的に、統合モードでは、IISとASP.Netは互いに緊密に結合されています。

アプリケーションプールの詳細設定オプションを調べると、多くのオプションが見つかります。使用する.NetCLRのバージョンを指定できます。 [32ビットアプリケーションを有効にする]オプションを使用して、32ビットアプリケーションを有効にすることもできます。 「マネージドパイプラインモード」オプションは、下位互換性を有効にします。 「キューの長さ」オプションを使用して、キューの長さを設定できます。 「制限」、「アクションの制限」、および「間隔の制限」オプションを使用すると、スロットル設定を指定できます。 「ID」オプションは、アプリケーションプールが偽装するユーザーを指定するために使用されます。 IIS 7では、「ApplicationPoolIdentity」アカウントを使用してアプリケーションプールを実行できます。これは推奨されるオプションですが、特定のユーザーの下でアプリケーションプールを実行することもできます。sアカウントも。