Azure Pack: Web サイトWindowsアップグレードする
適用対象: Azure Pack Windows
Windows Azure Pack Websites バージョン 2 更新プログラム 2 にアップグレードする方法
Windows Azure Pack Websites をバージョン 2 更新プログラム 2 にアップグレードするには、Microsoft Update を使用してアップグレードするか、Web Platform Installer から入手可能な Windows Azure Pack Websites バージョン 2 更新プログラム 2 のインストーラーを実行します。 この更新での変更の詳細については、 Microsoft サポート技術情報の記事 2932947に記載されています。
Microsoft Update からのアップブレード
Microsoft Update を使用してアップグレードする場合、インストール可能なコンポーネントをダウンロードするために、システムがインターネットにアクセスできる必要があります。 WSUS を使用してアップグレードを配布している場合は、Websites コントローラーのロールもインターネットにアクセスできる必要があります。 アップグレードを実行するには、標準の Windows Update のコンソールを使用して、 Windows Azure Pack バージョン 2 の更新プログラムを選択します。
メモ
このアップグレードはオプションです。
アップグレードを適用するには、各 Websites コントローラー ロールに更新プログラムを適用する必要があります。 更新プログラムをコントローラー ロールで使用可能にするには、インストール時に Microsoft Update を有効にしておく必要があります。
Web Platform Installer を使用したアップグレード
別の方法として、 Web Platform Installerで Windows Azure Pack Websites バージョン 2 更新プログラム 2 のインストーラーを実行して、更新プログラムを適用できます。 このインストーラーも、各コントローラー ロールで実行する必要があります。 通常のインストール作業の一環として構成ポータルが表示された場合は、そのまま閉じます。 この現象の原因となる問題が発生することがあります。
注意
この方法のアップグレードには、コントローラー ロールからインターネットへのアクセスが必要です。
インターネットにアクセスできないシステムでのアップグレード
インターネットにアクセスできないインストールにアップグレードを適用する場合は、次の手順を実行します。
インターネットにアクセスできるコンピューターで Web Platform Installer のコマンド ライン ツールをダウンロードします。
次の PowerShell コマンドを実行します。
WebpiCmd.exe /offline /products:"HostingController,HostingFrontEndRole,HostingWebRole,HostingPublishingRole,HostingManagementServerRole,HostingAdministration,HostingFileServerRole,HostingWebPlatformInstaller" /Path:"$([System.Environment]::ExpandEnvironmentVariables("%SystemDrive%\Offline_Feeds"))" /XML:"https://go.microsoft.com/?LinkId=9845550" /Language:en
%systemdrive%\Offline_feeds\feeds\v001 というフォルダーの名前を WebSites_v2.0 7.7.8.0に変更します。
WebSites_v2.0 7.7.8.0 ディレクトリを Websites コントローラーのサーバーにコピーして、 %systemdrive%\HostingOfflineFeed\feedsに含めます。
インストーラーを実行する前に、オフラインのフィードにアクセス可能であることを確認します。 次の URL にアクセスするときに XML ファイルが返されることを確認します。コントローラー<>は Web サイト コントローラー サーバーの名前です。
http://<controller>/HostingOfflineFeed/feeds/WebSites_v2.0-7.7.8.0/WebSites0.9.0.xml
インターネットにアクセスできるコンピューターで、 Microsoft ダウンロード センター から WebSitesFeed.msi をダウンロードし、ファイルを Websites コントローラーのサーバーにコピーします。
各 Websites コントローラーのサーバーで、次の Windows PowerShell コマンドを使用して、レジストリを更新します。 正しい値が自動的に展開されるため、 {controller} を置換する必要はありません。
$offlineFeedUrl = 'http://{controller}/HostingOfflineFeed/feeds/WebSites_v2.0-7.7.8.0/WebSites0.9.0.xml' $hostingFrameworkRegKeyPath = "Registry::HKLM\SOFTWARE\Microsoft\IIS Extensions\Web Hosting Framework" Set-ItemProperty -path $hostingFrameworkRegKeyPath -name "MainFeedUrl" -value $offlineFeedUrl
各 Websites コントローラーのサーバーでアップグレードを完了するには、次のコマンドを実行します。
msiexec /i websitesfeed.msi WEBSITES_FEED=None FEED_HASH=None FEED_FILE_NAME=None WEBSITES_UPGRADE_ACTIONS="UpgradeDatabase,InstallController,UpdateFeedConfiguration,UpgradeAllServers"
アップグレードの進行状況は、管理ポータルのイベント ビューアーまたは Websites コントローラーのインターネット インフォメーション サービス マネージャー (IIS) にあるイベント ビューアーの Microsoft-Windows-WebSitesUpdate/Operationalで監視できます。
Windows Azure Pack Websites V2 に V1 または V2 Preview バージョンからアップグレードする方法
このセクションでは、サポートされているプレビュー バージョンの Windows Azure Pack:Websites を R2 リリース バージョンにアップグレードするために使用できるスクリプトおよびコマンドを示します。 Windows Azure Pack 自体のアップグレードについては、「 Upgrade from the Preview version of Windows Azure Pack」を参照してください。
Windows Azure Pack:Websites をプレビュー バージョンからアップグレードするときには、次の点に注意してください。
Web サイト コントローラーからアップグレードを開始する必要があります。
Web サイト ロールは、サーバー ファームごとにサーバーの 5% という既定のレートでアップグレードすることも、別の割合を指定することもできます。
V2 Preview から R2 リリースにアップグレードする場合は、ホスティング データベースに対して、一連の SQL コマンドを実行する必要があります。
バージョン 1 からバージョン 2 更新プログラム 1 へのアップグレードを正常に実行するには、 HostingAdmin データベース ユーザーのアクセス許可をリソース メータリング データベースの所有者のアクセス許可に変更する必要があります。 このことを行う手順は、このドキュメントの後半の「HostingAdmin のアクセス許可の変更」セクションで説明しています。
警告
Websites コントローラーが完全に機能するのは、新しいバージョンの Windows Azure Pack:Websites がインストールされて、データベースがアップグレードされた後です。 データベースがアップグレードされるまで、Web ファーム サービスを開始できないため、コントローラーは使用できない状態になります。
現在のバージョンとアップグレードの状態を確認する方法
PowerShell やイベント ビューアーを使用するには、Windows Azure Pack: Websites の現在のバージョンとアップグレードの状態を確認します。
PowerShell の使用
スタンプにインストールされている Windows Azure Pack:Websites のバージョンを確認するには、管理者として次の PowerShell コマンドをコントローラー ロールで実行します。
Import-Module WebSites
Get-WebSitesServer | foreach{$_.PlatformVersion}
次に示す、より詳細な PowerShell コマンドでは、マシンの名前、プラットフォームのバージョン、および状態が出力されます。
Get-WebSitesServer | %{"$($_.Name) : $($_.PlatformVersion) ($($_.Status))"}
サンプル出力:
CN-V2UP-ANT306 : (Not ready)
MN-V2UP-ANT313 : 7.6.10690.14 (Ready)
LB1-V2UP-ANT307 : 7.6.10690.14 (Ready)
LB2-V2UP-ANT313 : 7.6.10690.14 (Ready)
W1-V2UP-ANT312 : 7.6.10690.14 (Ready)
W2-V2UP-ANT305 : 7.6.10690.14 (Ready)
S-V2UP-ANT313 : 7.6.10690.14 (Ready)
PB-V2UP-ANT306 : 7.6.10690.14 (Not ready)
FS-V2UP-ANT304 : 7.6.10690.14 (Ready)
イベント ビューアーの使用
イベント ビューアーの WebSitesUpdate Operational ログを確認することで、アップグレードの状態を追跡することもできます。 イベント ビューアーの左側のウィンドウで、 [アプリケーションとサービス ログ]、 [Microsoft]、 [Windows]、 [WebSitesUpdate]の順に展開し、 [Operational]を選択します。
HostingAdmin のアクセス許可の変更
バージョン 1 からバージョン 2 更新プログラム 1 へのアップグレードを正常に実行するには、 HostingAdmin データベース ユーザーのアクセス許可をリソース メータリング データベースの所有者のアクセス許可に変更する必要があります。 このことが必要な理由は、リソース メータリング データベースへのフル アクセス権を持つユーザーは "SA" のみであり、SA の資格情報が事前にわからないためです。
HostingAdmin のアクセス許可を変更するには
SQL Server Management Studio の左側のナビゲーション ウィンドウで、 [セキュリティ]、 [ログイン]の順に展開します。
[Hosting_HostingAdmin]を右クリックし、 [プロパティ]を選択します。
左側のウィンドウの [ページの選択]で、 [ユーザー マッピング]を選択します。
[このログインにマップされたユーザー]で、 [データベース] 列に [ResourceMetering] を追加します。
[ユーザー] 列に HostingAdmin ユーザー名を追加します。
重要
ユーザー名は "Hosting_HostingAdmin" ではなく、 HostingAdminにする必要があります。
下のウィンドウの [データベース ロールのメンバーシップ:ResourceMetering]で、ロールのメンバーシップを [db_owner]に変更し、 [OK]をクリックします。
この手順により、HostingAdmin ユーザーに、Websites 更新サービスを介して完全に自動化されたアップグレードを可能にする十分なアクセス許可が与えられます。
アップグレードの開始
Web サイト コントローラーで、次の手順を実行します。
管理者特権のコマンド プロンプトで、必要に応じて Web ファーム サービスを停止します。 この手順によって、インストール後に、コントローラーを再起動する必要がなくなります。
net stop webfarmservice
新しいバージョンをインストールすると自動的に旧バージョンがアンインストールされますが、必要に応じて先に手動で旧バージョンをアンインストールできます。 以前のバージョンを手動でアンインストールするには、コントロール パネル>プログラムと機能に移動し、Web ホスティング フレームワークをアンインストールします。
Web Platform Installer を使用して、新しいバージョンの Windows Azure Pack:Web サイト。 詳細については、「Windows Azure Pack: Web サイトのインストールを開始する」を参照してください。
Windows Azure Pack: Websites ロールは、サーバー ファームごとにサーバーの 5% という既定のレートでアップグレードすることも、レートを調整してアップグレードすることもできます。
サーバー ファームごとに 5% のサーバーを一度にアップグレードするには
コントローラーで、次の PowerShell スクリプトを実行して、データベースのアップグレード、hostingConfiguration の feedUrl の設定、すべてのロールのアップグレードを開始します。 使用している環境に応じてデータベース サーバー名とパスワード情報を変更します。
"%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions CompleteUpgrade -upgradeConnectionString "Server=DB-Websites;User Id=sa;Password=password"
注意
-
-upgradeConnectionString パラメーターが必要になるのは、V1 を R2 リリースにアップグレードする場合のみです (V2 Preview を R2 リリースにアップグレードする場合は必要ありません)。
-
接続文字列では sa の資格情報を使用する必要があります。
Windows Azure Pack:Websites サーバーを指定したレートでアップグレードするには
次のコマンドを実行して、データベースをアップグレードし、ホスティング構成で新しいフィード URL を設定します。
"%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions CompleteUpgrade -skipRoleUpgrade
次の PowerShell コマンドを使用して、ロールをアップグレードする割合を制御します。 WFFMaximumStoppedServersPercentage の値を、一度にアップグレードするサーバー ファームごとのサーバーの割合に設定します。 既定値は 5% です。
Add-pssnapin WebHostingSnapin Set-WebSitesConfig -Type Global -WffMaxStoppedServersPercent <percentage>
例
次の例では、各サーバー ファームの 20% のサーバーを同時にアップグレードします。
Set-WebSitesConfig -Type Global -WffMaxStoppedServersPercent 20
すべての Windows Azure Pack:Websites ロール、またはロールごとのロールのアップグレードの開始
すべての Web サイト ロールのアップグレードを開始するには、次の PowerShell コマンドを実行します。
"%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions 'UpgradeAllServers'
ロールごとに Web サイト ロールのアップグレードを開始するには、次の各 PowerShell コマンドを個別に実行します。
Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="FrontEndServers"} Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="FileServers"} Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="ManagementServers"} Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="PublisherServers"} Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="WorkerServers"}
V2 Preview から R2 リリースへのアップグレード
V2 Preview から R2 リリース (V1 から R2 リリースではない) にアップグレードする場合は、"Hosting" データベースに対して次の SQL コマンドも実行する必要があります。 これらのコマンドによって、アップグレード後、既存のサブスクリプションとプランの更新をサポートできるようになります。
-- Get the ResourceId for the 'CpuTime' resource.
DECLARE @CpuTimeResourceId INT;
SELECT @CpuTimeResourceId = (SELECT TOP 1 ResourceId FROM runtime.QuotaResources WHERE ResourceName = N'CpuTime')
INSERT INTO [runtime].[OwnerQuotas]
([QuotaName],
[PolicyId],
[ResourceId],
[Limit],
[ExceededAction],
[TimeUnits],
[Period],
[ActionId])
SELECT 'CpuTimeBurst', POL.PolicyID, @CpuTimeResourceId, -1, 0, 1, 5, NULL
FROM [admin].[subscriptions] SUB
INNER JOIN [runtime].[SitePolicies] POL
ON SUB.Name = POL.PlanName
WHERE NOT EXISTS (SELECT 1 FROM runtime.OwnerQuotas O WHERE O.PolicyId = POL.PolicyID AND QuotaName = N'CpuTimeBurst')
INSERT INTO [runtime].[SiteQuotas]
([QuotaName],
[PolicyId],
[ResourceId],
[Limit],
[ExceededAction],
[TimeUnits],
[Period],
[ActionId])
SELECT 'CpuTimeBurst', POL.PolicyID, @CpuTimeResourceId, -1, 0, 1, 5, NULL
FROM [admin].[subscriptions] SUB
INNER JOIN [runtime].[SitePolicies] POL
ON SUB.Name = POL. PlanName
WHERE NOT EXISTS (SELECT 1 FROM runtime.SiteQuotas O WHERE O.PolicyId = POL.PolicyID AND QuotaName = N'CpuTimeBurst')
参照
Windows Azure Pack の Preview バージョンからのアップグレード
Azure Pack: Web サイトWindowsデプロイする