仮想 GPU による高速 Windows ワークステーションの作成

このチュートリアルでは、ディスプレイ対応 GPU を使用して、Windows Server 2016 を実行する仮想 Windows ワークステーションを作成する方法を示します。(Linux ワークステーションを作成するには、仮想 GPU による高速 Linux ワークステーションの作成のチュートリアルをご覧ください)。Google Cloud は、3 つのディスプレイ対応 GPU(NVIDIA T4、NVIDIA Tesla P4、NVIDIA Tesla P100)を提供しています。

仮想ワークステーションを作成した後は、メディアやエンターテイメント業界で広く使用されているリモート デスクトップ プロトコルである Teradici PC-over-IP (PCoIP)を使用して、リモートアクセスする方法を学びます。PCoIP は、色精度やロスレス ディスプレイのサポートなど、メディア制作のワークロードに不可欠な機能を提供します。

目標

  • GPU を使用して Compute Engine インスタンスを作成します。このインスタンスは、仮想ワークステーションの基盤として機能します。
  • 仮想ワークステーションに NVIDIA ドライバをインストールします。
  • Teradici Cloud Access ソフトウェアを仮想ワークステーションにインストールします。
  • PCoIP ソフトウェア クライアントやハードウェア エンドポイントの一種である Zero Client を使用して、仮想ワークステーションに接続します。

費用

このチュートリアルでは、課金対象である次の Google Cloud コンポーネントを使用します。

料金計算ツールを使用すると、予想使用量に基づいて費用の見積もりを作成できます。このチュートリアルの執筆時点では、例示している典型的なメディア ワークステーション構成の費用は概算で 1 時間あたり US$ 2.26 です。

このチュートリアルで、仮想ワークステーションを構成するリソースとコストに影響する要素は次のとおりです。

インターネット下りは、仮想ワークステーションからローカルのディスプレイ クライアントにストリーミングされてインターネット下り(外向き)料金で課金されるデータを表します。PCoIP セッション中の下り(外向き)データに影響を与える変数は、帯域幅、画面解像度、ディスプレイ モニターの台数、使用するアプリケーション、各モニターのアクティビティの種類です。このの費用は、使用量を平均 10 Mbps として計算されています。Teradici の Workflow Planning Guide は、さまざまなワークロード要件を理解するのに役立ちます。

始める前に

このチュートリアルでは、gcloud コマンドと gsutil コマンドを使用します。これらのコマンドは、Cloud Console から起動した Cloud Shell インスタンスから実行できます。ローカルのワークステーションで gcloudgsutil を使用する場合、Cloud SDK をインストールします。このチュートリアルでは、Cloud Shell でコマンドを実行する方法を説明しています。ワークステーション上の Cloud SDK を使用する場合、ここでの説明は環境に合わせて読み替えてください。

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    [プロジェクトの選択] ページに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Compute Engine API を有効にします。

    API を有効にする

また、次のものが揃っていることを確認してください。

  • 選択したゾーン内に仮想ワークステーションの GPU の割り当てを持つ Google Cloud プロジェクト。gcloud compute accelerator-types list コマンドを使用すると、GPU の可用性リストを取得できます。
  • Cloud Console にアクセスするための Google Chrome ブラウザ。
  • 仮想ワークステーションへの初期アクセスに使用する Chrome 拡張機能 Chrome RDP for Google Cloud
  • 仮想ワークステーションにアクセスする Teradici ゼロクライアントか、Windows、Mac、または Limux 用の最新の Teradici のソフトウェア クライアント
  • Teradici Cloud Access Software ライセンス。試用版ライセンスに登録するか、Teradici の担当者にお問い合わせください。この仮想ワークステーションに使用する 30 日間の試用登録コードが提供されます。

アーキテクチャについて

次の図は、このチュートリアルで単一の仮想ワークステーションをデプロイするためのコンポーネントを示しています。図に示すオプションのコンポーネントには、仮想ワークステーション、オブジェクト、共有ストレージに接続するさまざまな方法と、サードパーティ ライセンスを提供するための追加のインスタンスが含まれています。

仮想ワークステーション アーキテクチャ

アクセラレータを選択する

仮想ワークステーションをデプロイする際に重要になるのは、デベロッパーのロケーションと作成されたインスタンスとの間のレイテンシです。レイテンシが短いほど、より良いエクスペリエンスが得られます。したがって、可能な限り地理的に近いゾーンを選択する必要があります。リージョンとゾーンについて詳しくは、地域とリージョンをご覧ください。

  1. Cloud Shell を開きます(Cloud SDK を使用している場合、お使いのパソコンでターミナル ウィンドウを開きます)。

    Cloud Shell に移動

  2. 次に、GPU が利用可能なゾーンのリストを取得します。

    gcloud compute accelerator-types list
    

    物理的に最も近いゾーンをメモしておきます。

  3. 使用するゾーンを設定します。

    gcloud config set compute/zone zone

    zone は、使用しているゾーンの名前(us-west2-b など)に置き換えます。

マシンタイプを選択する

P4 GPU は任意のマシンタイプに接続できますが、仮想ワークステーションに追加する各 GPU と組み合わせる vCPU の数は最小限にする必要があります。こうすることで、リソースの過剰登録を防止します。NVIDIA Tesla P4 では、1 つの GPU に最大 24 個の vCPU を接続できます。24 個を超える vCPU を仮想ワークステーションに追加するには、vCPU 24 個ごとに別の P4 GPU を 1 つ追加する必要があります。たとえば、vCPU 48 個の仮想ワークステーションでは、P4 GPU を 2 つ接続する必要があります。

このチュートリアルの例は、NVIDIA Tesla P4 GPU 1 つあたりの最大 vCPU 数である、vCPU 24 個の仮想ワークステーションで構成されています。

仮想ワークステーションを作成する

Teradici Graphics Agent(このチュートリアルの後半で仮想ワークステーションにインストールする)では、仮想ワークステーションの作成時に IP 転送を有効にし、HTTPS サーバー トラフィックを許可する必要があります。

  1. Cloud Shell で、Compute Engine 仮想ワークステーション インスタンスを作成します。name などのプレースホルダの値を指定する必要があります。

    gcloud compute instances create name \
        --machine-type machine-type \
        --accelerator type=accelerator,count=num-gpus \
        --can-ip-forward \
        --maintenance-policy "TERMINATE" \
        --tags "https-server" \
        --image-project windows-cloud \
        --image-family windows-2016 \
        --boot-disk-size size

    例:

    gcloud compute instances create test-vws \
        --machine-type custom-24-32768 \
        --accelerator type=nvidia-tesla-p4-vws,count=1 \
        --can-ip-forward \
        --maintenance-policy "TERMINATE" \
        --tags "https-server" \
        --image-project windows-cloud \
        --image-family windows-2016 \
        --boot-disk-size 100
    

    仮想ワークステーションが作成されると、マシンのステータスが表示されます。出力は次のようになります。

    Created [https://www.googleapis.com/compute/v1/projects/project/zones/us-west2-b/instances/test-vws].
    NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS test-vws us-west2-b custom (24 vCPU, 32.00 GiB) 10.168.0.3 XX.XXX.XX.XXX RUNNING

    仮想ワークステーションは、プロジェクトのデフォルトの VPC ネットワークに作成されます。仮想ワークステーションを別の VPC ネットワークに作成する場合は、コマンドに次のフラグを追加します。

    --network=network
    

    network は、使用するネットワークの名前に置き換えます。

  2. リスト内の仮想ワークステーションの外部 IP アドレスをメモしておきます。これはチュートリアルの後半で使用します。

    仮想ワークステーションの外部 IP アドレスは、Cloud Console からいつでも取得できます。

Windows パスワードを作成する

NVIDIA のグラフィック ドライバをインストールするため、RDP(Remote Desktop Protocol)を使用して Windows 仮想ワークステーションにアクセスします。RDP でログインするには、ユーザーの Windows パスワードを作成する必要があります。

  1. Cloud Console の [Compute Engine] セクションに移動します。

    [Compute Engine] ページに移動

  2. 仮想ワークステーション インスタンスの [接続] 列で、プルダウン リストから [Windows パスワードを設定] を選択します。

    Windows パスワードを Cloud Console で設定。

    ユーザー名の確認を求められ、パスワードをリセットすると暗号化されたデータへのアクセス権が失われるという警告が表示されます。これは新しいディスクであり、仮想ワークステーションにユーザーデータはないため、この警告は無視してかまいません。

  3. Windows パスワードが表示されたら、パスワードをコピーして [閉じる] をクリックします。

    このパスワードは、次の手順で RDP クライアントを使用して仮想ワークステーションにログインするときに使用するため、メモしておきます。パスワードは安全な場所に保管してください。

仮想ワークステーションにログインする

仮想ワークステーションの作成後は、マシンにログインして構成できます。

  1. Cloud Console の [Compute Engine] セクションで、仮想ワークステーション インスタンスの横にある [RDP] ボタンをクリックします。

    Chrome RDP for Google Cloud 拡張機能をインストールしていない場合は、インストールを求められます。拡張機能をインストールし、もう一度 [RDP] ボタンをクリックします。

  2. 認証情報の入力を求められたら、[ドメイン] フィールドを空白のままにして、前に生成したパスワードを入力します。

    Windows 仮想ワークステーションへの接続とパスワードの入力

  3. 次に示す証明書に関する警告が表示された場合は、警告を無視して [続行] をクリックします。

    Windows 接続証明書の警告

仮想ワークステーションのデスクトップが表示されます。Windows サーバー マネージャーの起動が完了するのを待ってから、次の手順に進みます。サーバー マネージャーの準備が整うと、次のような画面が表示されます。

仮想ワークステーションに表示される Windows サーバー マネージャー

IE セキュリティ強化を構成する

デフォルトの Windows Server 2016 イメージには、インターネットからファイルをダウンロードできないようにするデフォルトのセキュリティ設定があります。NVIDIA ドライバをダウンロードするには、このセキュリティ機能を無効にする必要があります。

  1. [サーバー マネージャー] の左側で、[ローカル サーバー] をクリックします。
  2. [IE セキュリティ強化の構成] の横にある [オン] をクリックします。
  3. ダイアログで、管理者とユーザーの両方の [セキュリティ強化] をオフにします。

    セキュリティ強化ダイアログ。

  4. [IE セキュリティ強化の構成] と [サーバー マネージャー] の両方のウィンドウを閉じます。

NVIDIA ドライバをインストールする

NVIDIA T4、NVIDIA Tesla P4、NVIDIA Tesla P100 GPU は、コンピューティングとディスプレイ ワークロードの両方に対応する認定 NVIDIA Quadro Virtual Data Center Workstation(vWS)ドライバをインストールしなければ Google Cloud で動作しません。このドライバは、一般公開ストレージ バケットからダウンロードできます。

  1. 仮想ワークステーションの Windows デスクトップで、Google Cloud SDK Shell のアイコンをダブルクリックして開きます。

  2. 最新のドライバのリストを取得します。

    gsutil ls gs://nvidia-drivers-us-public/GRID
    

    このチュートリアルでは、執筆時点で入手可能な最新のグラフィック ドライバを使用します。

    GRID8.0 Windows driver (425.31_grid_win10_server2016_64bit_international.exe)

    最新の認定ドライバは常に、バージョン番号が最も大きい GRID ディレクトリにあります。この例より新しいドライバがあった場合、そのドライバを使用してください。

  3. Google Cloud SDK Shell で、ドライバをダウンロードしてインストールします。425.31 より新しいドライバを使用する場合は、それに応じてコマンドを変更してください。

    gsutil -m cp gs://nvidia-drivers-us-public/GRID/GRID8.0/425.31_grid_win10_server2016_64bit_international.exe %USERPROFILE%/Downloads
    
  4. Windows のファイル エクスプローラを開き、ユーザーの Downloads ディレクトリに移動します。

  5. ディレクトリ内の NVIDIA ドライバを右クリックし、[管理者として実行] を選択します。

    表示に従って、デフォルトの場所にドライバをインストールします。

    1. NVIDIA のライセンス条項に同意するために、[Agree and Continue] をクリックします。
    2. インストール タイプとして [Express (Recommended)] を選択します。
    3. インストールが完了したら、NVIDIA インストーラを閉じます。
  6. ドライバが動作していることを確認します。Google Cloud SDK シェルで、次のコマンドを実行します(二重引用符も含めてください)。

    "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe"

    出力は次のようになります。

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 425.31       Driver Version: 425.31       CUDA Version: 10.1     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla P4           WDDM  | 00000000:00:04.0 Off |                    0 |
    | N/A   31C    P8     8W /  75W |    236MiB /  7680MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |    0       176    C+G   Insufficient Permissions                   N/A      |
    |    0      2640    C+G   Insufficient Permissions                   N/A      |
    |    0      3876    C+G   Insufficient Permissions                   N/A      |
    +-----------------------------------------------------------------------------+
    

    このリストにあるような出力が表示されない場合、このチュートリアルの後半のトラブルシューティングをご覧ください。

Teradici Cloud Access Software をインストールする

Teradici Cloud Access Software は、仮想ワークステーション上で動作するグラフィック エージェントを提供し、ハードウェアまたはソフトウェア クライアントにデスクトップを提供します。

  1. Windows インスタンスで Internet Explorer を開き、Teradici サポートページの PCoIP Hosts セクションに移動します。
  2. Teradici Graphics Agent for Windows をダウンロードします。
  3. エージェントのインストール プロセスを完了し、ダウンロードしたグラフィック エージェント実行可能ファイルを実行するオプションを選択します。表示に従ってグラフィック エージェントをデフォルトの場所にインストールします。

Teradici Graphics Agent を登録する

インストール プロセスが完了すると、登録コードの入力を求められます。

  1. 以前に取得した登録コードを入力します。

    Teradici 登録コードを登録する。

  2. 登録コードを入力したら、Windows インスタンスを再起動します。

ファイアウォール ルールを作成する

PCoIP クライアントは、複数のポートを使用して仮想ワークステーションと通信します。仮想ワークステーションとの間のトラフィックを許可するようにファイアウォール ルールを設定する必要があります。

  • (仮想ワークステーションではなく)ローカル コンピュータの Cloud Shell で、必要なポートを開くファイアウォール ルールを作成します。

    gcloud compute firewall-rules create allow-teradici \
        --allow tcp:443,tcp:4172,udp:4172,tcp:60443
    

PCoIP クライアントを使用して仮想ワークステーションにログインする

  1. ローカル PC で、Teradici サポートページの [PCoIP Clients] セクションに移動します。使用中のオペレーティング システムに対応する PCoIP Client アプリケーションをダウンロードしてインストールし、起動します。

  2. [New Connection] を選択します。

  3. [Host Address] フィールドに、仮想ワークステーションの外部 IP アドレスを入力します。必要に応じて、接続の名前を入力できます。

    仮想ワークステーションへの外部 IP アドレスの割り当て。

  4. 接続されたら、仮想ワークステーション用に作成したユーザー名とパスワードを入力して認証します。

    仮想ワークステーションへのアクセス用のユーザー名とパスワードの入力。

  5. 実行するデスクトップを選択し、[Connect] をクリックします。

    仮想ワークステーションに接続する。

    数秒後に Windows デスクトップが表示されます。

    仮想ワークステーションに表示されている Windows デスクトップ。

仮想ワークステーションをテストする

仮想ワークステーションをデプロイした後、さまざまなツールを使用してパフォーマンスとインタラクティビティをテストできます。

  • NVIDIA GPU デモを使用して、Windows ワークステーションのグラフィック パフォーマンスをテストします。
  • オープンソースの 3D ソフトウェア パッケージである Blender をインストールします。
  • V-RayOctaneMaxon など一般的なレンダラのレンダリング ベンチマーク ツールを実行します。
  • Google Chrome をインストールして、お気に入りのサイトの閲覧や、YouTube 動画の再生を行います。

トラブルシューティング

ここでは、ワークステーションをセットアップまたは接続する際に発生する可能性のある問題を示します。

音声が機能しない

問題: Windows 仮想ワークステーションから音が聞こえない。

解決策: Teradici Graphics Agent の動作の都合上、インスタンスで Windows Audio サービスを手動で有効にする必要があります。

  1. Windows インスタンスにログインし、[スタート] > [コントロール パネル] > [ハードウェア] > [サウンド] の順にクリックして、サウンド コントロール パネルを開きます。

    Windows オーディオ サービスが有効になっていないことを示すエラー メッセージ

  2. [はい] をクリックします。Windows により、オーディオ ドライバが動作していることが確認されます。

    Teradici 仮想オーディオ ドライバを示す Windows サウンド ダイアログ。

    サウンドが機能している場合、Windows 仮想ワークステーションから音が聞こえます。

NVIDIA-SMI が失敗した

問題: NVIDIA-SMI が NVIDIA ドライバと通信できなかったために失敗した。

解決策: ドライバを再インストールして、nvidia-smi を再度実行してみてください。

仮想ワークステーションに接続できない

問題: PCoIP Zero Client を使用して仮想ワークステーションに接続できない。

解決策: 仮想ワークステーションに接続する前に、Zero Client にファームウェアのバージョン 6.1 以降がインストールされていることを確認します。詳細については、Teradici の担当者にお問い合わせください。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud Platform アカウントに課金されないようにする手順は次のとおりです。

チュートリアルが終了したら、Google Cloud で作成したリソースをクリーンアップして今後料金が発生しないようにします。

仮想ワークステーションの停止

仮想ワークステーションを停止すると、永続ディスクの費用が発生しますが、いつでも再起動できます。仮想ワークステーションを停止するには、Cloud Shell で次のコマンドを実行します。

gcloud compute instances stop test-vws

プロジェクトの削除

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

すべてのコンポーネントの削除

  1. 仮想ワークステーションを削除します
  2. ファイアウォール ルールを削除します

次のステップ