仮想環境の概念およびガイドライン
注意
ここでは、仮想マシンや仮想マシン テンプレートなどの仮想化の基本的な概念 (「アプリケーションのライフサイクルでの仮想ラボの使用」を参照) を理解していることを前提として説明を進めます。
このトピックでは、Microsoft テスト マネージャーの Visual Studio Lab Management を使用して仮想環境を作成するための概念とガイドラインを説明します。 このトピックは、次のセクションで構成されています。
仮想環境
格納済み環境と配置された環境
チーム プロジェクト ラボの配置された環境
チーム プロジェクトのライブラリに格納されたオブジェクト
環境ビューアー
仮想環境の作成に関するガイドライン
ネットワーク分離を使用しない環境
ネットワーク分離環境
構築された環境
格納済み仮想マシンおよびテンプレートのガイドライン
仮想環境
仮想環境とは、Lab Management の管理下にある仮想マシンのコレクションを指します。 この仮想環境を使用して、Microsoft テスト マネージャー から手動テストや自動テストを実行できます。 仮想環境でのアプリケーションのビルド、配置、およびビルドのテスト行うには、Microsoft Team Foundation ビルド のワークフローをスケジュールします。 Lab Management は Microsoft System Center Virtual Machine Manager (SCVMM) と統合されているため、これらの環境を効率的に作成、格納、および実行できます。
Lab Management 環境では、テスト担当者は次のタスクを実行できます。
特定の時点における環境内のすべての仮想マシンの状態を保存する環境のスナップショットを格納できます。
テスト担当者は、構成した環境のスナップショットを作成して、テスト完了後に環境をそのクリーンな状態に戻すことができます。 バグを発見した場合は、環境のスナップショットを作成して、そのスナップショットへのリンクをバグにアタッチすることができます。 テスト担当者が作業を続けている間に、バグを調査する開発者がスナップショット環境のコピーを作成できます。
複数の仮想マシンを同時に起動/停止できます。
ライブラリに格納された環境の複数のコピーを実行できます。
Microsoft テスト マネージャーのラボおよびライブラリの格納済み環境と配置された環境
テスト マネージャーの [ラボ] タブと [ライブラリ] タブで、チーム プロジェクトの Lab Management 環境を管理します。
[ラボ] タブでは、チーム プロジェクトのホスト グループ上に配置されている仮想環境およびマシンにアクセスできます。 ホスト グループは、Lab Management で管理される 1 台以上の物理コンピューターのコレクションで、環境をホストします。 ホスト グループは、1 台のコンピューターと同じように操作します。
[ライブラリ] タブでは、チーム プロジェクトのラボに仮想環境を作成するために使用する格納済み環境、仮想マシン、およびテンプレートにアクセスできます。
チーム プロジェクト ラボの配置された環境
テスト マネージャー の [ラボ] タブには、チーム プロジェクトで使用できる配置された環境および仮想マシンが表示されます。
配置された環境は、チーム プロジェクト ホスト グループに配置される仮想マシンのコレクションです。 配置された環境は、実行中または停止状態になります。
[ラボ] タブからは、環境ビューアーを通じて各マシンに接続でき、仮想マシンおよびテンプレートを作成してチーム プロジェクトのライブラリに格納できます。
配置された環境のソース
次のソースから配置された環境を作成できます。
1 |
1 つ以上のテンプレート。 テンプレートは、コンピューターの ID が削除された仮想マシンです。 |
2 |
格納済み仮想マシンまたはテンプレートの任意の組み合わせ。 多くの場合、エラーの確率を減らすために、格納済み仮想マシンのみまたはテンプレートのみから環境を作成することをお勧めします。 |
3 |
テンプレートの格納済み環境。 |
4 |
格納済み仮想マシンまたはテンプレートの任意の組み合わせの格納済み環境。 |
5 |
Lab Management 以外で作成された 1 つ以上の配置された仮想マシン。 これらの環境は、構築された環境と呼ばれます。 |
チーム プロジェクトのライブラリに格納されたオブジェクト
[ライブラリ] タブから、格納済み仮想マシンとテンプレートをインポート、変更、および削除できます。 格納済み環境を作成および変更し、これらの環境をラボに配置することもできます。
格納済み仮想マシンおよびテンプレート
[ラボ] タブの [Stored machines and templates] (格納済みマシンとテンプレート) 領域には、配置された環境の作成に使用する仮想マシンおよび仮想マシン テンプレートが一覧表示されます。
格納済みマシンとテンプレートには次の 2 つのソースがあります。
管理者は、格納済みマシンとテンプレートを作成して SCVMM ライブラリ共有に保存します。 次に、仮想マシンとテンプレートをチーム プロジェクトのライブラリにインポートします。
配置された環境の仮想マシンから仮想マシンまたはテンプレートを作成し、ライブラリに保存します。
格納済みテンプレート
テンプレートは、ID 情報が削除された仮想マシンです。 配置済み環境にテンプレートを含めると、新しい仮想マシンが作成されます。 ID 情報が自動的に提供されるようにテンプレートを構成するか、環境が配置されるときに ID 情報を指定できます。
格納済み仮想マシン
チーム プロジェクトのライブラリから配置された環境に格納済み仮想マシンを含めると、仮想マシンの正確な複製がラボのホストにコピーされます。 コピーされたマシンの ID はコピー元のマシンと同じであるため、ネットワークに参加しているコンピューター上での ID の重複を回避する手順を実行する必要があります。
ライブラリ内のすべての仮想マシンが、ワークグループ コンピューターで、ドメインに参加していないことを確認することをお勧めします。
非ネットワーク分離環境を作成する場合は、コンピューター名を変更してから、外部のドメインに参加させます。
コンピューター名を変更してからマシンをドメインに参加させるシーケンスにより、マシンの ID は一意になります。
ネットワーク分離環境を作成すると、Lab Management では、外部ネットワーク上にマシンのエイリアスが作成されます。 環境内のプライベート ネットワークでコンピューターを使用するか、ワークグループ コンピューターとして残すことができます。
環境
[ライブラリ] タブの [環境] エリアには、チーム プロジェクトの格納済み環境が一覧表示されます。 格納済み環境には、構成情報と仮想マシンおよびテンプレートへの参照が含まれます。 格納済み環境から新しい環境を配置できます。
環境ビューアー
Microsoft 環境ビューアーは、ラボでの環境および仮想マシンの実行を管理します。 環境ビューアーでは、次の操作を実行できます。
環境の開始、停止、および一時停止。
環境の状態のスナップショットの取得、または前のスナップショットへの環境の復元。
環境およびその環境に含まれている仮想マシンの状態とシステム情報の表示。
環境内の各仮想マシンへの接続。
詳細については、「仮想環境の運用および修正」を参照してください。
仮想環境の作成に関するガイドライン
仮想環境の作成および使用に共通する次の 3 つのパターンがあります。
非ネットワーク分離環境の使用。
ネットワーク分離の使用。
構築された環境での配置された仮想マシンの使用。
ネットワーク分離を使用しない環境
ネットワーク分離を使用しない環境は、外部ネットワークにのみ参加します。 これらの環境は、プロジェクト ライブラリの仮想マシン、テンプレート、および格納済み環境から作成されます。
格納済み仮想マシンおよびテンプレートから作成される環境の作成
格納済み仮想マシンまたはテンプレートから配置された環境を作成する場合は、配置された各マシンに一意の名前が設定されるようにカスタマイズします。 カスタマイズを自動的に行うようにテンプレートを構成できます。 環境の処理が完了したら、環境を削除します。 他のユーザーは、同じ格納済み仮想マシンまたはテンプレートから同じ方法で同様の環境を作成できます。 詳細については、「方法: 仮想マシンまたはテンプレートから環境を作成する」を参照してください。
格納済み環境からの環境の作成
格納済み仮想マシン、テンプレート、または配置された環境から格納済み環境を作成することもできます。 格納済み環境を配置する場合は、格納済み仮想マシンから作成された仮想マシンの名前をカスタマイズする必要があります。カスタマイズが自動的に行われるようにテンプレートを構成できます。 詳細については、「格納されている環境の作成」を参照してください。
テンプレートの格納済み環境から生成された環境は、すべて同じ機能を備えています。 ただし、配置された環境内の仮想マシンの ID はすべて一意であるため、これらの環境は互いの正確なコピーではありません。
利点
環境の複数のコピーを同時に実行できます。
環境内で実行されるインストール済みのアプリケーションが、仮想マシンの ID の変更による影響を受けない場合は、簡単な操作で環境を配置できます。
環境内の仮想マシンの数とサイズに制限がありません。
欠点
配置する各仮想マシンに ID 情報を指定する必要があります。 テンプレートを使用して、このプロセスを自動化できます。
配置された環境は互いの正確なコピーではありません。
インストール済みアプリケーションのうち、ID の変更に対応できるように再構成できないものは、機能しなくなります。 このようなアプリケーションは、配置後にインストールする必要があります。
環境のスナップショットは一度に 1 つだけ実行できます。 たとえば、テスト担当者がバグを発見したときに環境の状態のスナップショットを作成すると、テスト担当者は調査を担当する開発者と環境のコピーを共有できず、同時に自分の環境で作業を続けるとはできません。
ネットワーク分離環境
ネットワーク分離環境内のマシンは、2 つのネットワーク アダプターを使用してネットワークの競合から保護されます。 1 つ目のネットワーク アダプターは、環境内のプライベート ネットワーク用に使用されます。 2 つ目のアダプターは、別の一意の識別子を外部ネットワークに提示するように Lab Management によって構成されます。 コンピューターの NetBIOS ブロードキャストは無効になり、Lab Management の識別子がコンピューターのエイリアスとして登録されます。 この別の識別子により、環境の複数のコピーが実行されていても、環境内の仮想マシンと外部ネットワークとの双方向の通信が可能になります。
ネットワーク分離環境を格納すると、環境の複数のコピーが同時に実行できます。 ネットワーク分離環境がコピーされると、2 つのコピーの対応する仮想マシンは、互いに正確な複製となります。これは、仮想マシンが配置されるたびに、プライベート ネットワーク内のマシンの ID は変更されないためです。 外部ネットワーク上にある仮想マシンのエイリアスにより、ネットワークの競合は発生しません。
仮想マシンまたはテンプレートから環境を配置するときに、ネットワーク分離機能を選択してネットワーク分離環境を作成します。 次に、必要なすべてのアプリケーションをインストールします。 必要に応じて、仮想マシンをプライベート ネットワークにも接続します。 これで、環境のコピーをライブラリに直接格納できます。 チーム メンバーは、格納済み環境の複数のコピーを同時に配置できます。 詳細については、「方法: ネットワーク分離環境を作成して使用する」を参照してください。
利点
配置する環境は互いの正確なコピーです。 開発者とテスト担当者は、環境が同じであることを確認できます。
インストール済みアプリケーションが配置による影響を受けません。 マシンの ID は変更されないため、アプリケーションを再構成または再インストールする必要はありません。
稼動環境をモデル化する環境は分離環境として最も簡単に作成できます。
環境の複数のスナップショットを同時に実行できます。 たとえば、テスト担当者は、バグの検出時に環境の状態のスナップショットを作成し、ライブラリに環境のコピーを格納できます。 テスト担当者は、開発者が格納されたコピーから新しい環境を配置し、格納されたスナップショットを使用してバグを調査している間に、環境で作業を継続できます。
欠点
分離ネットワーク内の仮想マシンが、すべて 1 つのホスト上に収まる必要があります。
ネットワーク分離環境の仮想マシンは、ワークグループに参加しているか、仮想環境内のドメイン コントローラーでホストされるプライベート ドメインに参加する必要があります。 ラボ ネットワーク上のドメイン コントローラーでホストされるドメインに参加する仮想マシンをネットワーク分離環境に含めることはできません。
分離環境でプライベート ドメインを使用する場合は、配置する各環境にドメイン コントローラーと DNS サーバーが必要になります。 そのため、このロール用に追加の仮想マシンを使用する必要があります。 ただし、プライベート ワークグループでは、追加の仮想マシンは不要です。
環境内の各仮想マシンに 2 つのネットワーク アダプターが必要です。 しかし、アプリケーションが 2 つのネットワーク アダプターを使用する仮想マシン上で動作しない場合があります。
構築された環境
構築された環境は、ホストに配置されている仮想マシンから作成されます。 これらの仮想マシンの作成および管理は、テスト マネージャーで実行されます。 その結果、配置された仮想マシンを構成して、環境を作成する前にネットワークの競合を回避する必要があります。
管理者が、チーム プロジェクトのラボ内にある仮想マシンを物理マシンに配置した後に、構築された環境で 1 つ以上のマシンを選択して新しい環境を作成します。 環境が完了したら、環境を削除し、マシンを解放して管理者に戻します。 ライブラリに構築された環境のコピーを格納しないでください。 詳細については、「方法: 配置済み仮想マシンから環境を作成する」を参照してください。
構築された環境は、次の 2 つの一般的なシナリオで役に立ちます。
既存の仮想マシンを使用して Lab Management で作業を開始する。構築を行うと、仮想環境を簡単に作成し、それらの環境でテストを行うメリットを確認できます。 開始する前にテンプレートのやライブラリの概念を学習する必要はありません。
テストの実施に既に使用されている仮想マシンを組織内に取り込む。 すべての資産を再作成するのではなく、既存の仮想マシンを使用して、それらを仮想環境に取り込み、ワークフローの配置またはテストの対象として使用できます。
利点
既存の仮想マシンに Lab Management をインストールし、適切な テスト マネージャー ソフトウェア エージェントがある場合は、仮想環境をすぐに作成および使用できます。
現在のテストを中断せずに Lab Management に移行できます。
欠点
これらの環境をライブラリに格納したり、複数のコピーを作成することはできません。
構築された環境でネットワーク分離機能を構成できません。
格納済み仮想マシンおよびテンプレートのガイドライン
チーム プロジェクト ライブラリ内の格納済み仮想マシンおよびテンプレートの任意の組み合わせを使用できます。
チーム プロジェクト ライブラリの格納済み仮想マシンとテンプレートの中から選択する場合、ドメインでの名前の競合を回避することを考慮する必要があります。
仮想マシンでの名前の競合
コンピューターには、ネットワークやワークグループでマシンを一意に識別するための識別子がいくつかあります。 それらの識別子を次に示します。
コンピューター名 - マシン名またはホスト名とも呼ばれます。
MAC (メディア アクセス制御) アドレス - ネットワーク アダプターの識別子です。
SID - コンピューターに割り当てられた Windows のセキュリティ識別子です。
IP (インターネット プロトコル) アドレス - コンピューターの一意の数値識別子です。
ドメインやワークグループで仮想マシンの複数のコピーが実行されている場合に、これらの識別子の 1 つ以上が共有されていると、名前の競合が発生する可能性があり、頻繁に発生します。 2 つのコンピューター間で名前の競合が発生すると、次のような状況に陥る可能性があります。
1 つのコンピューターまたは両方のコンピューターがネットワークから切断される。
誤ったネットワーク トラフィックが対象になる。2 つのコンピューターが 1 つのネットワーク上で同じ ID を持っていると、1 つのコンピューターを対象にしているコマンドまたはメッセージが 2 つ目のコンピューターに送信される場合があります。
可能な限りテンプレートを使用することをお勧めします。 テンプレートは一部のユーザーにとってはなじみのない概念ですが、テンプレートを使用すると名前の競合のリスクが減り、追加の学習はそれほど負担になりません。 テンプレートから作成される仮想マシンに対して一意の ID が自動的に作成されるようにテンプレートを構成するか、テンプレートが配置されるときにユーザーが ID を指定することを要求するようにテンプレートを構成できます。 テンプレートには、格納済み仮想マシンで使用できない追加の配置オプション (マシンの配置時にスクリプトを実行したり、配置されたマシンが参加するドメインやワークグループを指定するなど) もあります。
場合によって、格納済み仮想マシンが優先されることがあります。 たとえば、固定されたコンピューター名に依存する SQL Server などのアプリケーションがインストールされる場合は、テンプレートではなく、仮想マシンを使用して、チーム プロジェクトのライブラリに構成されたマシンのコピーを格納できます。 これらの場合、仮想マシンの複数のコピーを同時に実行する場合は、環境内でネットワーク分離を使用する必要があります。
チーム プロジェクトのライブラリに格納される仮想マシン テンプレートと仮想マシンの両方から、一意の ID を持つ仮想マシンを配置された環境に作成できます。