Windows Server 2008、Windows Server 2008 R2、または Windows Server 2012 フェールオーバー クラスターで IIS 7.0 以降の World Wide Web 発行サービスを構成する

文書翻訳 文書翻訳
文書番号: 970759 - 対象製品
すべて展開する | すべて折りたたむ

目次

はじめに

この資料では、Windows Server 2008 または Windows Server 2008 R2 フェールオーバー クラスターで Microsoft Internet Information Services (IIS) 7.5 または IIS 7.0 を構成する方法について説明します。この資料の手順は、World Wide Web 発行サービスにのみ適用されます。フェールオーバー クラスターで FTP 発行サービスを構成する方法については、次の Web サイト参照してください。
974603 Windows Server 2008 フェールオーバー クラスターで FTP 7.5 を構成する方法

詳細

インターネット インフォメーション サービスの以前のバージョンでは、Microsoft クラスター インフラストラクチャを使用して、高可用性 Web サーバー インスタンスをサポートするための汎用のリソース モニター コンポーネントを提供していました。しかし、このソリューションの可能性を完全に実現するにはカスタム コードが必要でした。さらに、マイクロソフトが提供していた汎用のスクリプトはお客様のニーズを満たしていませんでした。クラスター化された環境で Windows Server フェールオーバー クラスタリングを使用して IIS 7.5 または IIS 7.0 を構成するには、カスタム (スクリプト) コードを使用してそのような高可用性シナリオを実現する必要があります。これを行うと、ユーザーは自社の要件を満たすように設定をカスタマイズできます。これにより、可用性の高い Web アプリケーションの統合を完全に制御できます。さらに、IIS 7.5 および IIS 7.0 で導入された管理と監視のためのスクリプト インターフェイスは、以前に提供されていたスクリプトよりも多くの機能を持つ環境を提供します。

注: IIS 7.0 のインストール ファイルには、IIS 6.0 の IIS クラスター管理タスクで使用される Clusweb.vbs および Clusftp.vbs スクリプト ファイルが誤って含まれています。これらのスクリプトを IIS 7.0 以降のバージョンで使用しないでください。

IIS 7.5 または IIS 7.0 を実行する複数のサーバーを使用する Web アプリケーションの拡張性と可用性を向上させる場合は、管理者が、優先される主要な方法として、ネットワーク負荷分散 (NLB) の使用をフェールオーバー クラスターの使用と比較して慎重に評価することをお勧めします。NLB の利点の 1 つは、すべてのサーバーが受信 HTTP 要求の同時処理にアクティブに参加できることです。また、NLB IIS 環境には、Web アプリケーションの高可用性を維持しながらローリング アップデートやロールバックを簡単にサポートできるという利点もあります。NLB 環境での IIS 7.5 または IIS 7.0 の使用の詳細については、以下のマイクロソフト Web サイトを参照してください。
http://learn.iis.net/page.aspx/213/network-load-balancing
http://technet.microsoft.com/ja-jp/library/cc770558.aspx
IIS サービスをクラスター化することで IIS をクラスター化しても、Web アプリケーションの高可用性ソリューションが常に保証されるとは限らないことに注意する必要があります。IIS サービス (特に WWW サービス) が稼働しているときに、特定のアプリケーション プールのホスティング プロセスが終了したり、アプリケーションが内部サーバー HTTP エラーをスローしたりする可能性があります。フェールオーバー クラスタリングを使用して高可用性 IIS クラスターを実現するための正しい方法として推奨されるのは、Web アプリケーションをクラスター化し、カスタム スクリプトを使用して Web アプリケーションの状態を監視する方法です。以下に、アプリケーション プールの状態を監視して開始されているかどうかを判断するサンプル スクリプトを示します。

フェールオーバー クラスタリングを使用して IIS 7.0 および 7.5 Web サーバーの高可用性を構成するには、次の手順を実行します。手順 3. 〜 7. については後でさらに詳しく説明します。この資料で後に示すサンプル スクリプトは、IIS 7.0、IIS 7.5、および IIS 8.0 の例として使用できます。
  1. すべてのクラスター ノードに Web サーバーの役割をインストールします。詳細については、次のマイクロソフト Web サイトを参照してください。
    http://technet.microsoft.com/ja-jp/library/cc771752.aspx
  2. すべてのクラスター ノードにフェールオーバー クラスタリング機能をインストールしてクラスターを作成します。詳細については、次のマイクロソフト Web サイトを参照してください。
    http://technet.microsoft.com/ja-jp/library/dd197477(WS.10).aspx
  3. IIS 共有構成で使用されるファイル共有を作成します。
  4. すべてのクラスター ノード上で IIS 共有構成を構成します。
  5. すべてのクラスター ノード上で共有構成の IIS オフライン ファイルを構成します。
  6. Web サイト (関連するアプリケーション プールを含む) を構成し、1 つのクラスター ノード上の Web サイトのコンテンツの場所を指定します。
  7. フェールオーバー クラスタリング内に汎用スクリプトを作成することによって Web サイトの高可用性を構成します。

IIS 共有構成で使用されるファイル共有を設定する

  1. IIS 共有構成のために使用される共有にアクセスするユーザーを作成します。
  2. ファイル共有を作成します。この共有は、すべてのクラスター ノード上の IIS で共有される IIS 共有構成を格納するために使用されます。次のようないくつかのオプションがあります。
    • フェールオーバー クラスターに含まれていないスタンドアロン サーバー上にファイル共有を作成します。
    • 別の Windows Server フェールオーバー クラスター上に高可用性のファイル共有を作成します。詳細については、次のマイクロソフト Web サイトを参照してください。
      http://technet.microsoft.com/ja-jp/library/cc731844(WS.10).aspx
    • 高可用性 Web サイトをホストする同じフェールオーバー クラスター上に、高可用性のファイル共有を作成します。詳細については、次のマイクロソフト Web サイトを参照してください。
      http://technet.microsoft.com/ja-jp/library/cc731844(WS.10).aspx
  3. 手順 2. で作成した共有のアクセス許可を設定します。手順 1. で作成したユーザーに、ファイル共有に対するフル コントロールのアクセス許可と NTFS アクセス許可を付与します。
  4. すべてのクラスター ノードがファイル共有を参照できることを確認します。ファイル共有のパスは \\<fileserver>\<share> です。

すべてのクラスター ノード上で IIS 共有構成を構成する

注: Application Host Helper Service の特権の欠如が原因で Windows 2008 Server 上の IIS 共有構成に問題が発生します。共有構成を機能させるには、Windows 2008 Server 上で IIS 共有構成を設定するときに次の手順を実行する必要があります。
  1. 管理コマンド プロンプトを開きます。
  2. 次のコマンドを実行します。
    net stop apphostsvc
  3. 次のコマンドを実行します。
    sc privs apphostsvc SeChangeNotifyPrivilege/SeTcbPrivilege/SeImpersonatePrivilege
  4. 次のコマンドを実行します。
    net start apphostsvc
クラスター内の各 Windows 2008 Server でこれらの手順を実行した後に、続いてこのセクションの説明に従って IIS 共有構成を設定します。

いずれかのクラスター ノードで、共有構成をファイル共有にエクスポートします。
  1. [管理ツール] に移動し、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
  2. 左側のウィンドウで、サーバー名のノードをクリックします。
  3. [共有構成] アイコンをダブルクリックします。
  4. [共有構成] ページの [アクション] ウィンドウ (右側のウィンドウ) で、[構成のエクスポート] をクリックして、ローカル コンピューターから別の場所に構成ファイルをエクスポートします。
  5. [構成のエクスポート] ダイアログ ボックスで、[物理パス] ボックスにファイル共有のパス (\\<fileserver>\<share>) を入力します。
  6. [ユーザー名を指定して接続] をクリックし、共有構成が保存されている共有にアクセスできるユーザー アカウントのユーザー名とパスワードを入力して、[OK] をクリックします。このアカウントは、共有にアクセスするために使用されます。ドメイン管理者ではない制限された Active Directory アカウントを使用する必要があります。
  7. [構成のエクスポート] ダイアログ ボックスで、暗号化キーを保護するために使用するパスワードを入力し、[OK] をクリックします。
  8. [共有構成] ページで、[共有構成の有効化] チェック ボックスをオンにします。
  9. 前に入力した物理パス、ユーザー アカウント、およびパスワードを入力し、[アクション] ウィンドウの [適用] をクリックします。
  10. [暗号化キー パスワード] ダイアログ ボックスで、前に設定した暗号化キーのパスワードを入力し、[OK] をクリックします。
  11. [共有構成] ダイアログ ボックスで [OK] をクリックします。
  12. [OK] をクリックします。
他の各クラスター ノード上で、ファイル共有にエクスポートした共有構成を使用します。
  1. [管理ツール] に移動し、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
  2. サーバー名のノードをクリックします。
  3. [共有構成] アイコンをダブルクリックします。
  4. [共有構成] ページで、[共有構成の有効化] チェック ボックスをオンにします。
  5. 前に入力したファイル共有の物理パス (\\<fileserver>\<share>)、ユーザー アカウント、およびパスワードを入力し、[アクション] ウィンドウの [適用] をクリックします。
  6. [暗号化キー パスワード] ダイアログ ボックスで、前に設定した暗号化キーのパスワードを入力し、[OK] をクリックします。
  7. [共有構成] ダイアログ ボックスで [OK] をクリックします。
  8. [OK] をクリックします。
注: IIS での共有構成の設定方法については、次のマイクロソフト Web サイトにアクセスしてください。
http://learn.iis.net/page.aspx/264/shared-configuration

すべてのクラスター ノード上で共有構成の IIS オフライン ファイルを構成する

各クラスター ノード上でオフライン ファイルを有効にします。
  1. デスクトップ エクスペリエンスをインストールします。
    1. [管理ツール] に移動し、[サーバー マネージャー] をクリックします。
    2. 左側のウィンドウで [機能] をクリックします。
    3. 右側のウィンドウで [機能の追加] をクリックします。
    4. [デスクトップ エクスペリエンス] チェック ボックスをオンにします。
    5. [インストール] をクリックして、デスクトップ エクスペリエンスをインストールします。
    6. コンピューターを再起動します。
  2. コントロール パネルで、[オフライン ファイル] を開きます。
  3. [オフライン ファイルの有効化] をクリックします。この時点ではコンピューターを再起動しないでください。
  4. キャッシュが読み取り専用に設定されていることを確認します。このためには、管理者特権を持つ cmd ウィンドウで次のコマンドを実行します。
    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f 
    
  5. コンピューターを再起動します。
  6. コンピューターからファイル サーバーを参照します。IIS 共有構成が含まれる共有を右クリックして、[常にオフラインで使用する] をクリックします。
    IIS ノードをホストしている同じフェールオーバー クラスター上で高可用性を実現するためにファイル共有を設定する場合、操作しているクラスター ノードが高可用性ファイル サーバーをホストしていると、共有を右クリックしたときに [常にオフラインで使用する] オプションが表示されません。高可用性ファイル サーバー アプリケーションを別のノードに移動する必要があります。
  7. コントロール パネルで、[オフライン ファイル] を開きます。[同期センターを開く] をクリックし、[スケジュール] をクリックします。
  8. 毎日または必要な間隔で実行されるようにオフライン ファイルの同期をスケジュールします。数分ごとに実行されるようにオフライン同期を構成することもできます。スケジューラを設定しない場合でも、Applicationhost.config ファイルの内容を変更すると、その変更が Web サーバーに反映されます。
注: IIS で共有構成のオフライン ファイルを構成する方法については、次のマイクロソフト Web サイトにアクセスしてください。
http://learn.iis.net/page.aspx/212/offline-files-for-shared-configuration

Web サイト (関連するアプリケーション プールを含む) を構成し、1 つのクラスター ノード上の Web サイトのコンテンツの場所を指定する

Web サイトのコンテンツ ファイルが置かれるクラスター ディスク リソースを所有しているクラスター ノードを見つけます。
  1. [管理ツール] に移動し、[フェールオーバー クラスター マネージャー] をクリックします。
  2. クラスターに接続します。いずれかのクラスター ノード上で操作している場合は、そのクラスターが自動的に一覧に表示されます。
  3. [記憶域] の下で、Web ページのコンテンツが置かれるディスクス リソースを見つけます。これを行うには、ディスク リソースの記憶域ツリーを展開します。クラスター上の他の高可用性アプリケーションによってその記憶域が使用されていないことを確認します。この記憶域は [使用可能記憶域] の下に表示されます。
  4. このオンラインになっているリソースが置かれているクラスター ノードをメモします。そのクラスター ノード上で IIS を構成します。
  5. クラスター ディスク リソース名をメモします。このリソースを使用してコンテンツ ファイルを格納します。
オンラインになっているこのリソースが置かれているクラスター ノード上で、Web サイト コンテンツの共有ディスクを使用するように Web サーバーを構成します。
  1. [管理ツール] に移動し、[インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
  2. 左側のウィンドウで、サーバー名のノードを展開します。
  3. [サイト] を展開し、[サイト] の下で、構成するサイトをクリックします。
  4. 右側のウィンドウで、[Web サイトの管理] の [詳細設定] を選択します。
  5. [全般] 設定で "物理パス" プロパティを探し、Web サイトのコンテンツ ファイルが置かれる場所を入力します。これは、前の手順の手順 5. でメモしたクラスター ディスク リソースの場所です。
  6. [OK] をクリックします。

フェールオーバー クラスター マネージャーで汎用スクリプトを作成することによって Web サイトの高可用性を構成する

IIS Web サーバーの高可用性を構成するための最後の手順として、Web サイトおよび Web サイトのアプリケーション プールを監視するために使用する汎用スクリプト リソースを作成します。
  1. 各クラスター ノード上で、この資料の最後にあるスクリプトを Windows\System32\inetsrv\Clusweb7.vbs にコピーします。
  2. 既定では、このスクリプトは、"Default Web Site" という名前の Web サイトと "DefaultAppPool" という名前のアプリケーション プールを監視します。これが正しい Web サイトとアプリケーション プールではない場合は、SITE_NAME 変数と APP_POOL_NAME 変数を変更します。スクリプト内と同じ Web サイトおよびアプリケーション プールが、すべてのクラスター ノード上に存在することを確認してください。これらの名前では大文字小文字が区別されます。
  3. [管理ツール] に移動し、[フェールオーバー クラスター マネージャー] をクリックします。
  4. クラスターに接続します。いずれかのクラスター ノード上で操作している場合は、そのクラスターが自動的に一覧に表示されます。
  5. クラスターを右クリックし、[サービスまたはアプリケーションの構成] をクリックします。ウィザードによって高可用性ワークロードが作成されます。
  6. [汎用スクリプト] をクリックします。
  7. 次のパスからスクリプト ファイルを選択します。%systemroot%\System32\Inetsrv\clusweb7.vbs
  8. クライアント アクセス ポイント (CAP) 名を、クライアントが高可用性 Web サイトに接続するために使用する Web サイト名に設定します。Web サイトの CAP で使用する静的 IP を指定します。DHCP を使用している場合、このオプションは表示されません。
  9. [記憶域の選択] の手順で、Web サイトのコンテンツ ファイルが置かれるクラスター共有ディスクを選択します。クラスター上の他の高可用性アプリケーションによって使用されていない記憶域を選択する必要があります。IIS 共有構成によって使用されているファイル共有が同じクラスター上でホストされている場合、ここでは別のディスク リソースを使用する必要があります。
  10. 設定を確認した後で、ウィザードによってクラスター グループ、クラスター リソース、およびリソース間の依存関係が作成され、その後でリソースがオンラインになります。
注: 同じフェールオーバー クラスター上で複数の高可用性 Web サイトをホストするには、上記と同じ手順を実行します。ただし、各 Web サイトで異なるスクリプト ファイルを使用し、さらに異なるクラスター化共有記憶域を使用します。たとえば、%systemroot%\System32\Inetsrv 内で、最初の Web サイト用に clusweb7.vbs を、2 番目の Web サイト用に clweb7-2.vbs を、3 番目の Web サイト用に clweb7-3.vbs を使用し、以下同様にします。各スクリプト ファイルは異なる Web サイトとアプリケーション プールを監視します。

重要以下のスクリプトは、サンプルのみを目的としており、マイクロソフトが明示的にサポートするものではありません。このスクリプトは、IIS 7.0、IIS 7.5、または IIS 8.0 クラスター環境で自己の責任においてご使用ください。
'<begin script sample>


'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another web site, change the SITE_NAME below
'To monitor another application pool, change the APP_POOL_NAME below
'More thorough and application-specific health monitoring logic can be added to the script if needed

Option Explicit

DIM SITE_NAME
DIM APP_POOL_NAME
Dim START_WEB_SITE
Dim START_APP_POOL
Dim SITES_SECTION_NAME
Dim APPLICATION_POOLS_SECTION_NAME
Dim CONFIG_APPHOST_ROOT
Dim STOP_WEB_SITE


'Note:
'Replace this with the site and application pool you want to configure high availability for
'Make sure that the same web site and application pool in the script exist on all cluster nodes. Note that the names are case-sensitive.
SITE_NAME = "Default Web Site"
APP_POOL_NAME = "DefaultAppPool"

START_WEB_SITE = 0
START_APP_POOL = 0
STOP_WEB_SITE  = 1
SITES_SECTION_NAME = "system.applicationHost/sites"
APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"
CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"

'Helper script functions


'Find the index of the website on this node
Function FindSiteIndex(collection, siteName)

    Dim i

    FindSiteIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = siteName Then
            FindSiteIndex = i
            Exit For
        End If		 
    Next

End Function


'Find the index of the application pool on this node
Function FindAppPoolIndex(collection, appPoolName)

    Dim i

    FindAppPoolIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = appPoolName Then
            FindAppPoolIndex = i
            Exit For
        End If		 
    Next

End Function

'Get the state of the website
Function GetWebSiteState(adminManager, siteName)

    Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set sitesSection = adminManager.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, siteName)
    If index = -1 Then
        GetWebSiteState = -1
    End If	    

    Set siteSection = sitesSectionCollection(index)

    GetWebSiteState = siteSection.GetPropertyByName("state").Value

End Function

'Get the state of the ApplicationPool
Function GetAppPoolState(adminManager, appPool)

    Dim configSection, index, appPoolState

    set configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
    index = FindAppPoolIndex(configSection.Collection, appPool)

    If index = -1 Then
        GetAppPoolState = -1
    End If	    

    GetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").Value
End Function


'Start the w3svc service on this node
Function StartW3SVC()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState
    Dim response

    'Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='w3svc'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then
        StartW3SVC = True
    Else
        'If the service is not running, try to start it
        response = objService.StartService()

        'response = 0  or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            StartW3SVC = False
        Else
            StartW3SVC = True
        End If
    End If
    
End Function


'Start the application pool for the website
Function StartAppPool()

    Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")

    Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)       
    Set appPoolsCollection = appPoolsSection.Collection

    index = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)
    Set appPool = appPoolsCollection.Item(index)
    
    'See if it is already started
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
        Exit Function
    End If

    'Try To start the application pool
    Set appPoolMethods = appPool.Methods
    Set startMethod = appPoolMethods.Item(START_APP_POOL)
    Set callStartMethod = startMethod.CreateInstance()
    callStartMethod.Execute()
    
    'If started return true, otherwise return false
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
    Else
        StartAppPool = False
    End If

End Function


'Start the website
Function StartWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    if siteSection.GetPropertyByName("state").Value = 1 Then
        'Site is already started
        StartWebSite = True
        Exit Function
    End If

    'Try to start site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(START_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

    'Check to see if the site started, if not return false
    If siteSection.GetPropertyByName("state").Value = 1 Then
        StartWebSite = True
    Else
        StartWebSite = False
    End If

End Function


'Stop the website
Function StopWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    'Stop the site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(STOP_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

End Function



'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx

'Cluster resource Online entry point
'Make sure the website and the application pool are started
Function Online( )

    Dim bOnline
    'Make sure w3svc is started
    bOnline = StartW3SVC()

    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because w3svc could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the application pool is started
    bOnline = StartAppPool()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the application pool could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the website is started
    bOnline = StartWebSite()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the web site could not be started."
        Online = False
        Exit Function
    End If

    Online = true 

End Function

 
'Cluster resource offline entry point
'Stop the website
Function Offline( )

    StopWebSite()
    Offline = true

End Function


'Cluster resource LooksAlive entry point
'Check for the health of the website and the application pool
Function LooksAlive( )

    Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, index

    i = 0
    Set adminManager  = CreateObject("Microsoft.ApplicationHost.AdminManager")
    appPoolState = -1

    'Get the state of the website
    if GetWebSiteState(adminManager, SITE_NAME) <> 1 Then
        Resource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."
        LooksAlive = false
        Exit Function
    End If


    'Get the state of the Application Pool
     if GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 Then
         Resource.LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started."
         LooksAlive = false  
	 Exit Function
     end if

     '  Web site and Application Pool state are valid return true
     LooksAlive = true
End Function


'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()   

    IsAlive = LooksAlive

End Function


'Cluster resource Open entry point
Function Open()

    Open = true

End Function


'Cluster resource Close entry point
Function Close()

    Close = true

End Function


'Cluster resource Terminate entry point
Function Terminate()

    Terminate = true

End Function
'<end script sample>

プロパティ

文書番号: 970759 - 最終更新日: 2013年10月22日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Services 8.0
  • Microsoft Internet Information Services 7.5
  • Microsoft Internet Information Services 7.0
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 Service Pack 2
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
キーワード:?
kbclustering kbhowto kbsurveynew KB970759
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com