見出し画像

ゲーミングPCを新たに用意することなくQuest2単体でPCVR環境を用意する方法(AWS EC2)

前書き

※この記事はあくまでメモ書きです。不確かな情報や勘違いが含まれている可能性があります。
またAWSの各サービスは扱いを誤ると多額の請求が発生する可能性があります。各捜査に関しては各自理解した上で自己責任でお試し下さい!

皆さんこんにちは! VRライフ楽しんでいらっしゃいますでしょうか?
この記事では、Quest/Quest2のVirtualDesktopAmazon AWS EC2のG4インスタンス(クラウドゲーミングPC)を使い、新たにゲーミングPCを用意すること無くPCVR環境を構築する方法をメモしていきます。
既にVRReadyなPC所有していてVR、特にメタバース(VRChat等のVRSNS)にどっぷりハマっている方を対象にして記事を書かせて頂きます。

本記事の内容が対象とする目的としては下記の通りとなります。

  1. 自宅にPCVR環境を既に構築しているが故障時の予備を用意したい方

  2. 友人などを自宅に招いてVR体験をさせる為のサブ環境が欲しい方

  3. 負荷の高いイベントへの参加用などスポット的に高性能なPC環境が欲しい方

VRAM16GB搭載のNVIDIA TeslaT4 GPUが使えるインスタンスを利用するため大人数が集まるイベントに顔を出す用途でも使えるかもしれません。

但し、EC2インスタンスは使用時間+データ通信量の従量課金(大体1時間100~150円)なので、自宅にVRPCは置いてあるが一時的な出張やお出かけ時のVR環境が欲しい!という場合は、普通に自宅にあるPCへVirtualDesktopでリモート接続した方が良いですよ。

本記事の内容を実現するのに必要な物

  1. Oculus Quest/Quest2

  2. Questで動作する「VirtualDesktop」アプリの購入

  3. 安定した高速インターネット接続環境

  4. Amazon AWS アカウント(EC2のG4インスタンスを作成します)

  5. AWS設定、環境構築用端末(Windows/Mac対応)

環境構築手順

前提として、Quest/Quest2の初期セットアップ、VirtualDesktopアプリの購入とインストール、AmazonAWSアカウントの作成が完了している状態からの手順を説明していきます。

EC2 G4オンデマンドインスタンス vCPU制限の緩和申請

AWSへの登録完了直後の状態では、高性能なGPUが使えるEC2 G4インスタンスの作成に制限が掛かっている為、制限解除の申請が必要になります。

作成したAWSアカウントへログインし、「AWSマネジメントコンソール」が表示されたら、上部の検索BOXへ「EC2」と入力し検索。
EC2のダッシュボード画面へ移動します。

AWSマネジメントコンソール

画面左側のメニューから「制限」を選択し、検索BOXへ「vCPU」と入力。
表示されたリストの中から「All G and VT instances のオンデマンドを実行中」
を探します。
カラム「現在の制限」の値を確認し、8 vCPUに満たない場合は制限の緩和が必要です。
画面右上の「制限緩和のリクエスト」をクリックします。

「ケースの作成」画面が表示される為、必要な項目を入力していきます。
ケースの作成→「サービス制限の緩和」
ケースの詳細:制限タイプ→「EC2インスタンス」
リクエスト:リーション→「アジアパシフィック(東京)」
※仮想PCが実際に作成される地域を選択します。日本国内からのアクセスの場合は東京に作成した方がレスポンス面で有利ですが若干利用料が高くなります。
プライマリインスタンスタイプ→「All G Spot instances」
制限→「vCPU Limit」
新しい制限値→「8」
説明:申請理由の説明
→この申請の必要となった理由を記入します。
クラウドゲーミングPC環境構築のため等、良い感じに申請文を記述します。
自分の場合、一応英語と日本語の両方で記述を行いました。

緩和申請が受理されるまで数時間~1日ほど掛かります。
メールで通知が来ると思うのでそれまでゆっくりと待ちましょう。

EC2 G4インスタンスの作成

無事に制限緩和の申請が通ったら実際にクラウドゲーミング環境を作成していきます。
ここから先の手順での選択を誤ったり、不適切な選択を行った場合多額の利用料請求が発生する可能性があるため、自分で内容を調べ理解した上での実行をお願いしますね!

EC2ダッシュボードへ戻り、画面右上の地域名をクリックし、先ほど緩和申請を出したリージョンを選択します。
今回の場合は「アジアパシフィック(東京) ap-northeast-1」になります。
以後操作画面の右上の地域名が「東京」と表示されていることを確認してください。

画面左側のメニューから「AMI catalog」を選択します。
画面上の「AWS MarketplaceAMI」を選択してから検索ボックスに「GAMING」と入力し検索します。
リストから「NVIDIA Gaming PC - Windows Server 2016」を探し、選択をクリックします。

続行をクリックします。

選んだ項目が水色で選択状態となるので、内容を確認し画面右上の「AMIでインスタンスを起動」をクリックします。

ここでは仮想サーバを動かすインスタンスを選択していきます。
高性能なグラフィックスが使えるG4インスタンスを選択するのですがここでは「g4dn.xlarge」を選択します。
2x~16xまでタイプがありますが割り当てられるCPU数やRAMが強くなっていきます。引き換えに時間あたりの利用料も高くなってしまうので最初は一番下のグレードを選択した方が良いと思います。
インスタンスタイプを選択したら画面右下の「次のステップ:インスタンスの詳細設定」をクリックします。


フィルターにG4DN 

ステップ 3: インスタンスの詳細の設定 画面へ移動します。
特に変更する必要は無いため、そのまま進めていきへ次の画面移動します。

ここではストレージの設定を行います。初期値のままだとVRChatやSteamVRインストール時点で空き容量不足になります。
50GB程に設定を増やし次の画面へ進みます。

ここではインスタンスのネットワークトラフィックを制御するセキュリティグループを新規で設定します。(ファイヤーウォールのようなものです)
リモートデスクトップ接続に必要なポートは初期値で設定されていますので「ルールの追加」をクリックし下記のように設定を追加します。
これはQuest2と接続するために使用するVirtualDesktopが使用するポートになります。

設定内容の確認画面になります。
内容に問題の無いことを確認したら右下の「起動」ボタンをクリックしインスタンスの起動を行います。

キーペアの選択画面が表示されます。
新しいキーペアの作成を選択し、わかりやすい名前を入力しキーペアのダウンロードを行います。
ここでダウンロードしたキーは、起動したインスタンスのWindowsのリモートデスクトップする際のパスワードを発行するのに必要なため必ず保管するようにしてください。

設定が正しく完了している場合は下記の画面になります。
右下の「インスタンスの表示」をクリックします。

インスタンスの状態が「running」
ステータスチェックが「初期化しています」
となっていればインスタンスの準備中である事が分かります。

初期化中の間に、リモートデスクトップ接続で接続するための準備を行います。
作成したインスタンスにチェックを入れ、左上の「接続」をクリックします。
「リモートデスクトップファイルのダウンロード」ボタンをクリックします。
ここでダウンロードしたファイルを用いてRDP

「インスタンスに接続」画面が表示される為「パスワードを取得」ボタンをクリックします。

初回起動時は「しばらく待ってから~」という旨のメッセージが表示される事があると思いますがしばらく待ってからパスワードの取得をクリックすると下記の画面へ映ります。
先ほどダウンロードしたキーペアファイルを選択し、「パスワードの復号」ボタンをクリックするとWindowsのパスワードが画面上に表示されます。
今後リモートデスクトップで接続する際に必要なので大切に保管しましょう。

先ほどダウンロードしたリモートデスクトップファイルをダブルクリックすると自動的にリモートデスクトップ接続が開始されます。
パスワードを要求されたら先ほど複合化したパスワードを入力しましょう。

無事デスクトップが表示されたらEC2インスタンスのセットアップは完了です。お疲れ様でした!
ここから先はWindowsの設定やSteamVR、Oculus Software、VirtualDesktopの設定となる為ここでは詳しくは触れません。
各自お調べください。

Windows側の設定


このリモートデスクトップでログインした状態だとDirectX関連のアプリが正しく動作せず、VRを起動しても緑の画面しか表示されない現象となります。
VirtualDesktop側からデスクトップを触ろうとする場合、パスワードの入力だったりが何かと面倒なので簡略化する設定を行います。

※この先の設定はセキュリティ上のリスクが生じる為個人の判断で設定してください。

  1. Administratorのパスワードを初期値から変更

  2. Win+Rから「netplwiz」を実行。自動ログインの設定と「ユーザーが必ずCtrl+Alt+Delキーを押す」のチェックを外す

必要なソフトのインストール

下記のソフトをインストールしました

  1. Steamクライアント

  2. SteamVR

  3. Oculus Software

  4. VirtualDesktopStreamer

  5. VRChat

  6. TeamViewer

    自動ログイン設定とVirtualDesktopの設定が完了したら一旦Windowsをシャットダウンしましょう。

シャットダウン後、EC2コンソールから作成したインスタンスを右クリック→インスタンスの状態→開始をクリックします。

しばらく待ってからQuest側でVirtualDesktopを起動、EC2上に作ったPCが表示されていればそのまま接続してSteamVRが使用できます。

AMIの作成とインスタンスの終了

これでクラウドVR環境が整いましたが、このままインスタンスを作ったままにしておくと、例えEC2インスタンスを停止した状態でもそのインスタンスに割り当てられているストレージ分お金が取られてしまいます(EBS利用料金)
なので、先ほど作ったクラウドVRの環境を丸ごと保管料の安いストレージに移動させる作業を行います。

インスタンス一覧を表示し、先ほど作ったインスタンスを右クリック→イメージ→イメージの作成をクリック
これにより、現時点でのインスタンスのOSやアプリのデータを丸ごとのアーカイブ(AMI)を作成することが出来ます。
AMIを作ったら先ほどのインスタンスは削除(終了)し、EBSのボリュームを解放しましょう。
削除(終了)の仕方は該当インスタンスを右クリック→インスタンスの状態→終了をクリックします。

AMIからのインスタンス起動

ここからはクラウドVR環境を起動する方法を説明します。
先ほど作成したAMIは画面左側のイメージ:AMIという中に作られます。

先ほど作ったAMIを選択し、画面右上の「起動」をクリックします。
すると、最初にEC2インスタンスを作る時に選んだ項目と同じ画面が出てくると思いますので必要なスペックに応じた「g4dn」インスタンスを選択します。
これ以降の画面も最初にインスタンスを作ったときと同様です。
「ステップ 6: セキュリティグループの設定」にてポートの設定をする画面がありますが、画面上部で「既存のセキュリティグループを選択する」を選べば最初に作ったルールをそのまま適用することが出来ます。
このままインスタンスを起動しすれば、先ほどシャットダウンした直前の状態のマシンが起動してきます。

ここからはリモートデスクトップを使わなくても、インスタンスを起動していればそのままQuest2のVirtualDesktopからVRを起動できるはずです!
そして使い終わったら忘れずにインスタンスの終了を行ってEBSボリュームの解放行えば余計なコストは掛からず、使っていないときはAMIの保管料のみで維持することが可能になります。

コストに関して

実運用にかかるコストや確認方法に関しては後日検証した上で記入していきます。
この記事はまだ検証途中のメモ書きです。詳細に関しては追って記述します。
AWS初めて触ったから勉強しながら作ったけど恐ろしい請求来たら涙が止まらなくなる怖い助けてくれ有識者コメントくださいー!

ここに書いてあること真似してトンデモな請求が来ても怒らないでくれ全て自己責任でお願いしますね!!理解した上で実行してくださいね!!!以上!

この記事が気に入ったらサポートをしてみませんか?