サイレント テスト フレームワーク

このドキュメントの目的は、実際のイベントに備えて Microsoft eCDN サイレント テスト ツールを使用して企業ネットワークを監査する方法に関する手順を、企業 Web キャスト プラットフォームを管理する技術チームを提供することです。

Microsoft eCDN サイレント テスト フレームワークを使用すると、ビデオ イベントの負荷の下で特定のネットワークがどのように動作するかをエミュレートして調べるために、シミュレーションを複数のデバイスで簡単に実行できます。

サイレント テストは、エンド ユーザー デバイス上のバックグラウンド (ミュート) で実行される実際のビデオ セッションです。 ユーザーは、テストが実行されていることを知らずにコンピューターで作業を続けることができますが、ビデオの帯域幅に対するネットワーク接続の速度低下が発生する可能性があります。

注:

サイレント テストのシミュレートされたイベント コンテンツは、 *.ecdn.teams.microsoft.com ドメインでホストされます。 そのため、サイレント テストは、タウン ホールやその他のライブ イベント製品の包括的なテストとして使用しないでください。

フレームワークは、次の 3 つのメイン コンポーネントで構成されます。

  • ランナー デバイス
  • 管理ダッシュボード
  • 分析

これらのコンポーネントについては、次のセクションで 1 つずつ説明します。

ランナー デバイス

フレームワークに接続する各デバイスは、"ランナー" と見なされます。 各ランナーは、1 つのビューアーをシミュレートし、Microsoft eCDN のバックエンドと通信して、テストを実行する必要がある手順を取得します。 ほとんどの場合、実行されているテストはありません。その場合、ランナーはテストが開始されるまでアイドル状態で待機します。 Microsoft eCDN は、ランナーとして機能するために指定されたエージェント アプリケーションをすべてのコンピューターに展開する代わりに、エンド ユーザー マシンに一般的にインストールされている既存のソフトウェアを利用して、バックグラウンドでランナーを起動します。

ランナーは基本的に Web ページであるため、任意のブラウザーまたはブラウザーに似た環境で開くことができます。 ランナーをインスタンス化する方法は 2 つあります。

重要

Microsoft Edge または Google Chrome は、エンド ユーザーのマシンにインストールする必要があります。 さらに、サイレント テストに参加するには、デバイスをオンにしてインターネットに接続する必要があります。

ダイレクト ランナー

次の URL でランナー ページを手動で開き、プレースホルダー TENANT_ID_HERE をブラウザーのテナントの ID に置き換えるのに注意を払うと、"直接ランナー" と見なされます。

https://st-sdk.ecdn.teams.microsoft.com/?customerId=TENANT_ID_HERE&adapterId=Direct

注意

サイレント ランナーは、コンピューターの IP アドレスを Microsoft eCDN サービスに公開するために必要な引数を使用してインスタンス化されますが、Direct Runner はマシンのグローバル設定を使用します。 そのため、 mDNS IP 難読化をまだ無効にしていない場合、ダイレクト ランナーがピアリングされる可能性は低いです。

サイレント ランナー

"サイレント ランナー" と見なされるランナー ページを使用して、バックグラウンドでヘッドレス Chromium ブラウザーを起動する PowerShell & Bash スクリプトを提供します。 その後、スクリプトをユーザーのグループで実行して、それらをフレームワークに接続できます。

詳細については、「付録 B: ヘッドレス ブラウザーを使用したランナーの統合」を参照してください。

管理ダッシュボード

管理ダッシュボードを使用すると、テストをスケジュール、変更、取り消しでき、接続されたランナーの数も表示されます。 [メイン] ウィンドウには、保留中のテスト、進行中のテスト、および既に終了した過去のテストが一覧表示されます。 完了したテストは 24 時間表示され、一覧から非表示になります。

サイレント テスト管理ダッシュボード UI の画像。

分析

テストがスケジュールされると、"保留中" モードに設定されます。 開始時刻に達すると、テストがアクティブ化され、すべてのオンライン ランナーにアクティブ化シグナルが送信されます。 その後、各ランナーによってターゲット ページが起動され、非表示ウィンドウでビデオの再生が開始されます (ミュート)。 Microsoft eCDN SDK は、 Analytics ダッシュボードで使用できるさまざまなグラフとグラフに表示されるネットワークと UX のメトリックを収集します。 テストの実行中に分析が報告されるため、管理者はテストが終了する前でも状態をチェックできます。

同時実行

一意のビューアーというタイトルのグラフの例。2 つの系列を表示する時間の経過に伴い、ピアリングが有効で、ピアリングが無効になっているビューアーがそれぞれ青と灰色で表示されます。

コンカレンシー グラフには、時間の経過に伴うアクティブなユーザーの数が表示されます。 アクティブと見なすには、ユーザーがビデオを再生している必要があります。

HTTP + P2P 速度

ネットワーク スループットというタイトルのグラフの例。3 つの系列、使用された HTTP データ、使用された P2P データ、および P2P の割合をそれぞれ濃い青色、オレンジ、および点線で表示する時間棒グラフ。

ネットワーク スループット グラフは、HTTP と P2P のネットワーク消費量の内訳を示しています。

として表されます 説明 Axis
濃い青色のバー HTTP 帯域幅 left
オレンジ色のバー P2P 帯域幅 left
緑の点線 全体の P2P 比率をパーセンテージで示す

たとえば、P2P 比率が 90% の場合、トラフィックの 10% のみが HTTP 経由でダウンロードされ、残りのトラフィックはユーザー間でピアリングされたことを意味します。

P2P が予想よりも低い場合は、ユーザーのコンカレンシーが十分に高くなかったか、ネットワークにより多くの最適化が必要であることを意味します。 トラブルシューティングについては、 ピアリング効率の低いトラブルシューティング に関するドキュメントを参照してください。

ユーザー エクスペリエンス

Play と Rebuffer Time というタイトルのグラフの例。時間の経過に伴い、Played、Rebuffer、Rebuffer Ratio の 3 つの系列がそれぞれ濃い緑、赤、青の点線で表示されます。

ユーザー エクスペリエンス グラフには、再生に費やされた時間と、リバッファーに費やされた時間 (固定されたビデオ) の組み合わせが表示されます。

として表されます 説明 Axis
緑のバー 再生に費やした時間の合計 (分単位) left
赤いバー リバッファーに費やされた時間を分単位で組み合わせる left
青い点線 合計時間のリバッファーアウト率をパーセンテージで示す

たとえば、2% の再バッファー率は、ビデオが 98% の時間正しく再生されていたのに対し、ビデオがスタックした時間の 2% を意味します。

再バッファー処理は、理想的には 1% を下回る必要があります。 再バッファーの数が多いか急増すると、ネットワークの輻輳、サーバーの過負荷、コンテンツの構成ミスが考えられます。

ネットワーク要件

サイレント テスト フレームワークでは、次のドメインとポートが使用されます。

ホスト名 ポート プロトコル 説明
*.ecdn.teams.microsoft.com 443 HTTPS リソース & ランナー ページ
*.ecdn.teams.microsoft.com 443 WSS Microsoft eCDN のバックエンドへの WebSocket 接続
any 高いポート 10,000 + SCTP これは、WebRTC ピア接続で必要です。 LAN のみに制限できます。 

セキュリティ

サイレント テスト フレームワークは、ランナーにテストを割り当てることで動作します。 ランナーは Microsoft eCDN のバックエンドに接続する静的ページですが、実行されるテストは動的であり、任意のターゲット ページを実行できます。 そのため、ランナーはブラウザーによってサンドボックス化された Web ページ内で実行され、最新のブラウザーに組み込まれているセキュリティ メカニズムに依存しています。 統合 (カスタム統合を除く) に関係なく、ターゲット ページは常に iframe を使用して安全なクリーン コンテキストで実行されます。

また、ネットワークのアクセス許可はブラウザーによって制限され、HTTP、WebSocket、WebRTC などの一般的な Web API に制限されます。

テストの実行を待機している間、ランナーはセキュリティで保護された TLS 接続 (WSS) 経由で永続的な WebSocket 接続を維持します。

付録

付録 A: サイレント テストをスケジュールする方法

  1. サイレント テスト ダッシュボードに移動する

  2. + 記号を選択します

    サイレント テスター UI

  3. 必須フィールドに入力します

    サイレント テスト オプション UI の画像。

    • [名前 ] - 任意の任意の名前。

    • Time & Date - テストが開始される特定の時刻。

    • 期間 - テストの期間。 適切なシミュレーションを可能にするには、少なくとも 20 分をお勧めします。

    • ターゲット URL - シミュレートされたイベント中にビデオを再生するイベント ページの一般公開 URL。 組み込みのページを使用することも、独自のページを作成することもできます。

      • 組み込みのStream - Microsoft eCDN には、既に統合された組み込みページと、いくつかの表示とカスタマイズ可能なストリーミング プロトコルを含むライブ ストリームが含まれています。

      • カスタム Stream - 独自のライブ ストリームのみを提供し、Microsoft eCDN の自動統合ページを使用できます。 ストリームはパブリックに使用でき、ランナーが読み込むように CORS ヘッダーを含める必要があります。 ストリームは、テストの開始時に自動再生されます。

      • カスタム ページ - 独自のカスタム ページ。 このページには、プレイヤーとライブ ストリームを含め、Microsoft eCDN と統合する必要があります。 テスト中にユーザーの操作がないため、プレイヤーはビデオの再生を自動的に開始する必要があります。 一部のブラウザーでは、ビデオを自動再生する機能が制限されています。 そのため、オーディオをミュートすることをお勧めします。これにより、制限が緩和されます。 組み込みページは既定でミュートされます。

    • デバイス フィルター - テストを特定のデバイス グループに制限します。 場合によっては、接続されているデバイスのサブセットでテストを実行することが必要になる場合があります。 たとえば、米国内のオフィスでのみテストを実行したり、Direct ランナー デバイスのみを実行したりします。

      • 国フィルター - 特定の国/地域 (GeoIP) からのデバイスのみが含まれます。

      • 統合フィルター - 特定の統合を介して接続されているデバイスのみを含めます。

      • デバイス ID フィルター - 特定のデバイス ID でのみテストを実行します。 このフィルターは、主にローカル デバッグ目的で使用されます。

  4. [ スケジュール] を選択すると、テストが作成されます。

  5. サイレント テストの開始時刻に達すると、割り当てられた接続されたデバイスでテストが実行されます。

付録 B: ヘッドレス ブラウザーを使用したランナーの統合

Microsoft eCDN には、インストール不要のサイレント テスター スクリプトが用意されています。

このスクリプトは、指定した期間、特定のページ上のマシンのバックグラウンドでクロム ブラウザーを起動し、バックグラウンド ブラウザー プロセスを閉じます。

さらに、Microsoft eCDN には、Active Directory に一覧表示されているリモート マシンでサイレント テスターを実行するスクリプトが用意されています。

注:

マシンを再起動してもランナーは自動的に復元されないため、スクリプトを使用してブラウザーを再度起動する必要があります。

Windows 環境の実行手順

  1. silent-tester-runner-windows.ps1 ダウンロード - バックグラウンドでクロムベースのブラウザー (Microsoft Edge または Google Chrome が見つからない場合) を 24 時間起動する PowerShell スクリプト。

  2. silent-tester-runner-windows.ps1を編集する:

    • $TenantID- TENANT_ID を Microsoft テナント ID に置き換えます。

    • $TestID- TEST_ID を一意の ID 文字列に置き換えます。 この文字列はログ ファイルの作成で使用され、サイレント テスト管理者はテスト結果を一意に識別できます。

    重要

    各テストには、一意の$TestIDが必要です。 スクリプトが、現在のインスタンスと同じ$TestIDで以前に実行されたことを検出した場合、サイレント テストを実行せずに終了します。

    • (省略可能) $scenarioDuration - ブラウザーのアップタイム期間を目的の値 (秒単位) に設定します。 この期間、ターゲット マシンでサイレント テストを実行できます。 ブラウザーがアイドル状態であるため、テストの実行の柔軟性を高めるために、この値を数日に増やすことに問題はありません。 このプロセスは、システムの再起動後も存続しません。 既定値は 86,400 秒 (24 時間) です。

    • (省略可能) $customChromePath - Microsoft Edge または Google Chrome が既定のパス (C:\Program Files または C:\Program Files (x86)) にインストールされていない場合は、この変数をブラウザーの実行可能ファイルのパスに設定します。 例えば: C:\Custom Path\Edge\msedge.exe

  3. 次のいずれかのオプションなど、任意の方法を使用して、ターゲット マシンでスクリプトを実行します。

    • GPO の使用

    • SCCMの使用

    • または、ドメイン コントローラーから手動で。 便宜上、呼び出しスクリプトの例を提供します。

      1. remote-invocation.ps1 のダウンロード - Active Directory のすべてのコンピューターで silent-tester-runner-windows.ps1 を実行する PowerShell スクリプト

      2. (省略可能)スクリプトを編集して、Active Directory クエリをニーズに基づいて特定のコンピューター グループに制限します。 高度なフィルター処理については、 Get-ADComputer コマンドレットの ドキュメントを参照してください

      注:

      silent-tester-runner-windows.ps1 が、呼び出しスクリプトを実行しているディレクトリと同じディレクトリにあることを確認します。

      注意

      最適な結果を得るには、 ユーザー コンテキストでランナー スクリプトを実行します。 SYSTEM アカウントでランナー スクリプトを実行することは推奨されません。

  4. サイレント テスト ダッシュボードに移動し、ターゲット マシンがオンライン ランナーとして表示されるようにします。

4 つのオンライン ランナーを表示する画像の例。

Mac 環境の実行手順

  1. silent-tester-runner-mac.sh ダウンロード - バックグラウンドで Google Chrome を 24 時間起動する Bash スクリプト。

  2. silent-tester-runner-mac.sh の編集:

    1. ecdnCustomerId - CUSTOMER_ID を Microsoft テナント ID に置き換えます。

    2. (省略可能) scenarioDuration - ブラウザーのアップタイム期間を目的の値 (秒単位) に設定します。 この期間、ターゲット マシンでサイレント テストを実行できます。 ブラウザーがアイドル状態であるため、テストの実行の柔軟性を高めるために、この値を数日に増やすことに問題はありません。 既定値は 86,400 秒 (24 時間) です。

  3. たとえば、サイトでデバイスを管理するために使用されるツールに応じて、Jamf Pro では、さまざまなマシンでスクリプトを実行する方法が異なります。