AWSのEC2を利用したゲーミングPCの作成方法をご紹介します。
2019/11/27追記: ZeroTireは不要かもしれません。 以前、transixタイプのプロバイダ契約していた時は必要でしたが、MAP-E方式の場合は不要でした。 まずはZeroTierなしで進めてみてください。 2019後半にリリースされたg4dnシリーズを利用した手順に書き直しました。
ZeroTierにサインイン(不要かも)
https://www.zerotier.com/ のloginからアカウントを作成するかGoogleアカウントでログインします。
https://www.zerotier.com/download.shtml からZerotier Oneをダウンロードし、インストールします。
ZeroTierのWebにログインし、ネットワークを作成します。
作成したネットワークに入りましょう。
自分のマシンのZeroTier Oneをオンライン状態にします
ZeroTierの設定でIPを自動取得する設定を入れておくとよいでしょう。
自分のマシンを接続可能な状態にしておきます。
自分のマシンのZeroTierから「Show Networks」を参照しOKになっていれば準備完了です。
Parsecにサインイン
https://parsecgaming.com/ のStart Playingからアカウント作成をしましょう。
https://parsecgaming.com/downloads からParsecをEC2じゃない方、クライアント側のPCやMacにダウンロードしインストールします。
インストールされたParsecを起動し、ログイン状態にしておきましょう。
Spotインスタンスを起動する
EC2を立てましょう。ケチなのでSpotインスタンスでセットアップしますが、遅いのも嫌なので、t3.mediumのスポットインスタンスを作ります。
以下のように検索すると、最新のAMIに辿りつけるでしょう。
“Windows_Server-2016 Base Japanese”
t3.mediumを選択します。
Purchasing option を選択し、Spotインスタンスで起動する設定をしましょう。
それ以外はデフォルト設定でよいです。
ゲームはD: ドライブに保存するため、ディスクを1つ追加しましょう。
OSの基本セットアップ
ここからはラウンチしたEC2へRDP接続を行い設定していきましょう。
OSは起動と同時に自動でログインする設定を行うのは必須です。
- OSパスワードの変更
- ディスクの初期化、D:ドライブとしてマウント
- Windowsの自動ログイン
→cmdより「netplwiz」を起動、「ユーザーがこのコンピュータ…」のチェックを外す。
- OSの時刻設定
- Chromeのインストールもしておきましょう。(以下Powershell参考に)
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)
参考:https://www.snel.com/support/install-chrome-in-windows-server/
リモートマシンへZeroTierのインストール(不要かも)
これが完了すれば、自分のマシンとEC2がローカルIPで直接通信できるようになります。
- 起動したAWSのリモートマシンへZeroTierをインストールします
- リモートマシンのChromeから https://my.zerotier.com/ へログイン
- リモートマシンのタスクバーのZerotierアイコンからメニューを出し、Network IDを入力してJoinする
- https://my.zerotier.com/network から状態を確認する
- 一旦、RDPを切断しましょう
- Zerotierで割り当てられたローカルIPへRDP接続する
- 接続できれば接続確認も出来たということになります
リモートマシンへParsecのインストール
Parsecはほとんど設定がありません。簡単でよいですね。
二段階認証は有効にしておくといいですね。
インストール後、Parsecを起動しログイン。
クライアント(EC2ではなくローカルマシン)のParsecで表示されていれば準備完了です。
マウス設定を変更する
Parsecで接続した時に、マウスカーソルが消える場合があるため以下の設定を行う。
参考:https://support.parsecgaming.com/hc/en-us/articles/115002623892-Mouse-Not-Showing-Up-When-Connecting-Via-Parsec
簡単操作から
マウスをキーパットで操作するをオンにする
Parsecをスタートアップに登録する
Parsecのショートカットをスタートアップにコピーします。
Windows + R で呼び出し、”shell:startup” でスタートアップを開くと簡単です。
リモートマシンへTightVNCをインストール
https://www.tightvnc.com/download.php から64bit版をダウンロードしてインストール
Administratorのパスワードは先ほどの設定で入力不要にしたので、設定はしない。
自分マシンがWindowsであれば、同じくTightVNCをインストールして(ZeroTierのローカルIP経由で)接続してみましょう。MacはデフォルトでVNC接続できますね。
VNC経由で接続できればOK(その前にEC2を一度 Rebootしておいた方がいいかも)
サウンドの設定
サウンドデバイスがありませんので、バーチャルサウンドデバイスをインストールします。「vb-audio」というとてもありがたいソフトウェアがあります。
- リモートマシンで https://www.vb-audio.com/Cable/ からダウンロードする
- VBCABLE_Setup_x64.exe をダブルクリック、「Install Driver」を選択
- OSを再起動します
Parsecで接続すると自分のマシンから音が出ているはずです。
D: ドライブの設定
デフォルトの選択で進めてよい。D: ドライブに設定しましょう。
Steamをインストール
普通にインストールします。
D:ドライブに「steam」などフォルダを作成する
Steamの「表示」→「設定」→「ダウンロード」からSTEAMライブラリフォルダに「D:\steam」を指定し、デフォルトフォルダに設定する。
ゲームを1本ダウンロードしてみる。
設定を保存
ここまでで大体の仕込みは完了です。AMIを取りましょう。
AMIが取れたら、EC2をキャンセルして停止(Spot起動なのでTerminateされるけども)しましょう。
ーーー AMIの取得完了までしばし待つ
GPUインスタンスで起動する
最初にSpotインスタンスをリクエストした要領で、先程取得したAMI ID、インスタンスタイプには「g4dn.xlarge」を選択します。
起動したあとの作業はVNC経由で作業をします。RDPではもう接続しないので、セキュリティグループも閉じて良いでしょう。
EC2への(IN)外部からの接続は完全に閉じて大丈夫です。安心ですね。
Nvidiaドライバーをインストール
EC2へはVNCで接続して
以下のページの”オプション 2: NVIDIA GRID vGaming ドライバーを使用する” を参考にドライバのインストールとライセンスの適用を行います。
参考:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/install-nvidia-driver-windows.html
グラフィックデバイスの設定
デフォルトで組み込まれているグラフィックデバイスを無効にします。
デバイスマネージャから「Microsoft基本ディスプレイアダプター」を無効にする
OSを再起動しましょう
次に、タスクバーのNvidiaコントロールパネルのアイコンがあるので、そこからNVIDIAコントロールパネルを起動します。
Tesla T4 を選択します。
Parsecで接続
いよいよ、Parsecで接続します。今まで、RDP, VNCから比べるとグリグリ動きますよ。
自分のマシンのParsecからPlayを選択し、リモートの画面が出ればOKです。
Steamからゲームを起動してみましょう。
動きましたか?
コントローラも使えます
私はXBOX360のワイヤレスコントローラを使用しています。
終了/起動操作
終了
AMIを取得してからスポットリクエストを終了させる
起動
前回取得したAMIからスポットリクエストする
One Reply to “ゲーミングPCをクラウドに作る 手順編”
Comments are closed.