0
0

AWSでFiveMのテストサーバを作ってみた

Last updated at Posted at 2024-09-16

FiveMのテストサーバについて

FiveMでscriptsの開発を実施することになり、常に使うわけではないため、従量課金であるAWSを利用することにした。(メインのアカウントもあるので)
今回は、Organizationで管理しながら、FiveM用の専用アカウントを作成し、その上で、EC2を構築した。
費用を下げるために、スポットインスタンスを利用してコスト削減も実施。

構成の概要図

image.png

スペック

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が削除されてしまいます。
(休止は制約があるので停止が無難)

スクリーンショット 2024-09-16 7.16.15.png

なお、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つほど開発済み)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0