Amazon Web Services ブログ

Amazon GameLift Anywhere のご紹介 — ゲームサーバーを独自のインフラストラクチャで実行

2016 年に、世界中のプレイヤーの需要を満たすために、セッションベースのマルチプレイヤーゲームサーバーのフリートを安全にデプロイし、自動的にスケーリングする専用ホスティングソリューションである、Amazon GameLift をリリースしました。

Amazon GameLift を使用すると、ゲームサーバービルドを一度作成してアップロードし、複製してから複数の AWS リージョンAWS Local Zones にデプロイして、世界中のプレイヤーに低レイテンシーのエクスペリエンスを提供できます。GameLift には、GameLift FleetIQ による低コストのゲームフリートや、GameLift FlexMatch によるプレイヤーマッチメイキング向けのスタンドアロン機能も含まれています。

ゲーム開発者から、開発段階でゲームのテストと反復処理が必要になるたびに、候補となるサーバービルドをクラウドにデプロイするまでの待ち時間を短縮してほしいという要望がありました。さらに、お客様からは、ベアメタル契約やオンプレミスのゲームサーバーを契約している場合が多く、既存のインフラストラクチャをクラウドサーバーで柔軟に使用したいとの声も寄せられています。

本日、ゲームセッション管理を基盤となるコンピューティングリソースから切り離す Amazon GameLift Anywhere の一般提供を発表します。この新リリースでは、ローカルワークステーションを含むあらゆるハードウェアを、Anywhere Fleet と呼ばれる論理コンストラクトのもとで登録および導入できるようになりました。

ローカルのハードウェアを GameLift が管理するサーバーにすることができるようになったため、使い慣れたローカルのデスクトップ環境でサーバー構築を繰り返し、サーバーのエラーがあれば数秒でマテリアライズすることができるようになりました。また、環境のデバッガーでブレークポイントを設定できるため、試行錯誤がなくなり、反復処理がさらにスピードアップします。

ゲーム開発者が GameLift Anywhere を利用することによる主なメリットは以下のとおりです。

  • ゲーム開発が迅速化 — GameLift FlexMatch と Queeue サービスを活用しながら、ローカルワークステーションですぐにテストと反復処理を行うことができます。
  • ハイブリッドサーバー管理 — クラウドまたはオンプレミスでホストされている専用ゲームサーバーを、すべて 1 か所からデプロイ、運用、拡張できます。
  • サーバー運用の合理化 — サーバーインフラストラクチャを単一のゲームサーバーオーケストレーションレイヤーに統合することで、コストと運用の複雑さを軽減します。

GameLift Anywhere のベータ期間中、多くのお客様からフィードバックが寄せられました。たとえば、Nitro Games では 2020 年から Amazon GameLift を利用しており、プレイヤーのマッチメイキングやクラウド上の専用ゲームサーバーの管理にこのサービスを利用しています。Nitro Games のシニア DevOps エンジニアである Daniel Liljeqvist 氏は、「GameLift Anywhere を使用することで、ローカルマシン上でゲームサーバーを簡単にデバッグできるため、時間を節約でき、新しいゲームや機能を開発する際のフィードバックループを大幅に短縮できます」と述べています。

ロケーション、フリート、コンピューティングなどの GameLift Anywhere リソースは、すべての AWS サービスと同じ安全性が高い AWS API エンドポイントを介して管理されます。これは、セキュリティ強化のために限られた時間だけ有効なゲームサーバープロセスの認証トークンを生成する場合にも同じです。AWS Identity and Access Management (AWS IAM) のロールとポリシーを活用して、すべての GameLift Anywhere エンドポイントへのアクセスを完全に管理できます。

GameLift Anywhere の使用を開始する
ローカルハードウェアに GameLift フリートを作成する前に、ゲームビルドまたはスクリプトを実行するカスタムロケーションを作成できます。GameLift コンソールの左側のナビゲーションペインで [ロケーション] を選択し、[ロケーションの作成] を選択します。

ハードウェアのカスタムロケーションを作成して、GameLift Anywhere フリートで使用してゲームをテストできます。

左側のナビゲーションペインから [フリート] を選択し、[フリートを作成] を選択して、GameLift Anywhere フリートを目的のロケーションに追加します。

コンピューティングタイプの選択ステップで [任意の場所] を選択します。

フリート名やオプションアイテムなど、フリートの詳細を設定します。設定の詳細については、AWS ドキュメントの「新しい GameLift フリートの作成」を参照してください。

ロケーションを選択 ステップで、作成したカスタムロケーションを選択します。ホームの AWS リージョンは、フリートを作成するリージョンとして自動的に選択されます。ホームリージョンを使用してリソースにアクセスして使用できます。

フリートの作成手順を実行して Anywhere フリートを作成すると、マネージド EC2 インスタンスと Anywhere ロケーションの両方でアクティブなフリートを確認できます。GameLift Anywhere ロケーションを追加してリモートオンプレミスハードウェアを統合することもできるため、ゲームセッションを 1 か所で管理できます。詳細については、AWS ドキュメントの「新しい GameLift フリートの作成」を参照してください。

作成したフリートにラップトップをコンピュートリソースとして登録できます。前のステップで作成したフリートIDを使用して、コンピュート名とラップトップの IP アドレスを追加します。

$ aws gamelift register-compute \
    --compute-name ChannyDevLaptop \
    --fleet-id fleet-12345678-abcdefghi \
    --ip-address 10.1.2.3

これで、作成したフリート内のラップトップの認証トークンを取得して、ゲームサーバーのデバッグセッションを開始できます。

$ aws gamelift get-compute-auth-token \
    --fleet-id fleet-12345678-abcdefghi \
    --compute-name ChannyDevLaptop

ゲームサーバー実行ファイルのデバッグインスタンスを実行するには、ゲームサーバーが InitSDK() を呼び出す必要があります。プロセスがゲームセッションをホストする準備が整うと、ゲームサーバーは ProcessReady () を呼び出します。詳細については、AWS ドキュメントの「ゲームをカスタムゲームサーバーと統合する」と「統合をテストする」を参照してください。

今すぐご利用いただけます
Amazon GameLift Anywhere は、Amazon GameLift が利用可能なすべてのリージョンでご利用いただけます。 GameLift には、ステップバイステップの開発者ガイドAPI リファレンスガイド、および GameLift SDK が用意されています。また、サンプルゲームを使用して、Amazon GameLift をテストするのがいかに簡単かをご自身で体験してみてください。

ぜひお試しいただいて、Amazon GameLift に関する AWS re:Postまたは通常の AWS サポートの連絡先を通してフィードバックをお寄せください。

Channy

原文はこちらです。