クラウドゲーミングPCで開発環境を構築してみたい(無理)

こんにちは!めぐみそです!
結果から言うとできませんでした!

できてないのに記事にするんじゃねえ!と言われそうですが、それでもかなりの制限はあるものの、人によっては使えそうではあるので、ひとまず記事にしてみることにしました。

使うサービス

今回は、stim.ioというクラウドゲーミングPCを構築するサービスを利用したいと思います。

stim.ioを選んだ理由としては、Geforce Nowなどのストリーミングサービスとは違い、ゲームではなくWindows環境をそのまま提供してくれます。
そのため、サービスはゲーミング向けではありますが、実際にはゲーム以外に利用することもできます(例えばGPUが必要な動画編集等)。

目標

今回、開発環境を構築するにあたる目標を決めておきます。

普段はVSCodeDockerを使用して開発をしているので、とりあえずあまり気にせず開発ができるところまで目標にしたいと思います。

契約(無料お試し)

というわけで契約までをしていきたいと思います。

stim.ioに接続したら、Cloud PCのLaunchをクリックします。


するとプランを聞かれますが、Performance Level 2を選択してください。
Performance Level 3は日本では月額プランが利用できないので、あまりお得感がなくなってしまいます。


この時点でアカウントを作成するかログインするように言われます。

メールアドレスでもGoogleアカウントでもアカウントが作成できるので、お好みで作成してください。
私はGoogleアカウントで登録しました。


アカウントを登録したところで、10分間無料でお試しができると言われました。

この無料お試しは、基本的には利用できるようですが、場合によっては表示がされないときがあるとのことでした。

今回は表示してくれたので、お試ししてしまいましょう。


お試しを開始すると、このようにPCを起動中の表示がでました。

起動には2分かかるようですが、初期設定があるので最初は時間がかかるのかもしれません。


実際には5分位待ちましたが、無事に起動してくれました。

少し見にくいですが、左上に何時まで使えるかが書いてあります。

この時間はPCの時間を基準にされているので、わかりやすいです。

壁紙がすごいです。実際は壁紙が動いています。


画質ですが、最大は1080pでした。

プランの選択画面でPerformance Level 3を選択すると、2k(1440p)まで画質が選べるようになるみたいです。

性能

タスクマネージャー

とりあえず10分しかないので、まずはタスクマネージャーを起動してみました。

見れる範囲ではこのような性能でした。

CPU: Platinum 8259CL 4コア
メモリ: 16GB
ネットワーク: 10Gbps?
GPU: Tesla T4

メモリ16GBはプラン一覧にはありませんでしたが、おそらく無料プラン限定の仕様であると思われます。

ストレージ

ストレージは127GBでした。25GBくらいがすでに使用されていました。
個人的にはゲーム用途でも開発用途でも少し物足りないと感じます。

速度はリードのみのテストですが、シーケンシャルが442MB/s、ランダム4Kが6.63MB/sでした。

AWSのプランでいうと、以下のプランに該当すると思われます。

EBSはエラスティックブロックストレージのことですが、ここに基本的にはストレージが格納されることになります。

ここの帯域が最大3.5Gbpsになっており、MB/sに換算するとほぼこのベンチマークの結果通りになることになります。

最近のPCではNVMe SSDが搭載されるのが多いことを考えると少し物足りないですが、GTA5くらいの大容量なゲームをプレイするときに困るくらいでしょうか。
開発的にはあまり問題ないと思われます。

ネットワークスピードテスト

Cloudflareのspeedtestを利用しました。

データセンターに入っているサーバーなだけあって、ネットワークは安定していますね。

一応1Gbpsを超えてくれました。


よく見ると、ネットワークがAWSのものでした。
この時点で初めて知りましたが、サーバーはムンバイにあるんですね…

後ほどちゃんと日本を選んでいるので、お試し中のみの制限のようです。

デフォルトでIPv4で接続されているので、IPv6は対応していないかもしれません。

開発環境構築

ここからは開発環境を構築してみます。

仮想環境

とりあえずOSがWindows Server 2022で、開発をするには少々慣れない環境なので、仮想環境でLinuxをインストールしていきます。

仮想マシン作成ツールとして、VirtualBoxを使用します。(VMWareはなぜか一瞬でタイムアウトしたのでできませんでした。AWSからのIPはブロックされてる?)


仮想マシンの性能はとりあえず以下のようにします。

初期設定のままにしています。
isoを指定していないので、OS TypeがWindows 10になっていますが、このまま進みます。


しかしいくら待っても仮想マシンが起動してくれませんでした。

画面を見たところ、こんなエラーが出ていました。

「VT-x is not available」というエラーなので仮想化支援機能が有効になっていないみたいです。

そもそもの環境が仮想マシンなので Nested Virtualizationが必要になりましたが、ここでは無効になってるようでした。残念。

結果としてはLinuxを実行したいときでもWindowsしか使用できないということになりました。

Docker

次に開発ではほぼ必須レベルとも言えるDockerの実行を試してみます。

Windows環境なので、Docker Desktopをインストールしてみます。

インストール時の設定はすべて初期設定です

インストールが完了したところで時間切れになってしまいました。

料金

もっと検証したいので、実際に料金を確認してみます。

今回はPerformance Level 2の料金で確認します。

サーバー料金

日本の場合は上記の料金でした。

Pay as you goは使っている間だけ課金されるタイプで、Subscriptionは月額課金で使い放題になるタイプです。

ただし、月額課金だと20分間放置でサーバーがシャットダウンされます。ブラウザからサーバーを動かしてないとならないため、Parsecなどのストリーミングツールは利用できません。
Pay as you goであれば、Parsecなどの外部ツールを利用していても、強制シャットダウンはされません。

Pay as you goの場合は料金が2種類あります。

Interruptible(インタラプタブル)の場合は、$0.011/分(1.7円/分)で最も安価ですが、サーバーの需要が高まった場合に強制終了される場合があります。
その場合は強制終了の2分前に通知がされます。

Guaranteed(ギャランティ)の場合は強制終了されることはありませんが、料金が少々高くなります。日本の場合は $0.03/分(4.5円/分)です。

ただし、月額プランを利用していると、ここの料金が3割引になるようです(Parsecを利用したいときやVRゲームを遊びたい時に利用するようです)。

ちなみに操作にラグが生じますが、海外サーバーを利用すると料金が安価になります。

アメリカのサンノゼサーバーの場合は、Pay as you goはなぜか高価になりますが、サブスクリプションの料金がほぼ半額になります。

それでも今まで見た中では最も安いと思います。

契約(有料)

今回はまだ開発として使えるかを検証したいだけなので、Pay as you goとして利用します。

Pay as you goは使った分だけ料金がかかりますが、まずはアカウントにお金をチャージする必要があります。

画面上部のWalletタブに移動します。

Walletタブを開くと、現在の残高と利用履歴が表示されます。

当然アカウント登録したばかりなので残高は$0.0です。

右上のBuyからアカウントにチャージします。

ここでいくらチャージするかを聞かれます。

今回は最低限の金額である$1だけチャージしてみることにしました。

Preview Buyを選択すると、なにか利用規約に同意させられます。

同意したら、支払い方法の選択画面になりました。

とりあえずまずはPaypalで支払いをしてみます。

ところが、どのカードを選択しても、カードが使えないエラーが出てしまいました。

仕方ないので少し怖いですがクレジットカードを直接入力して決済することにします。

Tiliaという決済代行サービスを使用しているようですが、個人的には聞いたことない(海外だとよく使われるのかな?)サービスだったので、少し心配です。

クレジットカード情報の入力画面は、よくある感じのやつでした。

カード情報を入力し終わってAddをクリックすると、どのカードを選ぶか選択することができます。

当然今回入力したカードしか登録されていないので、そのまま Use this payment methodをクリックして支払いを行います。

1分程度時間がかかりましたが、Walletの画面に戻されて、無事$1が追加されていました。

そのまま画面右上のCloud PCのところから、契約をしていきます。

サーバーリージョンは必ずTokyoにすることを忘れないようにしましょう。

Ping測定がうまくいかないせいかすべて150ms+だと言われますが、そんなことないのでContinueで続行します。

Pay as you goを選択します。

強制終了でも気にしないのでInterruptableを選択します。

時間を聞かれますが、とりあえずそのままにしておきます。

終了前になると延長するか聞かれるようです。

同じように2分表示ですが5分ほど待ちました。

性能(有料Ver)

タスクマネージャー

CPUコアが8コアになり、メモリが32GBに増えたこと以外は特に変わりはありませんでした。

ネットワーク

Cloudflareのスピードテストでは1.6Gbpsを記録してくれました。
Pingも1ms台なのでラグの影響も心配なさそうです。

speedtest.netのスピードテストでは3.1Gbpsを記録しました。
speedtestでは複数接続の合計値を表示するので、ゲームではそこまで参考にはならないかもしれません。

ちなみにインターフェイス自体は25Gbps設定でした。

開発環境構築(続き)

先程途中で終わったDocker Desktopのインストールをします。

インストールの最後で再起動を求められたので再起動します。

再起動するとなぜか解像度が変わっていました。

もとに戻すときに2560×1440の解像度が選べるようになっていたのでこれにしてみます。

解像度自体は選べましたが、配信は1080pのままになるので、少し文字が潰れた感じに見えてしまいました。

肝心のDocker Desktopですが、案の定エラーになっていました。

原因は先程と同じで、WSL2を動かすための仮想化支援機能が無効になっているのが原因のようでした。

一応エラーに表示されていたコマンドをPowershell上で実行してみましたが、結果は変わらず。

Dockerが使えないと個人的にはかなり致命傷なので、今回はこの時点で構築は断念しました。

まとめ

今回はStim.ioというクラウドゲーミング環境で開発環境を構築してみようとしました。

結果的には失敗に終わりましたが、このようなサービスが日本リージョンにも存在していたのを発見できたので、今回記事にすることにしました。

Dockerや仮想マシンこそ使えないものの、NodejsやRustなど、仮想環境が不要であり、Windows向けにバイナリが用意されているものであれば普通に使えると思います。
また、PHPの開発であればXAMPPが使えるので、そのあたりの開発も問題なさそうです。

性能も申し分ないので、使えるという方は使うのも手ではないかと思います。

おまけ(ゲーム性能)

せっかくなのでこのサービスの本命であるゲーミングとしての性能も試してみることにしました。

Steamは最初からデスクトップに存在しているので、このまま起動できます。

Steamダウンロード

今流行りのLethal Companyで試してみました。

ゲーム自体は容量が少ないので、ダウンロードからインストールまでは10秒程度で終わりました。

次にPUBGをダウンロードしてみました。

これがインストールまで1時間かかる予測でした(ちょっとびっくり)。

理由は定かではありませんが、ネットワークが足を引っ張ってるのか、あまり早い速度は出ませんでした。CPUは8コアもあり、解凍はマルチコア対応のはずなので、何が原因かはわかりません。

これの何が問題かというと、月額課金タイプだと20分放置でシャットダウンされてしまうので、ダウンロードを放置できないんです。
だからといってPay as you goにしてしまうと無駄に料金がかかる感じがして少しもったいなく感じてしまいます。

この辺は少し改善してもらいたいところですね。

ゲーム性能

Lethal Companyしか実験しなかったので、Lethal Companyのみでお送りします。
あまり重いゲームでもないので、ただの参考値としてご覧ください。

解像度は2560×1440のままで、最初の船の中で108FPS出てくれました。

ストリーミングは120fpsまで対応しているので、少しゲーム側がボトルネックにはなりますが、極端に気になるほどではないと思います。

CPUはサーバー向けのしかもXeon Platinumなので、シングルコア性能を要求するゲームではもしかしたらかなりのボトルネックになってしまうかもしれません。

また、WiFi 5GHzであっても配信のフレームが飛んでしまったりするせいで、視点が飛ぶことがありました。
プレイする際は全てに有線にしてプレイするほうがいいです(当たり前といえば当たり前)。

以上、おまけパートでした!

Twitterフォローはこちらからお願いします!
サポートDiscordはページ上部から参加できます!