メインコンテンツまでスキップ

Introduction to Armada (Deprecated)

Last updated on February 15, 2024
note

Armada はまだ AGS Starter ティアではご利用いただけません。まもなく提供を開始します。

Armada の概要

Armada は動的なゲームサーバーマネージャーであり、プレイヤーのできるだけ近くに専用ゲームサーバーを提供することを可能にします。Armada を使用すると、サーバーのフリートを複数、持つことができます。各フリートは独自のスケーリング動作を持ち、異なるリージョンに分散できます。

Armada を使用すると、複数の機能によって、プレイヤーの最高のゲーム体験を実現できます。

  • 統合が簡単:Armada は通常のサーバー開発の邪魔にならないように設計されています。AccelByte Client SDK を使用すると、明示的に 1 つの API を呼び出すだけで、Armada を機能させることができます。
  • マルチリージョン:Armada は多くの地理的地域で、広範なグローバルカバレッジと優れたゲームパフォーマンスを発揮するように設計されています。Armada を使用すると、リージョンごとに別々のサーバーフリートサイズを維持することができ、リージョンの需要に応じてフリートサイズを調整することでコストを節約できます。
  • 弾力性に優れた需要ベースのスケーリング:Armada は、特定のタイミングで、リージョンごとにプレイヤーの需要に基づいてスケールします。これにより、需要が少ないときにリージョン内の仮想マシンのコストを最小限に抑えられ、リージョンがピーク容量時でも常に利用可能なリソースを確保できます。
  • ウォームな専用サーバー:Armada では、各リージョンのウォームな (稼動している) 専用サーバーの正常な量をプリロードし、維持できるので、プレイヤーはサーバーの読み込みを待つ必要がなく、ゲームセッションはすぐにそれらを要求できます。
  • 統合されたマッチメイキングとロビー:Armada は AGS のマッチメイキングサービスとロビーサービスに直接接続して位置情報のサポートを提供するため、同じリージョンのプレイヤーをマッチングして最適なプレイヤー体験を提供できます。別のマッチメイキングとロビーのサービスを使用したい場合は、AGS のデフォルトサービスを使用する必要はなく、それらを Armada に統合するのを当社がお手伝いします。

サービスアーキテクチャ

Some Image

キーコンセプト

専用ゲームサーバー (DS)

1 つのゲームセッションをホストする使い捨てゲームサーバーです。ゲームセッションの提供を終えると、専用サーバーは破棄され、Armada によって新しいサーバーに置き換えられます。ピアツーピア (P2P) サーバーと混同しないでください。

専用サーバーマネージャー (DSM)

専用サーバーマネージャーは、リージョナルサーバーの要求を処理し、サーバーオーケストレーターにリクエストを行います。

フリート

ゲームセッションを提供する、アクティブまたはアイドル状態の専用ゲームサーバーの集合です。フリートは通常、各リージョナルクラスターで個別に維持されます。

サービス品質 (QoS)

各リージョナルクラスターには、プレイヤーの場所とリージョナルクラスター間のパフォーマンスを検証するために使用される独自のサービス品質サーバーがあります。このデータは、プレイヤーがプレイするのに最適なリージョンを見つけるために使用されます。

実際に、ゲームが AccelByte Client SDK と統合されると、SDK は利用可能な各リージョンに自動的に ping して接続データを更新し続けます。

リージョナルクラスター

リージョナルクラスターは、専用サーバーの実行を担当するリージョンにあるサーバークラスターです。

サーバーオーケストレーター

オーケストレーターは、デプロイメント設定に基づいて、リージョナルクラスターに存在する仮想マシン上で専用サーバーをスピンします。また、ゲームの要求を満たすハードウェアが常に存在するように、仮想マシンでのスケールアウトとスケールインを担います。

Nomad は Armada の主要オーケストレーターとして使用されます。

仮想マシン (VM)

専用サーバーを実行するホストです。通常はクラウドプロバイダーから提供されます。仮想マシンはサーバーオーケストレーターによって管理され、その情報はユーザーから抽出されます。基礎となる設定の詳細を知りたい場合や設定に変更を加えたい場合は、DPM にお問い合わせください。

自動スケーリング戦略

Armada で、サーバーオーケストレーターが仮想マシンインスタンスを取得するか、プロバイダーに返すために使用する戦略です。Armada が使用する 3 つの自動スケーリング戦略には、それぞれ長所と短所があります。

  • しきい値:総リソース使用量がしきい値を超えると、スケーリングがアクティブになり、オーケストレーターは仮想マシンを固定数だけスケールアウトします。これは、需要が概して静的な開発環境でよく使用されます。
  • ターゲット値:総リソース使用量がしきい値を超えると、スケーリングがアクティブになり、オーケストレーターは使用中の仮想マシンの現在数に基づいて動的に仮想マシンをスケールアウトします。これは、需要が概してベルカーブの本稼働環境でよく使用されます。
  • ターゲット需要:需要が変化すると、スケーリングがアクティブになり、オーケストレーターは需要を満たすように仮想マシンをスケールアウトします。これは通常、トラフィックの急増が予想される本稼働環境で使用されます。

専用サーバーの状態

専用サーバーの状態は、専用サーバーのライフサイクルを追跡します。状態には次のものがあります。

  • [Creating (作成中)]
  • [Ready (準備完了)]
  • [Busy (ビジー)]
  • [Unresponsive (応答なし)]
  • [Removing (削除中)]

次の図は状態の変化を示しています。

デプロイメント

デプロイメントは、専用サーバーをリージョンでどのようにスピンアップしたいかを示します。各デプロイメントには以下が含まれます。

  1. 使用する専用サーバーイメージのバージョン
  2. 専用サーバーイメージを実行する Pod 設定
  3. さまざまなスケーリングオプション

Pod 設定

Pod 設定は、専用サーバーの実行に使用される CPU およびメモリリソースの量、および専用サーバーが使用するコマンドライン引数の効果を示します。

オーケストレーターは、この情報を使用して、専用サーバーをホストするのに十分なハードウェアリソースがあるかどうかを判断し、必要に応じて、リージョナルクラスターのいずれかをスケールアウトします。

タイムアウト

タイムアウトは、ライフサイクルで何らかの状態にある際に専用サーバーに適用される時間制限です。これらのタイムアウトはすべて、管理者ポータルで設定できます。

作成のタイムアウト

Armada が専用サーバーをスピンアップし、その状態を[Creating (作成中)]とマークすると、作成のタイムアウトが開始されます。このタイムアウトでは、専用サーバーの初期化に時間制限を設定できます。そのため専用サーバーが初期化に失敗すると、Armada はサーバーを削除し、そのリソースをリージョナルクラスターに戻します。

作成のタイムアウトは、専用サーバーが[Creating (作成中)]状態の場合にのみ適用されます。専用サーバーが専用サーバーマネージャーに登録されると、[Ready (準備完了)]状態になります。

要求のタイムアウト

外部サービス (マッチメイキングなど) が Armada から専用サーバーをリクエストすると、要求のタイムアウトが開始されます。Armada は利用可能なサーバーを予約します。

セッションのタイムアウト

専用サーバーがゲームセッションの提供を開始し、[Busy (ビジー)]状態になると、セッションのタイムアウトが開始されます。このタイムアウトによりゲームセッションを提供する専用サーバーに時間制限が設けられるため、ゲームセッションが終了した後、Armada は正常に終了しなかった古いサーバーを削除できます。このタイムアウトを超えると、Armada はサーバーの状態を[Removing (削除中)]に設定します。

応答なしのタイムアウト

サーバーが Armada で最後のヘルスチェックを完了すると、応答なしのタイムアウトが更新されます。ネットワークの中断が発生した場合、このタイムアウトにより専用サーバーが Armada への接続を回復するまでの時間制限が設けられます。このタイムアウトを超えると、Armada はサーバーを削除してリソースを回復し、サーバーの状態を[Unresponsive (応答なし)]に設定できます。