Successfully reported this slideshow.
Your SlideShare is downloading. ×

20200923 inahata

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 55 Ad

20200923 inahata

Download to read offline

2020/09/23(水)
某オンラインゲーム会社説明会をAzure上で構築した話【ビヨンド勉強会#28】

株式会社ビヨンド
システムソリューション部 稲畑萌子
「未経験エンジニアが某オンラインゲームを構築した話」

2020/09/23(水)
某オンラインゲーム会社説明会をAzure上で構築した話【ビヨンド勉強会#28】

株式会社ビヨンド
システムソリューション部 稲畑萌子
「未経験エンジニアが某オンラインゲームを構築した話」

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to 20200923 inahata (20)

Advertisement

More from 株式会社ビヨンド (20)

Recently uploaded (20)

Advertisement

20200923 inahata

  1. 1. 未経験エンジニアが マイクラサーバを構築した話 株式会社ビヨンド 稲畑 萌子
  2. 2. 自己紹介 株式会社ビヨンド システムソリューション部 2020年1月入社 前職は化粧品販売 稲畑 萌子
  3. 3. 趣味 音楽鑑賞・ライブ(バンド) GLAY L’Arc~en~Ciel ゲーム実況鑑賞 狩野英孝Youtuber: 普段の業務 サーバ運用、構築
  4. 4. 目次 マイクラサーバとは 構築することになった経緯 Azureコンソール上での操作 コマンドライン操作 おまけ まとめ 構成・Azureの仕組み(概要)
  5. 5. 目次 マイクラサーバとは 構築することになった経緯 Azureコンソール上での操作 コマンドライン操作 おまけ まとめ 構成・Azureの仕組み(概要)
  6. 6. マイクラサーバとは マイクラは3タイプある マルチプレイをするには サーバを立てる必要がある 難しそう・・・ Java版 統合版 PS4版 自分で構築 テンプレートのある レンタルサーバを利用 自宅PCサーバ クラウドサーバ Minecraft Realms Atemos ConoHa VPS さくらのVPS サーバの用意方法
  7. 7. 目次 マイクラサーバとは 構築することになった経緯 Azureコンソール上での操作 コマンドライン操作 おまけ まとめ 構成・Azureの仕組み(概要)
  8. 8. 構築することになった経緯 「無謀かもしれんけど・・・ やってみない?」 当時の私 事前に必要なこと IT未経験で入社して1か月 資格 AWS Cloud Practitioner AWS Solution Architect Associate LPIC 101 サーバ構築経験 AWSコンソールポチポチ LAMP環境構築 MOJANGアカウント作成 Minecraft Client ダウンロード https://www.minecraft.net/ Java Edition ¥3,000 マイクラ公式サイトから行えます
  9. 9. 目次 マイクラサーバとは 構築することになった経緯 Azureコンソール上での操作 コマンドライン操作 おまけ まとめ 構成・Azureの仕組み(概要)
  10. 10. 構成・Azureの仕組み(概要) サブスクリプション作成 仮想ネットワーク(Vnet)作成 セキュリティグループ設定 リソースグループ作成 仮想マシン(VM)作成 Vnet Public Subnet VM (CentOS8.2+OpenJDK11.0.8) SSH (22) Minecraft (25565) Administrator Player Azure Active Directory Subscription Resource Group リソースを整理する箱 課金請求、上限値、各種申請の単位 課金ユーザーID認証基盤
  11. 11. Azureコンソールの操作:サブスクリプション作成 サブスクリプション(請求の単位)を作成
  12. 12. 今回は無料試用版を使用 新規作成はこちらから Azureコンソールの操作:サブスクリプション作成
  13. 13. リソースを整理しておく箱を作成していきます Azureコンソールの操作:リソースグループ作成
  14. 14. 新規作成 Azureコンソールの操作:リソースグループ作成
  15. 15. 今回タグは付けないので作成に進みます 先程作成したサブスクリプションを選択 何処でもOK Azureコンソールの操作:リソースグループ作成
  16. 16. リソースグループはこれで完成! Azureコンソールの操作:リソースグループ作成
  17. 17. Azureコンソールの操作:仮想ネットワーク作成 プライベートネットワークを作成していきます
  18. 18. 新規作成 Azureコンソールの操作:仮想ネットワーク作成
  19. 19. 作成済のものを選択 Azureコンソールの操作:仮想ネットワーク作成 基本の設定です リソースグループに合わせる
  20. 20. Azureコンソールの操作:仮想ネットワーク作成 IPアドレスの設定です VnetのIPアドレス範囲 サブネットのIPアドレス範囲
  21. 21. Azureコンソールの操作:仮想ネットワーク作成 今回はデフォルトで大丈夫です
  22. 22. Azureコンソールの操作:仮想ネットワーク作成 仮想ネットワークが完成!
  23. 23. Azureコンソールの操作:Virtual Machine作成 いよいよVirtual Machineです
  24. 24. Azureコンソールの操作:Virtual Machine作成 新規作成
  25. 25. Azureコンソールの操作:Virtual Machine作成 基本設定です 作成済のものを選択
  26. 26. Azureコンソールの操作:Virtual Machine作成 適宜必要なイメージ・サイズに変更してください リソースグループ、Vnetに合わせる サイズ参考 普段:Standard B1ms (1 vCPU 2GB メモリ) 説明会・交流会時:Standard A4 v2 (4 vCPU 8GB メモリ) ※最多26人参加
  27. 27. Azureコンソールの操作:Virtual Machine作成 受信ポートはフルオープンになってしまうため後で設定 デフォルトはazureuser デフォルトはVM名_key SSH、HTTP、HTTPSから選択可能
  28. 28. Azureコンソールの操作:Virtual Machine作成 適宜必要な種類を選択してください Standard HDD Standard SDD から選択 Premium SDD
  29. 29. Azureコンソールの操作:Virtual Machine作成 デフォルトでOK
  30. 30. Azureコンソールの操作:Virtual Machine作成 ネットワーク設定です 作成済のものを選択 新規作成から変更可
  31. 31. Azureコンソールの操作:Virtual Machine作成 基本設定同様、受信ポートは後で設定
  32. 32. Azureコンソールの操作:Virtual Machine作成 詳細・タグは今回は必要ないのでとばします
  33. 33. Azureコンソールの操作:Virtual Machine作成 仮想ネットワークが完成!
  34. 34. Azureコンソールの操作:セキュリティグループ設定 まず22番接続が出来るよう設定します
  35. 35. Azureコンソールの操作:セキュリティグループ設定 ご自身のIPを設定してください
  36. 36. Azureコンソールの操作:セキュリティグループ設定 Minecraft専用ポート(25565番)を今回はフルオープンします
  37. 37. 目次 マイクラサーバとは 構築することになった経緯 Azureコンソールの操作 コマンドライン操作 おまけ まとめ 構成・Azureの仕組み(概要)
  38. 38. コマンドライン操作:構築の流れ OpenJDKインストール Jarファイルのインストール サービス起動化 動作確認 OpenJDK (Java SE Development Kit) とは・・・ JavaVMやコンパイラなどJava SEに基づいたソフトウェアを開発するための ソースコードを含んだオープンソースパッケージ
  39. 39. コマンドライン操作:openJDKインストール [root@minecraft-server ~]# yum search openjdk Last metadata expiration check: 0:06:58 ago on Sun 13 Sep 2020 10:25:13 AM UTC. ================Name & Summary Matched: openjdk =============== java-11-openjdk-demo.x86_64 : OpenJDK Demos 11 (略) java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in single archive ================Summary Matched: openjdk =============== Checking latest OpenJDK Installing latest OpenJDK Checking Java version [root@minecraft-server ~]# yum install java-11-openjdk [root@minecraft-server ~]# java --version openjdk 11.0.8 2020-07-14 LTS OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing) OpenJDKの最新バージョンを確認
  40. 40. https://www.minecraft.net/ja-jp/download/server サーバへSCPする Minecraft公式サイトからサーバ起動用の最新ファイルをダウンロード出来ます コマンドライン操作:Jarファイルのインストール
  41. 41. [root@minecraft-server ~]# mkdir /var/minecraft Make Minecraft Directory [root@minecraft-server minecraft]# ll Check jar file Rename jar file total 37056 -rw-r--r--. 1 root root 37942337 Sep 13 11:40 minecraft_server.1.16.3.jar このディレクトリにserver.jarを持ってくる [root@minecraft-server ~]# cd /var/minecraft [root@minecraft-server ~]# cp /home/adminuser/server.jar /var/minecraft/ server.jarがあることを確認 [root@minecraft-server minecraft]# mv server.jar minecraft_server.1.16.3.jar [root@minecraft-server minecraft]# ll total 37056 -rw-r--r--. 1 root root 37942337 Sep 13 11:40 server.jar minecraft_server.1.16.3.jar にリネームされたことを確認 コマンドライン操作:Jarファイルのインストール
  42. 42. https://www.minecraft.net/ja-jp/download/server アプリケーション起動コマンド コマンドライン操作:Jarファイル起動
  43. 43. [root@minecraft-server minecraft]# vi minecraft.sh #!/bin/sh java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.3.jar nogui Starting script [root@minecraft-server minecraft]# chmod o+x minecraft.sh total 37060 -rw-r--r--. 1 root root 37942337 Sep 13 11:40 minecraft_server.1.16.3.jar -rw-r--r-x. 1 root root 73 Sep 13 11:45 minecraft.sh Change permission [root@minecraft-server minecraft]# ./minecraft.sh [12:10:40] [main/ERROR]: Failed to load properties from file: server.properties [12:10:40] [main/WARN]: Failed to load eula.txt [12:10:40] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info. Start script first time [root@minecraft-server minecraft]# ll /var/minecraft/ total 37068 -rw-r--r--. 1 root root 181 Sep 13 12:10 eula.txt -rw-r--r--. 1 root root 37942337 Sep 13 11:40 minecraft_server.1.16.3.jar -rw-r--r-x. 1 root root 74 Sep 13 12:08 minecraft.sh [root@minecraft-server minecraft]# vi eula.txt #By changing the setting below to TRUE you are indicating your agreement to our EULA. #Sun Sep 13 12:10:40 UTC 2020 eula=true Edit eula.txt 起動コマンドをスクリプト化 実行権を付与 初回は必ず失敗 eula.txtが出現していることを確認 true (同意) に変更 EULA =ソフトウェア利用許諾契約 コマンドライン操作:Jarファイル起動
  44. 44. [root@minecraft-server minecraft]# ./minecraft.sh [12:12:21] [main/INFO]: Environment: authHost='https://authserver.mojang.com’, accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com’, name='PROD' (略) [12:13:28] [Server thread/INFO]: Done (58.046s)! For help, type "help" /stop [12:14:54] [Server thread/INFO]: Stopping the server [12:14:54] [Server thread/INFO]: Stopping server [12:14:54] [Server thread/INFO]: Saving players [12:14:54] [Server thread/INFO]: Saving worlds [12:14:54] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld [12:15:02] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [12:15:02] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether [12:15:02] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [12:15:02] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end [12:15:02] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [12:15:02] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [12:15:02] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [12:15:02] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved Start script second この後サービス起動設定を行うため 起動が完了しFor help, type “help”と出たら /stopと打ち一旦アプリを終了させる コマンドライン操作:Jarファイル起動
  45. 45. Add system Reflect system [root@minecraft-server minecraft]# systemctl daemon-reload Auto start setting [root@minecraft-server system]# systemctl enable minecraft_server Check Setting [root@minecraft-server system]# systemctl is-enabled minecraft_server enabled systemdの設定を反映させる ユニット定義ファイルを作成 [root@minecraft-server minecraft]# vi /etc/systemd/system/minecraft_server.service [Unit] Description=Minecraft Server After=network-online.target [Service] ExecStart=/bin/bash /var/minecraft/minecraft.sh WorkingDirectory=/var/minecraft/ Restart=always User=minecraft Group=minecraft [Install] WantedBy=multi-user.target :このユニットより 先に起動すべきユニット :プロセス停止時の再起動条件 :enable時にどのユニットを前提とするか .wantsディレクトリにリンクを貼る 【ユニットタイプに依存しない設定】 【enable/disableコマンドの動作に影響する設定】 【タイプ固有の設定】 コマンドライン操作:サービス起動化
  46. 46. Start Minecraft App [root@minecraft-server system]# systemctl start minecraft_server [root@minecraft-server system]# systemctl status minecraft_server ● minecraft_server.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft_server.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2020-09-13 12:32:33 UTCx; 6s ago Main PID: 53205 (bash) Tasks: 14 (limit: 21612) Memory: 426.6M CGroup: /system.slice/minecraft_server.service tq53205 /bin/bash /var/minecraft/minecraft.sh mq53206 java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.3.jar nogui Sep 13 12:32:33 minecraft-server systemd[1]: Started Minecraft Server. Check status Check process [root@[root@minecraft-server system]# ps auxwwf | grep [m]inecraft minecra+ (略) /bin/bash /var/minecraft/minecraft.sh minecra+ (略) ¥_ java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.3.jar nogui コマンドライン操作:サービス起動化
  47. 47. コマンドライン操作:動作確認 マルチプレイへ進んでください
  48. 48. コマンドライン操作:動作確認 サーバーを追加からパブリックIPとサーバ名を登録し、サーバーに接続しましょう アンテナ立ったらOK!
  49. 49. コマンドライン操作:動作確認 そわそわ、、、
  50. 50. コマンドライン操作:動作確認 いけたーーーーーーーーーー!!!!!!!!!!
  51. 51. 目次 マイクラサーバとは 構築することになった経緯 Azureコンソールの操作 コマンドライン操作 おまけ まとめ 構成・Azureの仕組み(概要)
  52. 52. おまけ:ホワイトリスト設定 知らない人が勝手にサーバに入ってくることを防ぐ ホワイトリスト: 勿論クラウドのファイアーウォールでIP制御してもOK whitelist on whitelist add [ユーザー名] whitelist.jsonでも確認出来る 操作方法 (Minecraft Server /Minecraft Client) whitelist remove [ユーザー名] whitelist off whitelist list whitelist reload ※ Minecraft Clientの場合は 左記コマンドを実行 ワールドにログイン状態で /をクリックすると チャットが開く
  53. 53. 目次 マイクラサーバとは 構築することになった経緯 Azureコンソールの操作 コマンドライン操作 おまけ まとめ 構成・Azureの仕組み(概要)
  54. 54. まとめ ゲームが好きな人、マイクラに興味がある人 Azureを触ったことの無い人 サーバ構築経験の無い人、浅い人 自分の構築したサーバ上で遊べる経験から サーバ構築の楽しさを感じることが出来た 想像していたよりも遥かに簡単に出来た だけでなく
  55. 55. ご清聴ありがとうございました マイクラサーバとは 構築の経緯 Azureコンソール操作 コマンドライン操作 豆知識 まとめ 構成・Azureの仕組み 株式会社ビヨンド 稲畑 萌子

×