【#Minecraft for AWS】EC2インスタンスでMinecraftサーバーを構築 Ver1.19
こんにちは!丸屋 正志(Maruya Masashi) です。
今日もブロックを掘ったり積み上げたり匠に壊されたりしていますか?
1, AWSでMinecraftサーバーを立てる理由
Minecraft自体は、シングルプレイとマルチプレイの両方が出来ます。
個人で遊ぶのであればシングルプレイで問題はありませんが、友人やネットの人達と一緒に遊びたいということはありませんでしょうか?
そういった時に、みんなで遊べる空間(サーバー/場所)があると盛り上がりますよね!
更に、AWSに触れながらMinecraftサーバーを建てたり自動化することにより、より楽しくAWSを学んでいけると思っています。
2, このブログで実施すること
EC2という仮想サーバーのAWSサービスを用いて、Minecraftのサーバーを構築していきます。
- 参考 : Minecraftマルチサーバーの基礎
今回のブログでは、以下の料金が掛かります。
- EC2(サーバー代) : $0.049/時間
- EBS(ストレージ代) : $0.096/GB 月
- 上記以外にもデータ転送量の料金等も掛かります。
3, このブログを進めていく上で事前に必要な物
- Admin権限相当のIAMユーザー
- 前回のブログで作成したVPCのネットワーク環境
- 複数枚のモニターがあると良い(推奨として2枚以上)
- 知らないことを学んでいける方
それでは、やってみよう!
4, EC2インスタンス編
下記のURLから、EC2ページにアクセスし【インスタンスを起動】をクリックします。 (※ 【AWSコンソール】→【EC2】→【インスタンス】→【インスタンスを起動】という手順でも可能です)
名前とタグ
- 『名前』:【Minecraft_Server】
※ 関連のAWSドキュメント「Amazon EC2 リソースのタグ付け」
アプリケーションおよび OS イメージ (Amazon マシンイメージ)
- 『クイックスタート』:【Amazon Linux】
- 『Amazon マシンイメージ(AMI)』:【Amazon Linux 2 AMI (HVM) - Kernel 数字 SSD Volume Type】
- 『アーキテクチャ』:【64 ビット (x86)】
※ 関連のAWSドキュメント「Amazon マシンイメージ (AMI)」
インスタンスタイプ
- 『インスタンスタイプ』:【t3a.medium】
※ 関連のAWSドキュメント「インスタンスタイプ」
キーペア(ログイン)
初回でEC2インスタンスを作成する場合は、SSH接続用の鍵が無いため新規で発行します。 【新しいキーペアの作成】をクリックします。
※ 関連のAWSドキュメント「Amazon EC2 のキーペアと Linux インスタンス」
キーペアを作成
- 『キーペア名』: [Minecraft-key]
- 『キーペアのタイプ』:【RSA】
- 『プライベートキーファイル形式』: 【.pem】(環境によっては.ppkを選択)
上記の内容を入力と選択後に【キーペアを作成】をクリックします。
※ 詳しくは、「【初心者向け】AWSのキーペアタイプとプライベートキーファイル形式について」を参考
上記で作成したキーペアが『キーペア名 - 必須』の中に記載されていることを確認します。
ネットワーク設定
【編集】をクリックします。
- 『VPC - 必須』:【Minecraft-vpc】
- 『サブネット』:【Minecraft-subnet-public1-ap-northeast-1a】
- 『パブリック IP の自動割り当て』:【有効化】
ファイアウォール(セキュリティグループ)
- 【セキュリティグループを作成する】を選択
- 『セキュリティグループ名 - 必須』: [Minecraft-SG]
- 『説明 - 必須』: [Minecraft-SG]
※ 関連のAWSドキュメント「Linux インスタンス用の Amazon EC2 Amazon セキュリティグループ」
セキュリティグループルール1
- ①『ソースタイプ』: 【自分の IP】
- ②【セキュリティグループルールを追加】をクリック
セキュリティグループルール 2
- ③『ポート範囲』: [25565]
- ④『ソースタイプ』:【任意の場所】
ストレージを設定
[10] と入力し、【gp3】を選択します。
概要
『インスタンス数』が [1] となっている事を確認し、【インスタンスを起動】をクリックします。
画面上部にて、『成功』と表示されていることを確認し、その後に【すべてのインスタンスを表示】をクリックします。
※ この画面で失敗やエラー等が出た場合は、選択値などを見直してみてください。
インスタンスのページにて、先程起動したEC2インスタンスの『インスタンスの状態 : 実行中』と『ステータスチェック : 2/2 のチェックに合格しました』になっていることを確認します。
※ 数分待つか、定期的に画面更新をして上記の状態になっていることを確認します。また、エラーが出た場合は、随時調べてみてください。
5, EC2 インスタンスに接続編
これから接続するMinecraftのサーバーIPは、該当EC2インスタンスを選択し『詳細』タブ内の『パブリック IPv4 アドレス』の所に記載されています。
※ 画像を参考に四角いマークをクリックすると簡単にコピーされます。
Windows の場合
下記ブログを参考の『Tera Term』もしくは『Windows Terminal』の導入と接続をしてください。
『Tera Term』
『Windows Terminal』
Mac の場合
Mac標準の【ターミナル】を起動していただき、初めてSSHを使用するという方は、①→②→③と順に進んでください。 既にターミナルを用いてSSHしたことがある方は、②→③と順に進んでください。
① 初めてターミナルのSSH接続を使用した方
# 現在のユーザーで .ssh ディレクトリを作成 $ mkdir ~/.ssh # 所有者に読み・書き・実行権限を付与 $ chmod 700 ~/.ssh
② 既にターミナルのSSH接続を使用したことがある方
# ~/.ssh ディレクトリへ移動 $ mv ~/Downloads/Minecraft-key.pem ~/.ssh/ # 所有者にのみ読み込み権限を付与 $ chmod 400 ~/.ssh/Minecraft-key.pem
③ いざEC2インスタンスに接続
# 作成したインスタンスに SSH 接続 ssh -i ~/.ssh/Minecraft-key.pem ec2-user@【パブリックIPv4アドレス】
6, 各種パッケージのインストール編
EC2インスタンスを立ち上げることが出来ましたら、続いてはシステムのアップデートや必要なパッケージの導入などをしていきます。
# と $ の説明
先頭に「#」 が付いている場合は、説明などになります。 また、先頭に「$」の場合は、実行コマンドとなります。
※ 実行する際は「$」を外した状態で「sudo yum -y update」とだけ入力か貼り付けて実行してください。
# パッケージのアップデート $ sudo yum -y update # correttoのパッケージをインポート $ sudo rpm --import https://yum.corretto.aws/corretto.key # リポジトリファイルのダウンロード $ sudo curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo # 必要なパッケージのインストール $ sudo yum install -y java-18-amazon-corretto-devel git
7, Minecraft サーバー環境構築編
Amazon Linux 2 のデフォルトユーザーである ec2-user 配下にminecraftというディレクトリを作成していきます。
# ディレクトリの作成 mkdir ~/minecraft # ディレクトリの移動 cd ~/minecraft/ # 現在の場所を確認 pwd ==============出力結果============== # pwd を実行後に下記になっていることを確認 /home/ec2-user/minecraft ===================================
Minecraftのサーバーには、『バニラ』/『CraftBukkit』/『Spigot』 と様々な種類がありますが、ここでは将来的にプラグインを利用出来る Spigot というものを使用します。
※ ここではバージョン1.19.3を設定していますが、別バージョンを指定したい場合は『java -jar BuildTools.jar --rev 1.18.2』という形で数字の所を随時変更してください。
<br /># BuildToolsを取得 $ wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar # バージョンを指定してビルド(1.XX.X など) $ java -jar BuildTools.jar --rev 1.19.3 ==============出力結果============== # ビルドには数分ほど掛かるため、気長にお待ちします ~~ Success! Everything completed successfully. Copying final .jar files now. Copying spigot-1.19.3-R0.1-SNAPSHOT-bootstrap.jar to /home/ec2-user/minecraft/./spigot-1.19.3.jar - Saved as ./spigot-1.19.3.jar ===================================
Minecraft サーバーを起動するファイルを作成します。
vi というエディターの簡単の使い方
- i : 入力モードに切替
- Esc : コマンドモードに切替
- :wq : 保存して終了
※ ==追加内容==『#!/bin/sh』は説明ではなく記述してください。
$ vi Minecraft_start.sh ==============追加内容============== #!/bin/sh java -Xmx3500M -Xms2048M -jar /home/ec2-user/minecraft/spigot-1.19.3.jar nogui ===================================
上記で作成したファイルに対して実行権限を付与します。
$ chmod +x Minecraft_start.sh
初めてMinecraftサーバーを起動する際には、EULAに同意する必要があり、一旦停止されます。
EULAに同意の上、生成されたファイル(eula.txt) の [eula=false] から [eula=true] に置換後、再度 【Minecraft_start.sh】 を実行します。
$ sed -i -e "s/eula=false/eula=true/g" eula.txt $ sh Minecraft_start.sh
8, Minecraft サーバー接続編
お使いの Minecraft(Java版) を起動して
- 【マルチプレイ】 を選択
- 【サーバーを追加】 を選択
- EC2インスタンスのパブリック IPv4 アドレスを入力
- 【接続】 を選択
接続を致しますと・・・みんなで遊べる空間が準備出来ました。
9, お片付け編
EC2 インスタンスは起動をしていると料金が発生いたします、そのため使わなくなった場合には削除などをして料金を抑えたいと思います。
EC2 コンソールのインスタンス画面に行きましたら、当該インスタンスを選択し、【インスタンスの状態】から【インスタンスを終了】を選択して、インスタンスを終了(削除)していきます。
10, さいごに
以上で、【Minecraft for AWS】 EC2を用いたMinecraftサーバーの構築方法でした。
次回のブログは作成中です。