FiveMのテストサーバについて
FiveMでscriptsの開発を実施することになり、常に使うわけではないため、従量課金であるAWSを利用することにした。(メインのアカウントもあるので)
今回は、Organizationで管理しながら、FiveM用の専用アカウントを作成し、その上で、EC2を構築した。
費用を下げるために、スポットインスタンスを利用してコスト削減も実施。
構成の概要図
スペック
t3.large(CPU:2コア、メモリ:8GB)
ディスク:80GB
※上記スペックで作成したが、開発・テスト用ではもっとスペックが低くてもよさそう。
特にディスクは40GBでも良さそうなぐらい使用していない。
構成のポイント
・Cfx.reでの登録上、固定グローバルIPを使用する必要があるため、EIPを利用する。
・開発サーバのため、スポットインスタンスを利用し、サーバのコスト削減(60%OFFとか)
・EBSのスナップショットやAMIを作成して、インストール直後からの検証などやり直しをできる構成とした。(EIPのため、EC2側は紐付け変えるだけで使いまわし可能)
費用について
2週間で63時間程度の起動で約$10(2024.9.1 約1,500円)
→単純に倍にして、1ヶ月で$20程度(約3,000円)
内訳は以下の通り
・EC2(t3.large Linux/UNIX Spot Instance)... 63.391 Hours → $2.69
・EBS (SSD (gp2) provisioned storage ... 45.138 GB-Mo → $5.65
・EBS(snapshot data stored)... 4.546 GB-Mo → $0.23
・Elastic IP ... 355.514 Hours → $1.78
こう見るとEBSの比率が高いので、頻繁に作業をしないのであれば、検証の都度EBSのスナップショットを作成して、EC2インスタンス(スポットリクエスト)を削除し、使うたびにEC2を起動(作成)する方が安くなるかもしれない。
EC2デプロイ時の注意(スポットインスタンス選択)
通常通り、EC2をデプロイするとオンデマンド料金になるので、EC2作成時にスポットインスタンスを選択する必要があり、また、中断動作を停止にしないとEC2が削除されてしまいます。
(休止は制約があるので停止が無難)
なお、EC2を削除する際は、スポットリクエストから削除する必要あり。
(EC2が再作成される)
EC2デプロイ後の作業について
・SecurityGroupの設定
・MariaDBのインストール
・FiveMのインストール
このあたりのインストールについては、別途ブログでまとめられているので、以下を参照して作成。
※上記サイトで、AWSの場合はEIPで通信する部分と、ローカルIPで通信する部分など読み替えが必要な箇所あり(FWの設定やMariaDBの設定など)
※EC2の停止防止漏れのために、EventBridgeで朝4時に停止するように設定。
AWSでの構築メリットについて
・従量制課金&スポットインスタンスのため、費用を比較的安く抑えられる。
・既存のAWSアカウントを持っていると簡単に始められる。
・バックアップ/リストアが容易にでき、EIPでグローバルIPを他サーバでも使えるため、ロールバックが簡単にできる。
AWSでの構築デメリット(課題)について
・柔軟にできる分、AWSの知識がないと難易度が高い。
・レンタルサーバに比べて、それほど費用メリットはない。(ディスクをもっと削れば費用削減できる)
・EC2は稼働時間での課金だけど、EBSはどうしても恒常的に費用が発生する。
感想
今回、AWSでFiveMサーバを構築したが、もともとアカウントを持っていたのと、別ゲームでも同様のことをしていたので、簡単に実装することができた。
はじめてOrganizationsを使ったが、使ってみると管理かかなり楽であるのと、スイッチロールでメインのアカウントから簡単に操作できるので、最初の手間はあれど運用する上では便利だった。
今後は、scriptsの開発の記事なども作成していこうと思います。(記事を記載時点で3つほど開発済み)