インストール ガイド
このドキュメントでは、Web サイト、仮想マシン、サービス管理ポータル、およびサービス管理 API に加え、サービス管理ポータルと API および Web サイト コンポーネントの詳細なインストール手順について説明します。
環境トポロジ
サービス管理ポータル サイトと API
サービス管理ポータルと API は、次のコンポーネントで構成されています。
サービス管理の管理者サイト: このサイトでは、管理者が Web サイト クラウド、仮想マシン クラウド、およびプランを作成することや、ユーザー サブスクリプションを管理することができます。
サービス管理のテナント サイト: このサイトでは、ユーザーがサインアップし、Web サイト、仮想マシン、およびデータベースを作成できます。
サービス管理 API: API レイヤーが、Web サイト、仮想マシン、アプリケーション データベースなどのサービスを管理する機能を統合インターフェイスから管理者サイトおよびテナント サイトに公開します。サービス管理 API は、次の 3 つの異なるインターフェイスから成ります。
サービス管理の管理者 API: サービス管理の管理者サイトから、または PowerShell コマンドレットを使用して、管理タスクを完了するための機能を公開します。
注意
サービス管理の管理者 API は、インフラストラクチャの広範な管理タスクを実行することが想定されているので、管理者 API は、ファイアウォールの内側のコンピューターまたはインターネットからアクセスできないコンピューターにインストールすることをお勧めします。
サービス管理のテナント API: エンド ユーザーまたはテナントが、サブスクライブしたプランに付属するクラウド サービスを管理および構成できるようにします。
注意
テナント API は、サブスクリプションの作成/削除や、サブスクリプション全体のリソースの操作など、重要な操作を実行できるので、ファイアウォールの内側のコンピューターまたはインターネットからアクセスできないコンピューターにインストールすることをお勧めします。
サービス管理のテナント パブリック API: エンド ユーザーが、サブスクライブしたプランに付属するクラウド サービスを管理および構成できるようにします。テナント パブリック API は、ホスティング サービス プロバイダーが提供するさまざまなサービスにサブスクライブするエンド ユーザーのすべてのニーズに対応するために設計されています。
注意
テナント パブリック API は、エンド ユーザーがインターネットからアクセスできるコンピューターにインストールすることをお勧めします。
注意
サービス管理サイトと API は、Web Platform Installer の [サービス管理ポータルおよびサービス管理 API (Express)] オプションを使用して 1 台のコンピューターにインストールすることができます。異なるコンピューターにさまざまなコンポーネントをインストールして、分散インストールを行うこともできます。これにより、スケールとスループットが増大します。
Web サイトのロール
Web サイト コントローラー: Web サイトのロールを準備および管理する Web Farm Framework (WFF) の発展版です。
Web サイト REST API: REST エンドポイントを介して公開される Web サイト管理 API です。
Web ワーカー: クライアントの Web 要求を処理する IIS Web サーバーの Web サイト固有版です。Web ワーカーは、"共有" または "予約済み" の場合があります。
フロント エンド: アプリケーション要求ルーティング処理 (ARR) の Web サイト固有版です。クライアントからの Web 要求を受け入れ、Web ワーカーにルーティングし、Web ワーカーからの応答をクライアントに返します。
パブリッシャー: WebDeploy および FTP の Web サイト固有版です。WebMatrix、Visual Studio、および FTP クライアント向けの透過的なコンテンツのパブリッシュを実現します。
ファイル サーバー: Web サイト コンテンツをホストするためのファイル サービスを提供します。
重要
Web サイト ロールをコンピューターに追加する前に、コンピューターのファイアウォールの設定で、次のサービスの着信アクセスが許可されていることを確認してください。
- WMI-In (Windows Management Instrumentation)
- DCOM-In (Windows Management Instrumentation)
- SMB-In (ファイルとプリンターの共有)
データベース
SQL Server: SQL データベースを必要とする Web サイト向けにも、スタンドアロンでも使用できるデータベース作成機能です。
MySQL Server: MySQL Server データベースを必要とする Web サイト向けにも、スタンドアロンでも使用できるデータベース作成機能です。
仮想マシン
Virtual Machine Manager (VMM): 仮想マシン、仮想ネットワーク、テンプレート、およびディスクを作成する機能を提供します。
Service Provider Foundation (SPF): REST API を介して Virtual Machine Manager 機能を公開します。
注意
このインストール ガイドでは、Virtual Machine Manger および SPF の展開については説明しません。仮想マシン機能の展開については、System Center 2012 SP1 のインストール ガイドを参照してください。
仮想マシン/システム要件
サービス管理ポータルと API および Web サイト コンポーネントは、最低 7 台のコンピューターでの実行を想定しています (これらは仮想マシンでもかまいません)。これらのコンピューターに加えて、Microsoft SQL Server および MySQL Server を実行する 1 台以上のサーバーがデータセンターに必要です。
SQL Server、MySQL Server、およびファイル サーバーは共存できます。また、Hyper-V ホスト コンピューターと共存することもできます。ただし、その他の Web サイトのロールと同じ VM にインストールしないでください。別々の SQL Server コンピューターを使用するか、同じ SQL Server コンピューター上で別々の SQL インスタンスを使用して、ユーザー データベースおよび Web サイト データベースから Web サイト構成データベースを分離してください。
名前付け規則
各コンピューターには、次のようなわかりやすいコンピューター名を使用することをお勧めします。
SvcMgmtPortal: Express インストールの場合
SvcMgmtAdmin、SvcMgmtTenant、SvcMgtAdminAPI、SvcMgtTenantAPI、SvcMgtTenPubAPI: 分散インストールの場合
SitesController: Web サイト クラウドのコントローラー
SitesRESTAPI: Web サイト クラウドの REST API レイヤー
SitesFE: Web サイト クラウドのフロント エンド
SitesPublisher: Web サイト クラウドのパブリッシャー
SitesWWS: Web サイト クラウドの共有 Web ワーカー
SitesWWR: Web サイト クラウドの予約済み Web ワーカー
FileServer: Web サイト クラウドのファイル サーバー
メモリ
サービス管理ポータルと API については、少なくとも以下を確保するようにしてください。
Express インストールを使用して、3 つのコンポーネントをすべて同じコンピューターにインストールする場合は、8 GB の RAM。
分散インストールを使用する場合は、3 台のコンピューターそれぞれに 4 GB の RAM。
Web サイトのロールのコンピューターについては、各ロールに 4 GB 以上の RAM を割り当てます。
動的メモリは使用しないでください。
ディスク領域
各コンピューターには、少なくとも、Windows Server 2012 オペレーティング システムに必要な最小ディスク領域を割り当てます。
ファイル サーバー ロールについては、ユーザーが生成する Web サイト コンテンツを格納できるだけのディスク領域を割り当てます。
ソフトウェア要件
Windows Server 2012 オペレーティング システム
Web Platform Installer (WebPI) をダウンロード
WebPI を使用して、次の項目を順番にインストールします。
IIS の推奨構成
.NET Framework 3.5 SP1
.NET Framework 4.5
サーバー マネージャーを使用して、管理者に対する IE ESC を無効化します。
Windows と .NET の入手できるすべての更新プログラムです。
重要
.NET Framework アセンブリを適切に登録するために、このインストール順序に従ってください。
ネットワーク環境
以下の説明に従って、Web サイトのロールを実行するコンピューターのイントラネットとインターネットのアクセスを構成します。
インターネットからの着信アクセス: インターネットから次のロールにアクセスできる必要があります。
フロント エンド: Web サイトに対するクライアント要求を受け入れるため。
パブリッシャー: WebMatrix や FTP クライアントなどのパブリッシュ ツールからの要求を受け入れるため。
その他の Web サイトのロールについては、エンド ユーザーの要求に直接対応しないため、着信インターネット アクセスは必要ありません。
インターネットへの発信アクセス: ロールのインストール時にソフトウェアの依存関係をダウンロードするために、Web ワーカーなど、すべての Web サイト VM で発信 HTTP Web アクセスが有効になっていることが重要です。Web サイトでは、サーバーで透過的な発信インターネット アクセスが有効になっている必要があります。Web プロキシのみのアクセスでは不十分です。
Web サイトの UAC
Web サイトの各ロールでは、以下の説明に従って、UAC を無効にする必要があります。
各コンピューターで、管理者特権のコマンド プロンプトから次のコマンドを実行します。
%windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
コンピューターを再起動します。
注意
Web サイト クラウド ロールのコンピューターで管理者特権を持つユーザーとしてログオンしている場合は、管理者特権のコマンド プロンプトから次のコマンドを実行して、リモート コンピューターの UAC を無効にできます。
%windir%\System32\cmd.exe /k %windir%\System32\reg.exe ADD \\<machine_name>\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
リモート Web サーバー クラウド ロール コンピューターの UAC を無効にするには、<コンピューター名> をリモート コンピューターの名前に置き換えます。
環境要件
パブリック DNS マッピング
既定では、Web サイトは既定のドメインの下に作成されます。Web サイトを作成すると、ユーザーは各 Web サイトにカスタム ドメイン名を追加できます。カスタム ドメインをサポートするようにテナント Web サイトを構成できますが、Web サイトによってカスタム DNS レコードが更新されることはありません。
MyCloud.com などの特定のドメインについては、次の DNS A レコードを作成します。
ホスト名 |
指定する IP |
* |
フロント エンド サーバー |
ftp |
パブリッシング サーバー |
publish |
パブリッシング サーバー |
www |
サービス管理のテナント ポータル |
@ (または空) |
サービス管理のテナント ポータル |
このマッピング スキームでは、ユーザーは http://www.mycloud.com と http://mycloud.com の両方にログインして、それぞれのサイトを管理できます。これら 2 つのホスト名は、ユーザーおよび管理者がソフトウェアの管理に使用するポータル Web サイトにマップされます。ポータルについては、このガイドの後半で説明します。
この構成では、ユーザーが作成する Web サイトは、最初は site1.mycloud.com、site2.mycloud.com などの子ドメインを使用して作成されます。
Web 展開と FTP によるコンテンツのパブリッシュでは、それぞれ publish.mycloud.com と ftp.mycloud.com を使用します。git によるコンテンツのパブリッシュでは、*.scm.mycloud.com を使用します。
注意
この展開では、特殊なドメインに対する要件はありません。既存のドメインの下で my.yourdomain.com などのサブドメインを使用できます。
ファイル共有の準備 (省略可)
スタンドアロンの Windows ファイル サーバーを使用する場合、ファイル サーバーの準備は必要なく、インストール処理中に自動的に行われます。
ただし、ファイル サーバー クラスターまたは NAS デバイスを使用する場合は、次の共有を作成する必要があります。
コンテンツ共有: テナント Web サイトのコンテンツを含みます。
証明書共有: テナント カスタム証明書を含みます。
また、次の権限を持つユーザーも作成する必要があります。
ユーザー |
コンテンツ共有の権限 |
証明書共有の権限 |
FileShareOwner |
読み取り/書き込み |
読み取り/書き込み |
FileShareUser |
読み取り/書き込み |
|
CertificateShareUser |
読み取り/書き込み |
注意
Web サイトでは、Web サイトのファイル共有ごとの権限に依存しない新しいセキュリティ技術を使用します。これにより、Web サイトを、NAS デバイスなどの異種ファイル ストレージの実装と共に使用できます。
Windows ファイル サーバーまたはクラスターでは、次のコマンドを使用して、ファイル サーバーにファイル サービス ロールとファイル サーバー リソース マネージャー ロール サービスをインストールします。
PowerShell.exe Enable-PSRemoting –Force
%windir%\system32\dism.exe /online /enable-feature /featurename:FSRM-Management /featurename:FSRM-Infrastructure
ロール アカウントの準備
以下のロールで次のアカウントを作成して、ロールの相互通信を許可します。
ユーザー名 |
ファイル サーバー |
パブリッシャー |
REST API |
フロント エンド |
FileShareUser |
○ |
○ |
||
FileShareOwner |
○ |
○ |
||
CertificateShareUser |
○ |
○ |
注意
これらのユーザー アカウントを作成する際は、次のオプションが適用されていることを確認してください。
- [ユーザーは次回ログオン時にパスワードの変更が必要] チェック ボックスがオフになっている。
- [ユーザーはパスワードを変更できない] チェック ボックスがオンになっている。
- [パスワードを無期限にする] チェック ボックスがオンになっている。
- ローカル (Active Directory 以外の) アカウントを使用する場合は、パスワードがさまざまなロールで一致している必要がある。
SQL と MySQL
SQL Server または MySQL Server のインスタンスが存在しない場合、(いずれかの) サービス管理ポータルと API コンピューターに SQL Server Express または MySQL 5.1 をインストールできます。適切なパフォーマンスを得るため、SQL Server と MySQL は別のコンピューターにインストールすることをお勧めします。
WebPI を使用した SQL Server Express のインストール
Web Platform Installer を起動します。
[製品] をクリックし、[データベース] をクリックします。[SQL Server Express 2008 R2]、[SQL Server 2008 R2 Management Objects]、および [SQL Server 2008 R2 Management Studio Express SP1] の横にある [追加] をクリックし、[インストール] をクリックします。
sa アカウントのパスワードを入力し、パスワードを再入力して、[続行] をクリックします。
使用許諾契約に同意します。Web Platform Installer によって、SQL Server Express がインストールされます。
MySQL Server のインストール
Web Platform Installer を起動します。
[製品] をクリックし、[データベース] をクリックします。[MySQL Windows 5.1] の横にある [追加] をクリックし、[インストール] をクリックします。
ルート アカウントのパスワードを入力し、[続行] をクリックします。
MySQL for Windows 5.1 のインストールが完了します。
SQL Server/SQL Server Express の準備
Web サイトの構成データベースに加え、ユーザーごとまたは Web サイトごとのデータベースを格納するために使用する SQL Server にリモートからアクセスできることを確認します。
すべての VM 間で IP による接続および名前解決をテストします。
SQL Server でリモート アクセスが有効になっていることを確認します。
SQL Server で混合モード認証が有効になっていることを確認します。
SQL Server コンピューターで TCP プロトコルを有効にします。
SQL Server の場合は、https://technet.microsoft.com/ja-jp/library/ms191294.aspx で説明している手順に従います。
SQL Server Express の場合は、SQL Server 構成マネージャーを使用して、TCP ポートを更新します。[スタート]、[すべてのプログラム]、[Microsoft SQL Server 2008 R2]、[構成ツール]、[SQL Server 構成マネージャー] の順にクリックして、SQL Server 構成マネージャーを開きます。[MSSQLSERVER のプロトコル] に移動し、TCP/IP プロトコルをクリックします。TCP/IP プロトコルが有効になっていることを確認します。
[IP アドレス] タブに移動し、[IPAll] まで下へスクロールします。TCP ポートを 1433 に更新し、TCP 動的ポートが無効になっていることを確認します。
SQL Server (SQLEXPRESS) サービスを再起動します。
データベース エンジン アクセスを有効にするために Windows ファイアウォールを構成します。
https://technet.microsoft.com/ja-jp/library/ms175043.aspx の説明に従って、受信の規則に TCP ポート 1433 を追加します。
受信の規則に SqlBrowser.exe (c:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe) を追加します。
SQL Server のいずれかのインスタンスを "既定" 以外の SQL Server インスタンスで実行する場合は、SQL Server Browser サービスを有効にします。つまり、SQL 接続文字列にコンピューター名と SQL Server インスタンス (たとえば、YourSqlServerMachine\SqlExpress) を指定する場合は、SQL Server Browser サービスを実行する必要があります。
MySQL Server の準備
MySQL Server にアクセスできることを確認します。
IP による接続および名前解決をテストします。
MySQL を実行する各コンピューターの Windows ファイアウォールで、TCP 3306 を開いて、受信できるようにします。
MySQL へのリモート アクセスを有効にします。
注意
パスワードを、インストール時に使用したルート パスワードに更新します。次のコマンドでは、ルート パスワードが Pass@word1$ であると仮定しています。
管理者特権のコマンド プロンプトで、次のコマンドを入力します。
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -p
Enter password: **********
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Pass@word1$' WITH GRANT OPTION; FLUSH PRIVILEGES;
use mysql;
update user set grant_priv='Y' where user='root';
update user
コマンドが実行されたことを確認したら、次のコマンドを入力します。exit;
サーバー マネージャーを使用するか、管理者特権のコマンド プロンプトで次のコマンドを入力して、MySQL サービスを再起動します。
net stop mysql
net start mysql