2024.12.03
企業の情報漏えいで最も多いのは「中途退職者」による持ち出し 内部不正が発生しやすい3つの要素
提供:株式会社テクロス
リンクをコピー
記事をブックマーク
吉田英世氏(以下、吉田):続いて、GameLiftのご紹介をしたいと思います。
GameLiftはマルチプレイヤーのオンラインゲームをホスティングするサービスです。それ以外のゲームには、ユースケースとしては当たらないケースが多いです。
プレイヤーがたくさん集まってマッチメイキングして、そのあとにルームに振り分けられて、そこでプレイする、最近よくあるゲームですね。こうしたタイプのゲームに非常に相性が良く、そのために作られたマネジメントサービスです。
このようにオンラインゲームのいろいろな構成の中で、マッチメイキングとそのあとのゲームサーバーを、マネージドサービスとして提供しています。
実際の図がこちらになります。
この紫のところがGameLiftのコンポーネントです。真ん中がGameLiftのサービスエンドポイントになっております。そのサービスのエンドポイントに、ユーザーのセッションのリクエスト、「ゲームに参加したい」というリクエストを送っていただきます。そのあとにキューというものがございまして、キューにユーザーをリクエストをどんどん振り分けて入れていきます。
キューに入れたあとは、どのサーバーに振り分けるかという処理を行います。その後ろには、実際にゲームが動く「フリート」と言われるコンポーネントがございます。ここでお客様が作ったゲームのプロセスが動くサーバーの集まりになります。
そのサーバーの集まりを、例えばノースバージニアやフランクフルト、あとはシンガポールなどの国に分かれて、マルチリージョンでゲームのセッションを振り分けることができます。振り分けられたあとは、ユーザーがフリートに直接接続します。
今回の話は、フリートについてです。フリートがゲームサーバーというかたちで実際にインスタンスが立ち上がるものなんですが、そのEC2インスタンスのフリートの価格をどうやって下げるか、ということをご紹介したいと思います。
ユーザーさんが実際に作ったビルドという単位でゲームのプロセスを作っていただいて、それをサーバーに乗せて、サーバーが何台必要なのか、ゲームのセッションの数によってどれだけ増やすかをマネジメントする機能になっております。
こちらはインスタンスタイプやリージョン、どのようにサーバーを増やすかというポリシーなど、いろいろなパラメータを設定できます。
そのフリートの中では、スポットフリート使うことができます。こちらも先ほどご説明したとおり、EC2のフリートと同じように、スポットインスタンスをどのように組み合わせるかという設定ができます。その機能を提供しているのが、FleetIQという機能です。こちらが1つ、専用のポイントになっているのですが、非常に賢い機能です。
例えばオンデマンドのフリートが1つとスポットのフリートが2つあったとします。こちらがc4のx largeのスポットフリートで、こちらはc4のlargeのフリートですね。値段は若干x largeが高いんですが、4つのゲームサーバーが立ち上がります。ということは、ゲームサーバーあたりのコストが一番低いのはこれですよね。
あと、もう1つポイントがありまして、「frequency of interaction」というパラメータがあるんですが、こちらはGameLift自身が、どのインスタンスタイプが落ちやすいかをずっと裏でトラッキングしています。そのトラッキングした結果をデータベースの中で持っていて、2つの指標、インスタンス単位、ゲームサーバー単位のプロセスあたりの間隔が一番低くて、かつインタラクションのレートが一番低いものに対して、ゲームセッションを優先的に振り分けることができるサービスになっています。
こちらがフリートのご説明でした。
コストとはあまり関係ないところなんですが、最近GameLiftのリアルタイムサーバーが発表されました。
これまでGameLiftを使うにあたって、GameLift上でゲームサーバーを立てるときはゲームサーバーのプロセス自体はお客様にC++であるとかC#で書いていただく必要がありました。
それをマネージドというかたちでNode.jsでAWSでサーバーを用意して、お客様はJavaScriptを書くだけでゲームサーバーを立ち上げることができる、という機能ができました。
こちらに書いてあるとおりNode.jsベースで、ステートフルとステートレスの両方に対応しております。TCP/UDP対応ということで、比較的自由にすることができます。こちらを少しご紹介させていただきます。まず大切なことなんですが、リアルタイムサーバーにおすすめのゲームのジャンルがございます。
こちらに挙げさせていただいたのは、カードゲームやモバイルマッチ、ターンベースですね。こちらのゲームで使っていただくのがおすすめです。事前にソリューションアーキテクトにご相談いただければ、検証にもご協力させていただきます。
スクリプトはこのようになっています。
ユースケースとしては、簡単なゲームサーバーロジックができるということと、プレイヤーの確認やチート検出、あとはペアメッセージということで、接続されたプレイヤーに対してメッセージングをやり取りすることができます。こちらはぼやけていて申し訳ないんですが、こうしたJavaScriptで定義していただくかたちになります。
実際にJavaScriptをローカルで書いていただいて、それをzipで固めて、GameLiftに置いていただく。それ自体がゲームサーバーのプロセスになりますので、それを先ほどご紹介したフリートにどんどん立ち上げていく、という手順になります。
クライアントのSDKも出させていただいておりまして。現在C#をサポートしておりまして、こちらはUnityを想定しているんですが、Unityでロードすることができます。
実際の画面もご覧いただければと思うのですが、これがGameLiftの画面です。トップページでメトリクスを見ることができるんですが、ダッシュボードではフリートの状況を見ることができます。
スポットインスタンスを薦めておきながらオンデマンドでフリートを立ち上げているのですが、1つのEC2のサーバーが立ち上がっている状況です。その中で、現在メトリクスで1つのゲームが立ち上がっています。
GameLiftの用法ですが、ゲームセッション=ユーザーが遊ぶゲームのルーム、みたいな感じですね。あとはプレイヤーセッションといって、プレイヤーが実際にゲームセッションにつながるセッションという2つの手法があります。こちらはゲームセッションということで、フリートの中にルームというか、ゲームセッションができているかも見ることができます。
こちらはサンプルコードのNode.jsになります。コメントが入ってるので行数が長いですが、非常にシンプルですね。サンプルコード自体はWebに上がってるので、見ていただければと思います。
こちらをローカルのエディタで書いていただいて、それをzipで上げていただいて、先ほどのフリートに入れて立ち上げるように設定するかたちになります。
こちらがGameLiftのご紹介になります。GameLiftはやっぱりスポットインスタンスも使えるので、そちらを使っていただいてゲームサーバーのコストを下げていただければと考えております。
最後に、EC2のチューニングをさらっとご紹介させていただきます。
ご存知のとおり1つのサーバーあたりで処理できる数が多ければ、単位あたりのコストが下がって、全体的なコストが下がります。
AWSは実は、ゲーム向けのパフォーマンスチューニングの資料を出していますので、参照いただければと思います。インスタンスのタイプが古めなんですが、OSやネットワーク周りのチューニングなど、ゲームに沿って非常に参考になることが多く書かれているので、こちらを見ていただきたいと思います。
あとは参考になるのが、re:Invent2018にEC2のパフォーマンスチューニングのセッションがあり、最新のNitroシステムのチューニングの話もしております。
こちらの基本だけご紹介したいと思います。
EC2にはいろいろなインスタンスタイプがありますが、ここで強調したいのは先ほど申し上げた、最新のハイパーバイザであるNitroを使っていただくことをおすすめしております。
理由は、非常にパフォーマンスがいいからです。C4とC5を比べて倍のパフォーマンスが出た実績もございます。例えばC4を2台でやっていたことをC5を1台でまなかえるケースもあるので、結果的にコストが下がるということをお客様に体感していただいています。
私のお客様でも、C4でゲームサーバー立ち上げてそれをC5にリプレイスすることで台数が7割ぐらいになって、コストがかなり下がった事例もありますので、ぜひ新しいインスタンスタイプを試していただければと思います。
あとは新しいインスタンスタイプを試すのは当然ですが、カーネルを新しいものにしていただくことも必要だと思っております。こちらで40パーセント以上のパフォーマンスのインプルーブメントがあります。
また、NVMeと言われるディスクのドライバーというかテクノロジーなんですが、これが搭載されているOSやインスタンスタイプがあるので、それを使っていただくだけで非常に高いパフォーマンス性能を出すことができます。
あとはCPU、メモリ、ネットワーク、ディスクといった観点でいくつか非常に細かい内容を掲載させていただいておりますので、のちほど見ていただければと思います。
1つだけ申し上げたいのが、クロックソースについてです。クロックソースとは、時間を取得するコンポーネントというか機構です。この設定を、もし古いインスタンスタイプを全台で使っていただいているのであれば、そちらをtscというタイプに変えていただくだけでパフォーマンスがよくなった事例が多く出ておりますので、こちらもチェックしていただければと思います。
まとめに入らせていただきます。今回、ゲームサーバーのコストをいかに安く使っていただくかということで、3つご紹介しました。
まずはスポットインスタンスをご活用いただき、どのように使えばいいかはソリューションアーキテクトにご相談いただければ、ワークロードに応じていろいろなご提案ができますので、まずご相談いただければと思います。
次にGameLiftは、マルチプレイオンラインゲームをお考えのときにはご検討いただければと思います。本当に便利なサービスで、コストもかなり落ちるので、ぜひここをやっていただければと思います。EC2チューニングも、ぜひやっていただければと思います。
最後に告知です。Amazonでは「Game Tech Night」というゲームのイベントも開催しておりまして、8月21日に機械学習のイベントも開催しますので、ぜひご参加いただければと思います。9月にはお客様を集めてLT大会を開催するので、登壇されたいという方はお声がけいただければと思います。
では、以上になります。どうもご清聴ありがとうございました。
(会場拍手)
司会者:吉田様、どうもありがとうございました。ここでご質問をお受けしていきたいと思いますので、ご質問のある方は挙手をお願いします。
(会場挙手)
質問者2:GameLiftでスポットインスタンスが使えるって話がありましたが、GameLiftを介してクライアントから接続して、クライアントに対して最終的にはDSRみたいなかたちで返すんですよね?
吉田:そうです。おっしゃるとおりです。
質問者2:そのときはスポットインスタンスなので……クライアントからのレスポンスを返すほうはスポットインスタンスの対象になってるんですか?
吉田:仕組みとしては、マッチメイキングしたあとに「このサーバーに入りなさい」っていうのをゲームクライアントに返して、そのゲームクライアントが直接刺さりに来るのがスポットインスタンスです。そのスポットインスタンスがどうか、っていうことですね。
質問者2:スポットインスタンスはその前段のところかなと思ったんですけど。
吉田:それはもうAWSのマネージドサービスなので、お客様が触っていただく必要はなくて、管理していただくのは、クライアントが直接接続するサーバーだけになってます。
質問者2:わかりました、ありがとうございます。
質問者3:GameLiftで、ロジックをNode.jsで書けるとおっしゃられていましたが、ほかの言語の対応予定やそういった声は聞いたりしますか?
吉田:あります。例えばどんな言語がいいですか?
質問者3:個人的にはコンパイル言語ですね。型がちゃんとしてるものが好きで。
吉田:今だとC++は書けるんですけど。
質問者3:あっ、C++は書けるんですね。
吉田:C++とC#はあります。やはりライトに使いたいというお客様はけっこうおられて、例えば本当に設定だけで、リレーだけしかしないので設定だけでいい、みたいなお客様もわりといらっしゃいます。そういう方向けに出させていただいた、というかたちになります。
質問者3:わかりました。
吉田:ほかの言語も一応、考えているみたいでして、どんな言語がいいかいただければ、のちのち回収いたします(笑)。
(会場笑)
司会者:これはチャンスですね(笑)。
吉田:チャンスです、はい(笑)。
司会者:以上で懇親会に移りたいと思います。吉田様、ありがとうございました。
(会場拍手)
株式会社テクロス
2024.11.26
タスクの伝え方が部下のモチベーションを左右する マッキンゼー流、メンバーが動き出す仕事の振り方
2024.11.25
仕事はできるのに、なぜか尊敬されない人が使いがちな言葉5選 老害化を防ぐために大切な心構えとは
2024.11.27
何もせず月収1,000万円超…オンラインゲームにハマって起こした事業 大学中退し4社立ち上げ・2社売却した起業家人生
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.11.25
論理的に「詰める」マネジメントでは本質的な解決にならない マッキンゼー流、メンバーの理解と納得を得る接し方
2024.11.28
管理職の「疲弊感」がメンバーに伝わるリスク 部下の「働きがい」を育む6つのポイント
2024.11.27
部下に残業させられず、自分の負担ばかり増える管理職 組織成長のカギを握る「ミドル層」が抱える課題
2024.11.27
仕事中の「今ちょっといいですか」が苦痛… いしかわゆき氏が語る、ADHD気質にマッチした働き方のヒント
2024.11.26
仕事の質を左右する「ムダな習慣」トップ5 忙しくなる前に棚卸ししたい“やめたほうがいいこと”とは
2024.11.28
“新規事業が生まれない組織”に足りていないもの 「PoC貧乏」に陥らず、アイデアを形にするためのヒント
長期投資の衝撃の真実!20年投資しても年率1.9%しか増えない!?
2024.10.04 - 2024.10.04
第765回 トレンド経営学『顧客に謝る基準とは?』
2022.04.18 - 2022.04.18
不機嫌な自分をやめるために!認知行動療法の専門家 中島美鈴先生新刊『脱イライラ習慣! あなたの怒り取扱説明書』発売記念【無料オンラインイベント】
2024.10.25 - 2024.10.25
ログミーBusiness リニューアル記念イベント開催
2024.11.29 - 2024.11.29
品がある人、育ちがいい人の見える 人のセリフ 3選
2022.11.30 - 2022.11.30