💭

クラウドでイベント用リモートPCを構築しよう

2021/10/10に公開

どうも、ぐにむすです。

イベント用の配信PCを用意する場合、ハイスペックなPCである方が安心ですが、それ以上にネット回線が安定かつ高速であることは大前提となります。

ネット回線は一般的な家庭の回線であるとスピードテスト等では悪くない数値を出してくれると思いますがこれはあくまでその時間帯のパフォーマンスでしかなく、そのパフォーマンスでイベント全体を切り抜けることはかなり難しいと思います。
昨日まで回線が安定していたのに当日になって不安定になって…なんてことにもなりかねません。

そこで登場するのがクラウドPCです。クラウドPCであれば、回線の問題はほぼなく、なんなら家での回線速度より高速です。
回線のみならず、停電や故障などによる不意なトラブルも自宅のPCより圧倒的に低確率です。

というわけでAWS上でParsecを使用したクラウドPCを構築していく手順を自分の備忘録8割くらいの気持ちで書いていきます。
(AWSとParsecのアカウントはすでに作成済みであることを前提とします。)
注意点として今回作成するものは時間単位で課金が発生します。
今回の構成ですと1時間でインスタンスだけで約80円程度となります。設定中でももちろん課金されるのでご注意ください。
これにネットワークの通信やストレージの使用量などが入ってくるので予算は1.5倍程度になるようです。
実際の料金は環境によって異なりますのでご自分で使用して確かめてみてください。

インスタンス作成

EC2からインスタンスのページを開いて「インスタンスを起動」をクリックします。

AMI(OS)は「Microsoft Windows Server 2019 Base」を選択します。

インスタンスタイプは「g4dn.xlarge」を選択します。
※ここは場合によっては「g4dn.2xlarge」またはそれ以上のスペックでも良いかもしれません。
自分が使っている分には「g4dn.xlarge」で十分だと思いました。

インスタンス作成の確認をして下記と同じであれば「起動」をクリックします。

キーペアの作成をします。
このキーペアは作成したインスタンスにアクセスするために必要になるので大事に保管しておきましょう。
新しいキーペアの作成を選択
キーペア名を任意で入力
「キーペアのダウンロード」をクリック
ダウンロードができたら「インスタンスを作成」をクリックします。

IAMユーザー作成

この後Parsecのインストール中に必要になるIAMユーザーを作成します。
まずはAWSのページの上からIAMと入力してIAMページを開きます。

ユーザーページから「ユーザーを追加」をクリックします。

ユーザー名を任意で入力します。
AWS認証情報タイプは「アクセスキー」を選択します。
これで「次のステップ」に進みます。

「既存のポリシーを直接アタッチ」を選択します。
ポリシーのフィルタに「AmazonS3ReadOnlyAccess」と入力
出てきた項目にチェックを入れて「次のステップ」に進みます。

タグの追加は特に触らないで「次のステップ」に進みます。

確認画面で以下と同じであれば「ユーザーの追加」をクリックします。

成功画面で必ず「.csvのダウンロード」をしてください。
ダウンロードしたcsvファイルはあとで使いますので置いておきましょう。

RDPでの接続

まずは初期設定のためにWindows標準のリモートデスクトップ機能でアクセスします。
EC2のインスタンスページより作成したインスタンスIDをクリック、
右上の「接続」をクリックします。

「RDPクライアント」を選択して
「リモートデスクトップファイルのダウンロード」をします。
その後「パスワードの取得」をクリックします。

「Browse」を選択して先ほど作成したキーペアのファイルを選びます。
そうすると下の欄にキーペアの内容が出てくるので「パスワードを復号化」をクリックします。

そうするとパスワードが表示されますので忘れずにコピーしてどこかに控えておきましょう。

先ほどダウンロードしたリモートデスクトップファイルをダブルクリックします。
するとパスワードの入力を促されますので先ほどのパスワードを入力します。
(警告の画面が出てくることがありますがOKで大丈夫です。)
Windowsの画面が表示されたら成功です。

ローカルポリシーの変更

検索マークをクリックして「Local Security Policy」と入力
出てきた「Local Security Policy」をクリックします。

「Local Policies」→「Security Options」
→「Interactive logon: Do not require CTRL+ALT+DEL」をダブルクリック

「Enable」に変更してOK

自動ログインの設定

スタートボタンを右クリックして「Run」をクリック

「netplwiz」と入力してOK

「User must enter a user and password to use this computer」のチェックを外してOK

パスワードの入力を求められるので先ほどのパスワードを入力

Parsecインストール

いよいよParsecのインストールです。
スタートボタンから「Windows PowerShell」を起動します。

起動したPowerShellで以下を入力してEnterキーで実行されてParsecのインストールが始まります。長いです。

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" 
$ScriptWebArchive = "https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool/archive/master.zip"  
$LocalArchivePath = "$ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool"  
(New-Object System.Net.WebClient).DownloadFile($ScriptWebArchive, "$LocalArchivePath.zip")  
Expand-Archive "$LocalArchivePath.zip" -DestinationPath $LocalArchivePath -Force  
CD $LocalArchivePath\Parsec-Cloud-Preparation-Tool-master\ | powershell.exe .\Loader.ps1  

公式のコマンドそのままです。
https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool#start-here-copy-this-code-into-powershell-you-may-need-to-press-enter-at-the-end

インストールされるとParsecのログイン画面が出てきますのでログインします。
1回目は必ず失敗して新しいPCへのアクセス許可のメールが送られます。
届いたメールから許可をしてサイドログインすると無事成功すると思います。

こちらはログインせず閉じて大丈夫です。

ここで先ほどIAMユーザー作成でダウンロードしたcsvファイルを開きます。
Parsec GPU Updater画面で以下対応するものを入力します。
「Enter your AWS Access key」でAccess key ID
「Enter your AWS Secret key」でSecret access key
Save AWS Access Key?と聞かれるので「Y」を入力して進みます。
その後の選択も「Y」を入力して進みます。

しばらくするとReboot System?と聞かれるので「Y」を入力して再起動します。

Parsec設定

もう一度リモートデスクトップでアクセスします。
Parsecを開いてSettingsから「Host」を選択
「Host Name」を任意で入力
「Bandwidth Limit」を50Mbpsに設定

これでリモートデスクトップを切断して
自分のPCのParsecを開くと先ほどのHostNameと同じPCが出てくると思いますのでConnectします。

日本語化

ここまでWindowsが英語だったと思うので日本語化します。
以下のページが詳しく載っているのでご参考ください。
先に日本語化してからParsecのインストールをしようとすると失敗するようなのでご注意ください。
https://djent.jp/windows/winserver-2019-localizing/

あとはお好みで

OBSやDiscordをダウンロードすれば基本はいつも使っているPCと同じようにお使いいただけると思います。
あとはイベントが終わったらインスタンスを停止しておかないと課金がずっと発生してしまうのでご注意ください!!

Discussion