Team Foundation Server のアーキテクチャ
更新 : 2010 年 6 月
ビジネス ニーズを満たすように Visual Studio Team Foundation Server の最適な配置を分析および計画するには、次の点を考慮する必要があります。
Team Foundation の論理アプリケーション層、データ層、およびクライアント層
これらの層をホストする物理サーバーの場所
使用する環境で実行する Team Foundation ビルドおよびビルド コンピューター
Team Foundation Server Proxy
さらに、これらのエンティティ間の相互作用も考慮する必要があります。 使用される Web サービス、データベース、およびオブジェクト モデルを把握しておきます。 また、既定で使用されるネットワーク ポートおよびネットワーク プロトコルと、カスタマイズ可能なネットワーク ポートについても知っておく必要があります。 最後に、Team Foundation Server に設定する必要のあるアクセス許可、および配置が依存するコンポーネントおよびプログラムについても理解している必要があります。
Team Foundation Server は、それ自体のサービスだけでなく、他のサービスにも依存して動作します。 詳細については、「Team Foundation Server の概念」および「Team Foundation におけるデータ ウェアハウスの構成要素」を参照してください。 インストールの要件および依存関係の詳細については、「Team Foundation コンポーネントのインストール」を参照してください。
オブジェクト モデル
サーバーをベースにしたアプリケーションまたはクライアント オブジェクト モデルを記述することで、Team Foundation の機能を拡張できます。 サーバーの機能を拡張するには、アプリケーションがアプリケーション層サーバー上で実行されている必要があります。 クライアントの機能を拡張するには、アプリケーションが チーム エクスプローラー と同じコンピューター上で実行されている必要があります。
詳細については、「Extending Team Foundation」を参照してください。
Web サービスおよびデータベース
Team Foundation Server には、一連の Web サービスとデータベースが含まれます。これらの Web サービスとデータベースは、Team Foundation の論理アプリケーション層、データ層、およびクライアント層をホストする 1 つ以上のサーバーに別個にインストールして構成します。 Web サービス、アプリケーション、およびデータベースの概要を次の図に示します。
コレクション レベル サービス
コレクション レベル サービスは、チーム プロジェクト コレクションのレベルで運営するための機能を提供します。 これらのサービスを使用すると Team Foundation Server を拡張するアプリケーションを作成できます。 詳細については、「Extending Team Foundation」を参照してください。
Team Foundation フレームワーク サービス
レジストリ サービス
登録サービス (Team Foundation Server の旧バージョンとの互換性を保つため)
プロパティ サービス
イベント サービス
セキュリティ サービス
ロケーション サービス
ID 管理サービス
バージョン管理 Web サービス
作業項目トラッキング Web サービス
Team Foundation ビルド Web サービス
Lab Management Web サービス
VMM 管理 Web サービス
テスト エージェント コントローラー Web サービス
サーバー レベル サービス
サーバー レベル サービス (アプリケーション レベル サービスとも呼ばれる) は、Team Foundation Server をソフトウェア アプリケーションとして操作するための機能を提供します。 これらのサービスを使用すると Team Foundation Server を拡張するアプリケーションを作成できます。 詳細については、「Extending Team Foundation」を参照してください。
Team Foundation フレームワーク サービス
レジストリ サービス
イベント サービス
チーム プロジェクト コレクション サービス
プロパティ サービス
セキュリティ サービス
ロケーション サービス
ID 管理サービス
管理サービス
コレクション管理サービス
カタログ サービス
データ層
Team Foundation の論理データ層は、SQL Server 2008 内の次の運営ストアで構成されます。 この層には、データ、ストアド プロシージャ、および他の関連するロジックが含まれます。これらの運営ストアは、1 つの物理サーバーにまとめて格納される場合も、多数のサーバーに分散される場合もあります。 これらの運営ストアを使用すると Team Foundation Server を拡張するアプリケーションを作成できます。 詳細については、「Extending Team Foundation」を参照してください。
構成データベース (TFS_Configuration)
アプリケーション ウェアハウス (TFS_Warehouse)
Analysis Services データベース (TFS_Analysis)
チーム プロジェクト コレクションのデータベース (TFS_CollectionName)
Team Foundation Server で使用されるデータベースの一覧とそれぞれの格納場所を次の表に示します。特に記載がない限り、この一覧に含まれるすべてのデータベースを元のサーバー (インストールと構成が行われたサーバー) から別のサーバーに移動できます。
データベースの名前と説明 |
サーバー |
---|---|
TFS_Configuration: このデータベースには、リソースのカタログと Team Foundation Server の構成情報が格納されます。 このデータベースには、Team Foundation Server の運営ストアが含まれます。 |
Team Foundation Server の最初のインストールおよび構成時に使用された SQL Server のインスタンス |
TFS_Warehouse: このデータベースには、レポートのデータが格納されます。 |
Team Foundation Server の最初のインストールおよび構成時に使用された SQL Server のインスタンス |
TFS_Analysis: この多次元データベースには、チーム プロジェクト コレクションからの集計データが格納されます。 |
Team Foundation Server の最初のインストールおよび構成時に使用された SQL Server のインスタンス |
チーム プロジェクト コレクションのデータベース: 各チーム プロジェクト コレクションで独自のデータベースが使用されます。このデータベースには、コレクション内のすべてのチーム プロジェクトのデータが格納されます。 |
Team Foundation Server と互換性のある SQL Server のインスタンス |
クライアント層
クライアント層は、アプリケーション層の説明で示したのと同じ Web サービスを使用して、アプリケーション層と通信します。 これらの層は Team Foundation Server のオブジェクト モデルを介して通信します。 クライアント層は、オブジェクト モデルに加えて、VSIP (Visual Studio Industry Partners) のコンポーネント、Microsoft Office 統合、コマンド ライン インターフェイス、およびチェックイン ポリシーのフレームワークで構成されます。
構成情報
Team Foundation Server は、SQL Server、インターネット インフォメーション サービス (IIS: Internet Information Services)、および Windows オペレーティング システムに依存します。 配置によって、Team Foundation Server は SQL Server Reporting Services または SharePoint 製品に依存する場合もあります。 そのため、Team Foundation Server の構成情報は、次の任意の場所に格納される可能性があります。
IIS データ ストア
Team Foundation Server の構成ファイル
Reporting Services のデータ ソース (TFSREPORTS データなど)
Team Foundation Server の構成データベース
Windows レジストリ
Team Foundation Server の配置を保守する際には、これらの構成元を考慮する必要があります。 何かの方法で構成を変更するには、複数の場所に格納されている情報を変更する必要がある場合があります。 また、データ層とクライアント層の構成情報の変更も必要になる場合があります。Team Foundation Server には、管理コンソールなど、このような変更を行うのに役立つさまざまなコマンド ライン ユーティリティが用意されています。 ただし、構成の変更内容によっては、手動での調整が必要になることもあります。
Active Directory と Team Foundation Server 間でのグループ ID の同期
Team Foundation Server が Active Directory ドメインで実行されている配置では、次のいずれかのイベントが発生したときにグループと ID の情報が同期されます。
Team Foundation のアプリケーション層サーバーが起動される。
Active Directory グループが Team Foundation Server のグループに追加される。
スケジュールされたジョブで指定されている期間が経過する (既定の期間は 1 時間です。また、Team Foundation Server 内のすべてのグループが 24 時間ごとに更新されます)。
ID 管理サービス (IMS: Identity Management Services) は Active Directory と同期しており、変更された ID はサーバーからクライアントに反映されます。 ジョブ サービスの同期スケジュールによっては、変更が Team Foundation Server 全体にすぐには反映されない可能性があります。既定では、すべてのグループが 24 時間以内に更新されますが、配置のニーズに合わせてこれをカスタマイズすることもできます。
グループおよびアクセス許可
Team Foundation Server には、既定のグループとアクセス許可の独自のセットがあります。これらのグループとアクセス許可は、プロジェクト レベル、コレクション レベル、またはサーバー レベルで設定できます。 グループまたは個々のレベルで、カスタム グループを作成したりアクセス許可をカスタマイズしたりすることができます。 ただし、Team Foundation Server に追加したユーザーまたはグループは、Team Foundation Server が依存している可能性のある 2 つのコンポーネント (SharePoint 製品および Reporting Services) に自動的に追加されることはありません。 配置でこれらのプログラムを使用している場合は、ユーザーとグループをこれらのプログラムに追加して、適切なアクセス許可を付与する必要があります。その時点で、これらのユーザーまたはグループは、Team Foundation Server のすべての操作で正しく動作するようになります。 詳細については、「チーム プロジェクトへのユーザーの追加」、「ユーザー、グループ、およびアクセス許可の構成」、「アクセス許可の管理」、「SharePoint 製品でのロール」、および「SQL Server Reporting Services のロール」を参照してください。
ネットワーク ポートおよびネットワーク プロトコル
既定では、Team Foundation Server は特定のネットワーク ポートおよびプロトコルを使用するように構成されます。 配置例における Team Foundation Server のネットワーク トラフィックを次の図に示します。
コンポーネントが含まれるさらに複雑な配置例における Visual Studio Lab Management のネットワーク トラフィックを次の図に示します。
既定のネットワーク設定
既定では、Team Foundation の配置内のコンピューター間の通信には、次の表に示すプロトコルおよびポートが使用されます。ポート番号の後ろにアスタリスク (*) がある場合は、そのポートをカスタマイズできます。
層およびサービス |
プロトコル |
ポート |
---|---|---|
アプリケーション層 - Web サービス |
HTTP/HTTPS |
8080/443* |
アプリケーション層 – Windows SharePoint Services 管理 |
HTTP |
17012* (Team Foundation Server と共にインストールされた場合)。それ以外の場合はランダム生成 |
アプリケーション層 – Windows SharePoint Services および Reporting Services |
HTTP Windows Management Instrumentation (WMI) サービス (インストール時に Reporting Services の URL の指定と検証のために必要) |
80* 動的ポート |
ビルド コンピューター - アプリケーション層サーバーからのリモート アクセス |
SOAP over HTTP |
9191* |
データ層 |
MS-SQL TCP |
1433* |
Team Foundation Server Proxy - クライアントからプロキシ |
HTTP |
8081* |
Team Foundation Server Proxy - プロキシからアプリケーション層 |
HTTP/HTTPS |
8080/443* |
クライアント層 - Reporting Services |
HTTP |
80* |
クライアント層 - Web サービス |
HTTP/HTTPS |
8080/443* |
アプリケーション層からビルド コントローラー |
SOAP over HTTP |
9191* |
アプリケーション層からビルド エージェント |
SOAP over HTTP |
9191* |
ビルド コントローラーからアプリケーション層 |
HTTP/HTTPS |
8080/443 |
ビルド エージェントからアプリケーション層 |
HTTP/HTTPS |
8080/443 |
テスト コントローラーからアプリケーション層 |
HTTP/HTTPS |
8080/443* |
アプリケーション層からテスト コントローラー |
.NET リモート処理 |
6901* |
アプリケーション層からドメイン ネーム システム (DNS) |
DNS の動的な更新 |
|
アプリケーション層 – Virtual Machine Manager |
HTTP |
8100 |
テスト コントローラーからテスト エージェント |
.NET リモート処理 |
6910* |
テスト エージェントからテスト コントローラー |
.NET リモート処理 |
6901* |
ビルド コントローラーからビルド エージェント |
SOAP over HTTP |
9191 |
隔離された環境におけるラボ エージェントからラボ エージェント |
TCP ソケット |
9050 |
ビルド エージェントからビルド コントローラー |
SOAP over HTTP |
9191 |
Virtual Machine Manager 管理者コンソール – Virtual Machine Manager |
HTTP |
8100 |
Virtual Machine Manager – Virtual Machine Manager ホスト |
アクションを実行するための Windows Remote Management (WinRM) データを転送するためのバックグラウンド インテリジェント転送サービス (BITS) |
アクションの実行には 80 データの転送には 443 |
Virtual Machine Manager– Virtual Machine Manager ライブラリ サーバー |
アクションの実行には WinRM データの転送には BITS |
アクションの実行には 80 データの転送には 443 |
アプリケーション層 – Virtual Machine Manager ホスト |
データの転送には分散コンポーネント オブジェクト モデル/Windows Management Interface (DCOM/WMI) 通信 |
135 49152 ~ 65535 の範囲の動的なポート |
クライアント層 – Virtual Machine Manager ホスト |
仮想マシンへのホストベース接続。 ホストベース接続の詳細については、「方法: 仮想環境に接続する」を参照してください。 |
ホスト ベース接続の実行には 2179 |
カスタマイズできるネットワーク設定
前の表に示したように、カスタム ポートを使用するように Team Foundation Server を変更することで、アプリケーション層、データ層、およびクライアント層の間の通信を変更できます。 HTTP から HTTPS にポートを変更する例を次の表に示します。
注意
HTTPS および Secure Sockets Layer を使用するように Team Foundation Server を構成するには、HTTPS ネットワーク トラフィック用のポートを有効にするだけでなく、他の多くのタスクを実行する必要があります。
サービス |
プロトコル |
ポート |
---|---|---|
SSL を使用した Web サービス |
HTTPS |
管理者が設定 |
SharePoint サーバー管理 |
HTTPS |
管理者が設定 |
SharePoint 製品 |
HTTPS |
443 |
Reporting Services |
HTTPS |
443 |
クライアント Web サービス |
HTTPS |
管理者が設定 |
参照
概念
Team Foundation Server のアクセス許可
その他の技術情報
Team Foundation におけるデータ ウェアハウスの構成要素
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2010 年 6 月 |
Lab Management 用の既定のネットワーク ポートに関する情報を追加 |
カスタマー フィードバック |