Amazon GameLift の仕組み - Amazon GameLift

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon GameLift の仕組み

このトピックでは、ゲーム ホスティングのコアコンポーネントについて説明し、Amazon GameLift がマルチプレイヤー ゲームサーバーをプレイヤーに利用できるようにする方法について説明します。

Amazon GameLift でホスティングするのにゲームの準備はできていますか? Amazon GameLift マネージドホスティングロードマップ を確認してください。

主要コンポーネント

Amazon GameLift を設定してゲームをホストするには次のコンポーネントを扱います。マネージド Amazon GameLift を使用したゲームアーキテクチャ の図は、これらのコンポーネント間の関係を視覚化したものです。

  • ゲームサーバーは、フリートで実行されるゲームのサーバーソフトウェアです。ゲームサーバーのビルドまたはスクリプトを Amazon GameLift にアップロードし、Amazon GameLift に通知します。Amazon GameLift Anywhere または Amazon GameLift FleetIQ を使用する場合は、ゲームサーバービルドをコンピューティングリソースに直接アップロードします。

  • [ゲームセッション] とは、プレイヤーと一緒に進行中のゲームです。有効期間やプレイヤー数など、ゲームセッションの基本特性を定義します。次に、プレイヤーはゲームサーバーに接続してゲームセッションに参加します。

  • ゲームクライアントは、プレイヤーのデバイスで実行されるゲームのソフトウェアです。ゲームクライアントは、Amazon GameLift サービスから受信する接続情報に基づいて、バックエンドサービスを通してゲームサーバーに接続してゲームセッションに参加します。

  • バックエンドサービスは、Amazon GameLift に関連するタスクを処理する追加のカスタムサービスです。ベストプラクティスとして、Amazon GameLift とのすべてのゲームクライアント通信をバックエンドサービスが処理します。

ゲームサーバーのホスティング

Amazon GameLift を使用すると、マネージド Amazon GameLift、Amazon GameLift FleetIQ、Amazon GameLift Anywhere の 3 つの方法でゲームサーバーをホストできます。Amazon GameLift FleetIQ の詳細については、「Amazon GameLift FleetIQ とは」を参照してください。

フリートは、ゲームのニーズに合わせて設計できます。フリートの設計に関する詳細については、「Amazon GameLift フリート設計ガイド」を参照してください。

マネージド Amazon GameLift

マネージド Amazon GameLift を使用すると、インスタンスと呼ばれる Amazon GameLift 仮想コンピューティングリソースでゲームサーバーをホストできます。インスタンスのフリートを作成し、それらをデプロイしてゲームサーバー (カスタムゲームサーバーまたはリアルタイムサーバー) を実行して、ホスティングリソースを設定します。

Amazon GameLift Anywhere

Amazon GameLift Anywhere を使用すると、管理するコンピューティング環境でゲームサーバーをホストできます。コンピューティングを参照する Anywhere フリートを作成して、ホスティングリソースを設定します。

フリートのエイリアス

エイリアスは、フリート間で転送できる指定先であり、一般的なフリートのロケーションを指定する便利な方法です。エイリアスを使用すると、ゲームクライアントを変更せずに、ゲームクライアントをあるフリートから別のフリートに切り替えることができます。コンテンツを指定するターミナルエイリアスを作成することもできます。

ゲームセッションの実行

フリートにゲームサーバービルドをデプロイし、Amazon GameLift で各インスタンスでゲームサーバープロセスを起動すると、フリートでゲームセッションをホストできるようになります。ゲームクライアントサービスがバックエンドサービスまたは Amazon GameLift にプレイスメントをリクエストを送信すると、新しいゲームセッションがスタートされます。

ゲームセッションプレイスメントと FleetIQ アルゴリズム

キューは FleetIQ アルゴリズムを使用して、新しいゲームセッションをホストする利用可能なゲームサーバーを選択します。ゲームセッションプレイスメントの主な構成要素は Amazon GameLift のゲームセッションキューです。ゲームセッションキューに、そのキューがゲームセッションを配置できる場所を決定するフリートのリストを割り当てます。ゲームセッションのキューの詳細と、ゲーム用にそれらを設計する方法については、「ゲームセッションキューの設計」を参照してください。

ゲームへのプレーヤーのConnection

ゲームセッションプレイスメントプロセスのパートとして、キューまたはゲームセッションは新しいゲームセッションをスタートするように選択したゲームサーバーに求めます。ゲームサーバーは、プロンプトに応答し、プレイヤー接続を受け入れる準備ができたら Amazon GameLift に報告します。その後、Amazon GameLift は接続情報をバックエンドサqービスまたはゲームクライアントサービスに送信します。ゲームクライアントはこの情報を使用してゲームセッションに直接Connectし、ゲームに参加します。

フリートの容量のスケーリング

フリートがアクティブになりゲームセッションをホスティングできるようになると、プレイヤーの需要に合わせてフリートキャパシティを調整できます。すべての新規プレイヤーが素早くゲームを見つけるられるようにすることと、アイドル状態のリソースを浪費することの間でバランスを図ることをお勧めします。

Amazon GameLift は非常に効果的な自動スケーリングツールを提供しています。また、フリートのキャパシティをマニュアルで設定することもできます。詳細については、「Amazon GameLift ホスティングキャパシティのスケーリング」を参照してください。

Auto Scaling

Amazon GameLift では 2 つの自動スケーリングの方法が用意されています。

追加のスケーリング機能
  • [ゲームセッション保護] - Amazon GameLift がアクティブなプレイヤーをホストしているゲームセッションをスケールダウン中に終了するのを防ぎます。

  • [Scaling limits](スケーリング制限) – フリートのインスタンス数に下限と上限を設定することで全体的なインスタンスの使用量をコントロールします。

  • [自動スケーリングの停止] – 自動スケーリングポリシーを変更または削除せずに、フリートロケーションレベルで自動スケーリングを停止します。

  • [スケーリングメトリクス] – フリートのキャパシティおよびスケーリングイベントを追跡します。

Amazon GameLift のモニタリング

フリートが起動すると、Amazon GameLift は、デプロイしたゲームサーバーのパフォーマンスをモニタリングするに役立つさまざまな情報を収集します。この情報を使って、リソースの使用の最適化、問題のトラブルシューティング、プレイヤーのゲーム内での行動の仕方の確認できます。Amazon GameLift は以下を収集します。

  • フリート、場所、ゲームセッション、プレイヤーセッションに関する詳細

  • 使用状況メトリクス

  • サーバープロセスの健全性

  • ゲームセッションログ

Amazon GameLift でのモニタリングに関する詳細は、「Amazon GameLift のモニタリング」を参照してください。

他の AWS リソースの使用

ゲームサーバーやアプリケーションは他の AWS リソースと通信できます。たとえば、プレイヤーの認証やソーシャル ネットワークのために一連のウェブサービスを使用する場合があります。ゲームサーバーが AWS アカウント が管理する AWS リソースにアクセスするには、Amazon Amazon GameLift が AWS リソースにアクセスすることを明示的に許可します。

Amazon GameLift には、このタイプのアクセスを管理するためのオプションがいくつかあります。詳細については、「フリートの他の AWS リソースと通信する」を参照してください。