GCPにゲーミングPCを作成する方法

ここ数日GCEでDivision2をプレイしていまして、安定稼働し構築方法も自分なりに小慣れたので、構築方法をざっくりご紹介します。

って記事を書いてますけど、 2020/6 スタート予定のGeforce Nowを月額1,800円で利用した方が簡単で安いからね!Google Stadiaもそのうち日本に来るだろうし。

2020/3/12追記

前置き

スペック

以下のマシンスペックで作成します。
Preemptibleで起動します。

CPU: 8core
MEM: 24GB
Disk: C:50GB, 500GB(標準ディスク)
GPU: Tesla T4 x1

注意点

  • 事前にGPUを利用する上限緩和申請が必要
  • 画面転送ソフトParsecで初回にログインする時は少し工夫が必要
  • GPUについてもPreemptibleで起動する際は、事前に申請が必要

下準備

上限緩和は申請が下りるまで時間がかかるので、先に実施しておきましょう。

Parsecアカウントの取得

先にParsecアカウントは取得しておき、自分のPCやMacにParsecをインストールしておきましょう。

上限緩和申請

事前にPreemptibleのリソースを利用する申請を行います。
例として、GPUの申請方法を記載します。

GCPコンソールから「IAMと管理」、「割り当て」を選択

割り当てリソースをフィルタで絞ります。
GPUは「Virtual Workstation」がついたTesla T4 を選択します。
リージョンは東京を選択、割り当てを選択します。

必要な事項を入力

リクエスト数と理由を入力(※図はP100ですが実際はT4)

申請は数営業日かかると書いていますが、私が実施した時は3時間ほどで申請が許可されたと思います。


VMインスタンスの作成

VMインスタンスに移動

DirectX12はWindows Server 2019 Datacenterより対応していた、はず。

スペックを決めます。
2019/4 の時点では1つのゾーンでのみGPUが選択出来ました。
CPU, Memoryは多いかもしれませんが、Division2が安定稼働するにはこんな感じです。

プリエンティブ設定はオン。
いつ落ちるかわからないですが、安くすませたいので。
かつ、24時間後には落ちるので、それが逆に安心。

ゲームインストール用D:ドライブ。なんとなく500GB。

作成の完了を待ちます。


作成したWindowsのセットアップ

GPUのドライバ、Parsec、OSの基本設定など行います。

OSにログイン

あまり説明する必要もないと思いますが。
パスワードを取得して、RDPで接続します。

Chromeのインストール

作業しやすいように。
とても便利なコマンドで完了させるこちらのスクリプトを参考にさせて頂きました
IEのセキュリティ設置を変更し、Chromeをインストールします。全てPowershell。

IEのセキュリティ設定を無効

function Disable-IEESC
{
    $AdminKey = “HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}”
    Set-ItemProperty -Path $AdminKey -Name “IsInstalled” -Value 0
    $UserKey = “HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}”
    Set-ItemProperty -Path $UserKey -Name “IsInstalled” -Value 0
    Stop-Process -Name Explorer
    Write-Host “IE Enhanced Security Configuration (ESC) has been disabled.” -ForegroundColor Green
}
Disable-IEESC

Chromeをインストール

この記事のコードブロックの「&」が「&」になってしまうので、置き換えてください。

$LocalTempDir = $env:TEMP; $ChromeInstaller = "ChromeInstaller.exe"; (new-object System.Net.WebClient).DownloadFile('http://dl.google.com/chrome/install/375.126/chrome_installer.exe', "$LocalTempDir\$ChromeInstaller"); & "$LocalTempDir\$ChromeInstaller" /silent /install; $Process2Monitor =  "ChromeInstaller"; Do { $ProcessesFound = Get-Process | ?{$Process2Monitor -contains $_.Name} | Select-Object -ExpandProperty Name; If ($ProcessesFound) { "Still running: $($ProcessesFound -join ', ')" | Write-Host; Start-Sleep -Seconds 2 } else { rm "$LocalTempDir\$ChromeInstaller" -ErrorAction SilentlyContinue -Verbose } } Until (!$ProcessesFound)

GPUドライバのインストール

ここからドライバをインストールします。CUDA用を入れないように注意。
Windows 2016用ので良いです。

インストールは全てデフォルトの選択でOK。

VMマシンにParsecをインストール

VMマシンにもParsecをインストールします。
インストールはデフォルトの選択でOK。

ログインは保持を選択しておきましょう。

ホストを許可します。

OS&Parsecの設定

ディスク設定

ディスク設定を開く。ショートぽいの:diskmgr

2T以上にしたいならGPT

ボリューム設定

D: ドライブ完成。

Windows自動ログイン設定

netplwiz

チェックを外す

次回ログインはParsecで出来るよう設定

Windowsはログオフせずに、RDPを切断します。
ログオフするとParsecが終了してしまうので、そうします。他にやりようないねん。

自分のPC or MacにVMインスタンスのマシンに接続出来るようになっているはずなので、Playから接続します。

初回はマウスが効かないなどあるかも。変な動きをしたら自分側のParsecを再起動するといいかも。

ParsecからVMインスタンスにログインします。

Parsecでログイン出来ましたら、タスクバーのParsecアイコンを右クリックして「Run when my computer starts」を選択し有効にしておきましょう。

これやらないと、再起動してもParsecで入れなく、RDPでしか入れないです。

ここで、VMインスタンスを再起動し、5分後くらいに再度自分側のParsecからログインしてみましょう。

コマンドプロンプトで「dxdiag」を起動し、DirectXが有効になっていれば成功。
あとは、普通のPCと同じくPCゲームをインストールします!

いつも通り、途中で息切れて雑な説明かもですが、疑問点とかありましたらお寄せください。みんなも持たざるゲーマーになろうぜ!


参考


Disable Internet Explorer Enhanced Security in Windows Server 2012
Install Google Chrome on Windows Server with a Powershell Script
GPU ドライバのインストール