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

はじめに

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

詳細

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

注: Clusftp.vbs のスクリプト ファイルが IIS の IIS 6.0 で使用されているクラスターの管理タスクおよび IIS 7.0 のインストール ファイルにはで、Clusweb.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 サイトを参照してください。IIS サービスをクラスタ リングを使用して IIS をクラスタ リングは常に保証の Web アプリケーションの高可用性ソリューションを考慮する重要です。(具体的には、WWW サービス) の IIS サービスが実行されている可能性があります、中には、特定のアプリケーション プールのホスト プロセスを終了した可能性があります、またはアプリケーションが HTTP の内部サーバー エラーをスローする可能性があります。Web アプリケーションをクラスターとカスタム スクリプトを使用して、正常性の監視は、フェールオーバー クラスタ リングを使用して高可用性 IIS クラスターを達成するために正しいおよび推奨される方法です。かどうかには起動かどうかを決定するアプリケーション プールの状態を監視するサンプル スクリプトを次に示します。


IIS 7.0 および 7.5 の Web サーバーがフェールオーバー クラスタ リングを使用して高可用性を構成するのには以下の手順を実行します。3 ~ 7 の手順の詳細については、以下のとおりです。 この資料のサンプル スクリプトは、IIS 7.0、IIS 7.5 では、IIS 8.0 の例として使用できます。
  1. すべてのクラスター ノード上の Web サーバーの役割をインストールします。詳細については、次のマイクロソフト Web サイトを参照してください。
  2. すべてのクラスター ノードにフェールオーバー クラスタ リング機能をインストールし、クラスターを作成します。詳細については、次のマイクロソフト Web サイトを参照してください。
  3. IIS 共有構成を使用するファイル共有を設定します。
  4. すべてのクラスター ノード上の IIS 共有構成を構成します。
  5. すべてのクラスター ノード上の IIS オフライン ファイルの共有の構成を構成します。
  6. (関連するアプリケーション プールを含む)、Web サイトを構成し、1 つのクラスター ノードでそのコンテンツの場所を指定します。
  7. フェールオーバー クラスタ リングで汎用スクリプトを作成することによって、Web サイトの高可用性を構成します。

IIS 共有構成を使用するファイル共有を設定します。

  1. IIS 共有構成を使用する共有にアクセスするユーザーを作成します。
  2. ファイル共有を作成します。この共有は、すべてのクラスター ノード上の IIS の間で共有される IIS 共有構成の格納に使用されます。複数のオプションがあります。
    • スタンドアロン サーバーのフェールオーバー クラスターの一部ではないでは、ファイル共有を作成します。
    • 別の Windows Server フェールオーバー クラスターの高可用性のファイル共有を作成します。詳細については、次のマイクロソフト Web サイトを参照してください。
    • 高可用性の Web サイトをホストする同じフェールオーバー クラスターの高可用性のファイル共有を作成します。詳細については、次のマイクロソフト Web サイトを参照してください。
  3. 手順 2 で作成した共有のアクセス許可を設定します。 ステップ 1 のファイル共有へのフル コントロール アクセス許可と NTFS アクセス許可で作成したユーザーに付与します。
  4. クラスター ノードのファイル共有を参照することを確認します。 ファイル共有へのパスは、\\ < ファイル ・ サーバ > \ < 共有 >。

すべてのクラスター ノード上の IIS 共有構成を構成します。

注: IIS 共有の構成で Windows 2008 サーバー上で権限が不足しているためアプリケーション ホスト ヘルパー サービスに問題があります。 共有の構成を機能させるでは、Windows 2008 サーバー上の IIS 共有構成をセットアップするとき、次の手順を従う必要があります。
  1. 管理用のコマンド プロンプトを開きます。
  2. 次のコマンドを実行します。
    net stop apphostsvc
  3. 次のコマンドを実行します。
    sc privs apphostsvc SeChangeNotifyPrivilege/SeTcbPrivilege/SeImpersonatePrivilege
  4. 次のコマンドを実行します。
    net start apphostsvc

クラスター内の各 Windows 2008 サーバー上の次の手順を完了したら、ここで説明したように IIS 共有の構成のセットアップを続行します。

クラスター ノードのいずれかで、ファイル共有に共有の構成をエクスポートします。
  1. [管理ツール] に移動し、インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
  2. 左側のウィンドウでサーバー名ノードをクリックします。

  3. 共有構成] アイコンをダブルクリックします。
  4. [共有構成] ページで別の場所にローカル コンピューターから、構成ファイルをエクスポートするのには操作ウィンドウ (右側のペイン) で構成のエクスポートをクリックします。
  5. 構成のエクスポート] ダイアログ ボックスで、[ファイル共有のパスを入力 (。 < ファイル ・ サーバ > \ < 共有 >)、[物理パス] ボックスにします。
  6. 接続をクリックし、ユーザー名と共有へのアクセスを持つユーザー アカウントのパスワードを入力し、共有の構成に格納されているとし、[ OK] をクリックします。このアカウントは、共有へのアクセスに使用されます。ドメイン管理者ではない制限されている Active Directory アカウントを使用する必要があります。
  7. 構成のエクスポート] ダイアログ ボックスで、暗号化キーを保護するために使用され、 [ok]をクリックし、パスワードを入力します。
  8. 共有構成] ページで、[共有の構成を有効にする] チェック ボックスを選択するをクリックします。
  9. 物理パス、ユーザー アカウント、および以前は、入力したパスワードを入力し、[操作] ウィンドウの [適用] をクリックします。
  10. 暗号化キーのパスワード] ダイアログ ボックスで以前のバージョンに設定した暗号化キーのパスワードを入力し、し、[ OK] をクリックします。
  11. 共有構成] ダイアログ ボックスで [ OKを] をクリックします。
  12. [OK] をクリックします。
[その他のクラスター ノードごとに、ファイル共有にエクスポートした共有構成を使用します。
  1. [管理ツール] に移動し、インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
  2. サーバー名のノードをクリックします。

  3. 共有構成] アイコンをダブルクリックします。
  4. 共有構成] ページで、[共有の構成を有効にする] チェック ボックスを選択するをクリックします。
  5. ファイル共有の物理パスを入力 (\\ < ファイル ・ サーバ > \ < 共有 >)、ユーザー アカウントとパスワードが以前に、入力して、[操作] ウィンドウで [適用] をクリックします。
  6. 暗号化キーのパスワード] ダイアログ ボックスで以前のバージョンに設定した暗号化キーのパスワードを入力し、し、[ OK] をクリックします。
  7. 共有構成] ダイアログ ボックスで [ OKを] をクリックします。
  8. [OK] をクリックします。
注: IIS での共有の構成を設定する方法の詳細については、次のマイクロソフト Web サイトを参照してください。

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

各クラスター ノードでは、オフライン ファイルを有効にします。
  1. デスクトップ エクスペリエンスをインストールします。
    1. [管理ツール] に移動し、[サーバー マネージャー] をクリックします。
    2. 左側のウィンドウで [機能] をクリックします。
    3. 右側のウィンドウで、機能の追加をクリックします。
    4. [デスクトップ エクスペリエンス] チェック ボックスをオンにします。
    5. デスクトップ エクスペリエンスをインストールするインストールをクリックします。
    6. コンピューターを再起動します。
  2. コントロール パネルの [オフライン ファイルを開きます。
  3. オフライン ファイルを有効にする] をクリックします。この時点でコンピューターを再起動しません。
  4. キャッシュが設定されていることを確認して読み取り専用です。これを行うには、昇格したコマンドウィンドウで次のコマンドを実行します。
    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 サイトを参照してください。

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

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. スクリプトは、既定では、「既定の Web サイト」とは"DefaultAppPool"というアプリケーション プールの名前は Web サイトを監視します。これでない場合、適切な Web サイトとアプリケーション プールは、サイト名APP_POOL_NAMEの変数を変更します。すべてのクラスター ノードで、同じ Web サイトと、スクリプト内でのアプリケーション プールであることを確認します。名前が大文字小文字を区別に注意してください。
  3. [管理ツール] に移動し、フェールオーバー クラスター マネージャー] をクリックします。
  4. クラスターに接続します。クラスター ノードのいずれかの場合は、クラスターは自動的に一覧に表示されます。
  5. クラスターを右クリックし、[サービスまたはアプリケーションの構成] をクリックします。ウィザードでは、高可用性ワークロードを作成します。
  6. [汎用スクリプト] をクリックします。
  7. 次のパスからスクリプト ファイルを選択: %systemroot%\System32\Inetsrv\clusweb7.vbs
  8. 高可用性の Web サイトに接続するクライアントを使用する Web サイト名には、クライアント アクセス ポイント (CAP) 名を設定します。CAP の Web サイトで使用する静的 ip アドレスを指定します。DHCP を使用する場合、このオプションは表示されません。
  9. ストレージの選択の手順は、Web サイトのコンテンツ ファイルが格納されているクラスターの共有ディスクを選択します。ストレージは、クラスターの他の高可用性アプリケーションによって使用されることがあります。IIS 共有の構成に使用されるファイル共有が同じクラスター上でホストされている場合、別のディスク リソースを使用することは、ここに注意してください。
  10. 設定を確認すると、ウィザードがクラスター グループ、クラスター リソース、および、リソース間の依存関係を作成し、リソースをオンラインにします。
注: 同じフェールオーバー クラスター上の複数の高可用性の Web サイトをホストするには、上記と同じ手順に従います。ただし、各 Web サイトと異なるクラスターの共有記憶域の別のスクリプト ファイルを使用します。などで % の systemroot%\System32\Inetsrv、clusweb7.vbs を使用して、最初の Web サイトは、3 番目の 2 番目、clweb7 3.vbs の clweb7 ・ 2.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 - 最終更新日: 2017/02/06 - リビジョン: 2

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 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows Server 2012 Standard, 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

フィードバック