82
Azure で Minecraft でででで JAZUG でででで でで 2015/07/11

Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1

Embed Size (px)

Citation preview

Azure で Minecraft サーバー

JAZUG 札幌支部 松田2015/07/11

Copyright© 2015, JAZUG All Rights Reserved.

2

自己紹介

JAZUG 札幌支部のスタッフ札幌でソフトウェア作るお仕事ほんのちょっとだけ変かもしれないけど、普通の人

Twitter:@DarkCrash3Facebook:yasuaki.matsuda.75

Copyright© 2015, JAZUG All Rights Reserved.

3

きたあずの紹介

■ 正式名称Japan Azure User Group 札幌支部

■ 活動概要Cloud にちょっと興味のあるゆるふわな方から 実ビジネスで使用される方まで学べる勉強会を開催しています。

■Web サイトhttp://kitaazu.azurewebsites.net/

きたあずちゃん(@kitaazu_chan)

Copyright© 2015, JAZUG All Rights Reserved.

4

Microsoft Azure 豊富なサービス

Copyright© 2015, JAZUG All Rights Reserved.

5

Microsoft Azure 豊富なサービス

Copyright© 2015, JAZUG All Rights Reserved.

6

Minecraft って?軽く紹介。軽く

Copyright© 2015, JAZUG All Rights Reserved.

7

Minecraft

『 Minecraft 』(マインクラフト)は、 Notch (マルクス・ペルソン)とその会社 (Mojang AB) の社員が開発したサンドボックスゲームである。ブロックを空中や地面に配置し、自由な形のものを作っていくゲームである。シングルプレイやマルチプレイがあり、日本語圏では『マイクラ』という略称で呼ぶこともある。

ウィキペディア (Wikipedia): フリー百科事典「 Minecraft 」より引用

Copyright© 2015, JAZUG All Rights Reserved.

8

Minecraft スクリーンショット

Copyright© 2015, JAZUG All Rights Reserved.

9

Minecraft Official Movie

Copyright© 2015, JAZUG All Rights Reserved.

10

Minecraft の生活

3 種類のゲームモード。一つはサバイバルモード、実生活っぽい要素がある。一つはクリエイティブモード、ひたすら建造物を作る。一つはアドベンチャーモード、冒険。

 (初期はクリエイティブモードしかなかったらしい。)

Copyright© 2015, JAZUG All Rights Reserved.

11

Minecraft の生活(サバイバル)

資源集め 道具

作り

ブロック設置

戦い!食べる寝る栽培繁殖

Copyright© 2015, JAZUG All Rights Reserved.

12

Minecraft の生活(資源集め)

Copyright© 2015, JAZUG All Rights Reserved.

13

Minecraft の生活(道具作り)

Copyright© 2015, JAZUG All Rights Reserved.

14

Minecraft の生活(ブロック設置)

Copyright© 2015, JAZUG All Rights Reserved.

15

Minecraft の生活(戦い!)

Copyright© 2015, JAZUG All Rights Reserved.

16

Minecraft の生活(食べる)

Copyright© 2015, JAZUG All Rights Reserved.

17

Minecraft の生活(寝る)

Copyright© 2015, JAZUG All Rights Reserved.

18

Minecraft の生活(栽培)

Copyright© 2015, JAZUG All Rights Reserved.

19

Minecraft の生活(繁殖)

Copyright© 2015, JAZUG All Rights Reserved.

20

Minecraft の生活(クリエイティブ)

ブロック設置

Copyright© 2015, JAZUG All Rights Reserved.

21

Minecraft の生活(クリエイティブ)

Copyright© 2015, JAZUG All Rights Reserved.

22

Minecraft の生活(クリエイティブ)

Copyright© 2015, JAZUG All Rights Reserved.

23

マルチプレイ

マルチプレイ(複数人で一つの世界)できる。個人でマルチプレイサーバーを建てることができる!クライアントでサーバーとして動かすこともできる!クライアントなしの専用サーバーとして動かすこともできる!

Copyright© 2015, JAZUG All Rights Reserved.

24

公式サイトからダウンロード可能

Copyright© 2015, JAZUG All Rights Reserved.

25

Minecraft のお値段

Copyright© 2015, JAZUG All Rights Reserved.

26

Microsoft による買収

2014 年 9 月 15 日、 Microsoftによる Mojang AB とMinecraft フランチャイズの買収が発表された。買収額は 25億ドル。この買収に伴い、マルクス・ぺルソンをはじめとする Mojang AB 創設者の 3 人が退社する

ウィキペディア (Wikipedia): フリー百科事典「 Mojang 」より引用

Copyright© 2015, JAZUG All Rights Reserved.

27

Microsoft AzureMinecraft Azure? Microsoft Azure?

やりすぎ、疲れ目にご注意

Copyright© 2015, JAZUG All Rights Reserved.

28

Microsoft 提供の仮想マシン

Copyright© 2015, JAZUG All Rights Reserved.

29

Preview ポータルより

Copyright© 2015, JAZUG All Rights Reserved.

30

Bitnami 、コミュニティ提供など

Copyright© 2015, JAZUG All Rights Reserved.

31

DEMOデプロイしてみたい?してみる?してみよう\(’ -’ )/\( *’-’* )/\(’ -’ )/

Copyright© 2015, JAZUG All Rights Reserved.

32

おさらい

Preview ポータルを開いた+新規を選び→ Marketplaceフィルターに「 minecraft 」と入力したMinecraft Server を選んで→作成ホスト名、ユーザー名、パスワードを任意で入力価格レベルは BasicA1 、場所は東日本作成・・・待つ

Copyright© 2015, JAZUG All Rights Reserved.

33

Microsoft 提供のもの

仮想マシン作成Ubuntu Server 14.04 LTS

カスタムスクリプトinstall_minecraft_ubuntu.sh

Copyright© 2015, JAZUG All Rights Reserved.

34

何をやってるのか調べてみた

Copyright© 2015, JAZUG All Rights Reserved.

35

スクリプト覗いてみましょう1while ! echo y | sudo apt-get install -y software-properties-common; do sleep 10 sudo apt-get install -y software-properties-commondonewhile ! echo y | sudo apt-add-repository -y ppa:webupd8team/java; do sleep 10 sudo apt-add-repository -y ppa:webupd8team/javadonewhile ! echo y | sudo apt-get update; do sleep 10 sudo apt-get updatedoneecho oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selectionswhile ! echo y | sudo apt-get install -y oracle-java7-installer; do sleep 10 sudo apt-get install -y oracle-java7-installerDone

Copyright© 2015, JAZUG All Rights Reserved.

36

スクリプト覗いてみましょう2

sudo adduser --system --no-create-home --home /srv/minecraft-server minecraft

sudo addgroup --system minecraft

sudo adduser minecraft minecraft

sudo mkdir /srv/minecraft_server

cd /srv/minecraft_server

Copyright© 2015, JAZUG All Rights Reserved.

37

スクリプト覗いてみましょう3while ! echo y | sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8/minecraft_server.1.8.jar; do

sleep 10

sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8/minecraft_server.1.8.jar

done

sudo chown -R minecraft /srv/minecraft_server

totalMem=$(free -m | awk '/Mem:/ { print $2 }')

if [ $totalMem -lt 1024 ]; then

memoryAlloc=512m

else

memoryAlloc=1024m

fi

Copyright© 2015, JAZUG All Rights Reserved.

38

スクリプト覗いてみましょう4sudo touch /srv/minecraft_server/eula.txt

sudo sh -c "echo 'eula=true' >> /srv/minecraft_server/eula.txt"

sudo touch /etc/init/minecraft-server.conf

sudo sh -c "echo 'start on runlevel [2345]' >> /etc/init/minecraft-server.conf"

sudo sh -c "echo 'stop on runlevel [^2345]' >> /etc/init/minecraft-server.conf"

sudo sh -c "echo 'console log' >> /etc/init/minecraft-server.conf"

sudo sh -c "echo 'chdir /srv/minecraft_server' >> /etc/init/minecraft-server.conf"

sudo sh -c "echo 'setuid minecraft' >> /etc/init/minecraft-server.conf"

sudo sh -c "echo 'setgid minecraft' >> /etc/init/minecraft-server.conf"

sudo sh -c "echo 'respawn' >> /etc/init/minecraft-server.conf"

sudo sh -c "echo 'respawn limit 20 5' >> /etc/init/minecraft-server.conf"

printf 'exec /usr/bin/java -Xms%s -Xmx%s -jar minecraft_server.1.8.jar nogui' $memoryAlloc $memoryAlloc >> /etc/init/minecraft-server.conf

sudo start minecraft-server

Copyright© 2015, JAZUG All Rights Reserved.

39

要するにこんな感じ

• software-properties-common• リポジトリ追加・更新• oracle-java7-installer

必要なものをインストール

Copyright© 2015, JAZUG All Rights Reserved.

40

自宅サーバーだったら?用意するものとか、電気代とか

Copyright© 2015, JAZUG All Rights Reserved.

41

自宅サーバーだとしたら・・・

インターネット接続環境グローバル IP と TCP ポート 25565サーバーマシン(デスクトップでもいける)OS のセットアップ維持費故障対応ちょっとだけアブノーマルなので刺激に飢えてきた人にとって、これはこれでたのしい!!!と思う

Copyright© 2015, JAZUG All Rights Reserved.

42

電気代(ほくでんより) 2015-07-01

Copyright© 2015, JAZUG All Rights Reserved.

43

電気代(ほくでん) 30 日分予測

50Wのサーバー 100Wのサーバー 150Wのサーバー 200Wのサーバー¥500

¥1,000

¥1,500

¥2,000

¥2,500

¥3,000

¥3,500

¥4,000

¥4,500

¥5,000

847

1,695

2,542

1069.92

2139.84

3209.76

4279.68

1201.32

2402.64

3603.96

4805.28消費電力別、従量電灯料金

最初の 120kWhまで 120kWhをこえ 280kWhまで 280kWhをこえる分

Copyright© 2015, JAZUG All Rights Reserved.

44

ところで、 Azure だと?電気代かかるの?かからないよね。でも、月額料金とかどうなるのか

Copyright© 2015, JAZUG All Rights Reserved.

45

課金の対象となるもの

仮想マシンネットワーク利用( Azure データセンター内は対象外)ストレージアカウント

Copyright© 2015, JAZUG All Rights Reserved.

46

Virtual Machine のサイズ( 1/3 )

Copyright© 2015, JAZUG All Rights Reserved.

47

Virtual Machine のサイズ( 2/3 )

Copyright© 2015, JAZUG All Rights Reserved.

48

Virtual Machine のサイズ( 3/3 )

Copyright© 2015, JAZUG All Rights Reserved.

49

Virtual Machine – Basic A0~ A4

負荷分散なし自動スケールなし

Copyright© 2015, JAZUG All Rights Reserved.

50

Virtual Machine – Standard A0~ A7

負荷分散対応自動スケール対応

Copyright© 2015, JAZUG All Rights Reserved.

51

Virtual Machine - D

負荷分散対応自動スケール対応メモリは A シリーズより多く搭載A シリーズよりちょっと高速な CPU になる・・・らしい。

Copyright© 2015, JAZUG All Rights Reserved.

52

Virtual Machine – そのほか

DS シリーズは、 Premium Storage になっているもの。(早い)G シリーズは、最新 CPU 、大容量メモリ。ただし日本リージョンは今のところなしA8~ A9 は、インテル ® Xeon® E5 プロセッサ、 40Gbit/s InfiniBand ネットワークA10~ A11 は、 A8~9 から InfiniBand ネットワークをなくしたもの

Copyright© 2015, JAZUG All Rights Reserved.

53

Azure Virtual Machine Linux JPY/ 月 (推定 )

0.25コア 1コア 2コア 4コア¥0

¥5,000

¥10,000

¥15,000

¥20,000

¥25,000

¥30,000

¥35,000

1,670 5,23610,473

20,945

1821.316146.93 12293.86

24587.716450.4812900.96

25801.9216240.03

32480.06コア数、シリーズ別

A Basic A Standard D Standard DS Standard

Copyright© 2015, JAZUG All Rights Reserved.

54

課金 ネットワーク

受信は無料送信は最初の 5GB まで無料5 GB - 10.0 TB までは、 ¥14.08/GB (1GB あたり ) 105GB 使ったとしたら、 \1408- (最初の 5GB は無料)一人で使っている分には、最高で一日 100MB程度30 日で 3GB \0- (最初の 5GB は無料)100MB × 10( 人 ) × 30( 日 ) = 30GB \422.4-

Copyright© 2015, JAZUG All Rights Reserved.

55

課金 ストレージアカウント

仮想マシンのディスクとして使います。( PageBlob )請求は、 1 か月あたりの平均容量最初の 1 TB/ 月 までは、 ¥9.69/GB (1GB あたり )30GB の固定サイズなので、 \290.7-

Copyright© 2015, JAZUG All Rights Reserved.

56

課金 まとめ

仮想マシン、 \5236-ネットワーク、 \422.4- ストレージアカウント、 \290.7-

合計、 \5949.1-

Copyright© 2015, JAZUG All Rights Reserved.

57

24時間使わないもうちょっと手軽にならないかなぁと

Copyright© 2015, JAZUG All Rights Reserved.

58

仮想マシン FAQ

http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/#Linux

Copyright© 2015, JAZUG All Rights Reserved.

59

課金  [停止済み ]

デプロイ済みインスタンスが [停止済み] の場合、料金はかかりますか? その可能性があります。 [停止済み (割り当て解除済み )] 状態の場合、料金はかかりません。 [割り当て済みかつ停止済み ] の場合、 ( ソフトウェア ライセンス自体ではなく ) 割り当て済みの仮想コアに料金がかかります。

仮想マシン内部からシャットダウンした場合になる。

Copyright© 2015, JAZUG All Rights Reserved.

60

課金  [停止済み (割り当て解除済み )]

VM を正しく停止したこと、また VM の請求が発生しないことを確認する方法はありますか? お客様の仮想マシンの状態は、 [Virtual Machines] タブ、または VM ダッシュボードで確認できます。 VM の状態が [停止済み ] の場合は、引き続き課金されます。課金されないのは、[停止済み (割り当て解除済み )] の場合のみです。

http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/#Linux

Copyright© 2015, JAZUG All Rights Reserved.

61

課金 仮想マシンタブ

Copyright© 2015, JAZUG All Rights Reserved.

62

課金の時間単位

仮想マシンの実行時間が 1 時間未満だった場合、いくら課金されますか? 仮想マシンの実行時間に対して、分単位で料金がかかります。時間は、 1 時間単位ではなく 1 分単位で四捨五入されます。

・・・ということで 1時間単位を意識してなくても大丈夫。使うときに実行する。使わない時に止める。といった使い方ができる。

Copyright© 2015, JAZUG All Rights Reserved.

63

仮想マシンを計画運用使う時間帯が決まっているなら、自動的に開始と終了をさせてみよう

Copyright© 2015, JAZUG All Rights Reserved.

64

マインクラフトサーバーを使う時間

今回は、娯楽として昼休み時間帯のみ稼働するように!11: 00~ 14: 00 の 3時間運用!

Copyright© 2015, JAZUG All Rights Reserved.

65

起動と停止を自動化 - Runbook

プレビューポータル新規Marketplaceフィルタ「 runbook 」

Copyright© 2015, JAZUG All Rights Reserved.

66

起動と停止を自動化 – Start Azure VMs

Start Azure VMs作成

Copyright© 2015, JAZUG All Rights Reserved.

67

起動と停止を自動化 - Start Azure VMs

Automation アカウント作成その他任意で作成

Copyright© 2015, JAZUG All Rights Reserved.

68

起動と停止を自動化 - AzureAD

Automation 用のユーザー作成一度ログインして、パスワードを設定

Copyright© 2015, JAZUG All Rights Reserved.

69

起動と停止を自動化 – 権限

共同管理者に設定

Copyright© 2015, JAZUG All Rights Reserved.

70

起動と停止を自動化 – 資格情報

Automation アカウントアセット資格情報新しい資格情報AzureAD ユーザーを追加

Copyright© 2015, JAZUG All Rights Reserved.

71

起動と停止を自動化 – スケジュール

Automation アカウントアセットスケジュールスケジュールの追加名前を入力開始日時繰り返し

Copyright© 2015, JAZUG All Rights Reserved.

72

起動と停止を自動化 – 計画

Automation アカウントRunbookStart-AzureVMsスケジュールスケジュールを設定パラメータを構成

Copyright© 2015, JAZUG All Rights Reserved.

73

起動と停止を自動化 – Stop-AzureVMs

Start-AzureVMs と同じ要領で作ります。忘れないように!止まらなくなっちゃいますからね!

Copyright© 2015, JAZUG All Rights Reserved.

74

課金 24時間→ 3時間

仮想マシン、 \5236-仮想マシン、 \654.72-ネットワーク、 \422.4- ストレージアカウント、 \290.7-

合計、 \5949.1-合計、 \1367.82-

Copyright© 2015, JAZUG All Rights Reserved.

75

もし利用者が増えるなら・・・

Copyright© 2015, JAZUG All Rights Reserved.

76

Minecraft サーバーの場合

マインクラフトサーバーは、インメモリでほとんどの処理を行っている。データストアは、ファイルであり競合すれば壊れてしまう。

・・・つまり、単純な負荷分散はできない。

Copyright© 2015, JAZUG All Rights Reserved.

77

スケールアップ

そうしたアプリケーションには、スケールアップ。CPU 、メモリを強化してより多くのユーザーを受け入れれるようにします。

Copyright© 2015, JAZUG All Rights Reserved.

78

おっと、声が聞こえる・・・?

最高を目指してみたい・・・至極の環境を体験してみたい・・・

Copyright© 2015, JAZUG All Rights Reserved.

79

限界に挑戦!

D14 インスタンス!Java に 110GB当ててみたどうなるのかわからない11:00~ 14:00 の限定

 ※ OP なし

Copyright© 2015, JAZUG All Rights Reserved.

80

D14 のお値段

1時間あたり、 ¥240.42-24時間で、  \5,770.08-31 日で、  \178,872.48-

31 日動かしたら、自作マシン 1台作れそうです。( \-\ )

Copyright© 2015, JAZUG All Rights Reserved.

81

補足

きたあずサイトhttps://kitaazu.azurewebsites.net/きたあず Facebook グループ

  https://www.facebook.com/groups/jazugsapporo/Jazug Facebook グループ

https://www.facebook.com/groups/jazug/

Copyright© 2015, JAZUG All Rights Reserved.

82

ご清聴ありがとうございました