Amazon GameLift Streams でストリームセッションを開始する - Amazon GameLift Streams

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

Amazon GameLift Streams でストリームセッションを開始する

このセクションでは、ストリームセッションについて説明します。ストリームセッションは、エンドユーザーまたはプレイヤーがアプリケーションとやり取りしたり、ゲームをプレイしたりできるストリームの実際のインスタンスです。独自のストリームセッションをテストし、ストリームセッションのライフサイクルを理解する方法について説明します。

エンドユーザーにストリームセッションを起動するには、Amazon GameLift Streams を独自のサービスに統合する必要があります。詳細については、「Amazon GameLift Streams バックエンドサービスとウェブクライアント」を参照してください。

ストリームセッションについて

ストリームセッションを開始するための前提条件は、アプリケーションと、使用可能なアクティブな容量を持つストリームグループです。ストリームセッションは、ストリームグループが割り当てたコンピューティングリソースの 1 つ、またはストリーム容量で実行されます。ストリームを開始するときは、ARN または ID 値を使用してストリーミングするストリームグループとアプリケーションを指定する必要があります。

ストリームセッションを正常に開始すると、そのストリームセッションの一意の識別子を受け取ります。次に、その ID を使用してストリームセッションをエンドユーザーに接続します。詳細については、Amazon GameLift Streams API リファレンスのStartStreamSession」を参照してください。 GameLift

コンソールでのストリームのテスト

Amazon GameLift Streams コンソールを使用してアプリケーションストリームがどのようにであるかをテストする最も直接的な方法。ストリームを開始すると、Amazon GameLift Streams はストリームグループが割り当てるコンピューティングリソースのいずれかを使用します。そのため、ストリームグループで使用可能な容量が必要です。

Amazon GameLift Streams コンソールでストリームをテストするには
  1. にサインイン AWS Management Console し、Amazon GameLift Streams コンソールを開きます。

  2. ストリームは、いくつかの方法でテストできます。ストリームグループページまたはテストストリームページから開始し、以下の手順に従います。

    1. ストリーミングに使用するストリームグループを選択します。

    2. ストリームグループページから開始する場合は、ストリームのテストを選択します。テストストリームページから開始する場合は、選択を選択します。これにより、選択したストリームグループのストリーム設定のテストページが開きます。

    3. リンクされたアプリケーションで、アプリケーションを選択します。

    4. Location で、使用可能な容量がある場所を選択します。

    5. (オプション) プログラム設定で、起動時にアプリケーションに渡すコマンドライン引数または環境変数を入力します。

    6. 選択内容を確認し、ストリームのテストを選択します。

  3. ストリームがロードされたら、ストリームで次のアクションを実行できます。

    1. マウス、キーボード、ゲームパッド (テストストリームではサポートされていないマイクを除く) などの入力を接続するには、入力をアタッチを選択します。カーソルをストリームウィンドウに移動すると、マウスが自動的にアタッチされます。

    2. ストリーミングセッション中に作成されたファイルをセッションの終了時に Amazon S3 バケットにエクスポートするには、ファイルのエクスポートを選択し、バケットの詳細を指定します。エクスポートされたファイルは、セッションページにあります。

    3. ストリームを全画面で表示するには、全画面表示を選択します。Escape を押して、このアクションを元に戻します。

  4. ストリームを終了するには、セッションの終了を選択します。ストリームが切断されると、ストリーム容量が別のストリームを開始できるようになります。

注記

Amazon GameLift Streams コンソールのテストストリーム機能はマイクをサポートしていません。

ストリームセッションのライフサイクル

Amazon GameLift Streams でストリームセッションを操作する場合、この図は、ストリームセッションがライフサイクル全体で移行するさまざまな状態を理解するのに役立ちます。

  • StartStreamSession は、 ACTIVATING状態から始まる新しいストリームセッションを作成します。Amazon GameLift Streams がストリームをホストするために利用可能なリソースを見つけると、ストリームセッションは に移行しますACTIVE。クライアントがアクティブなストリームに接続すると、ストリームセッションは に移行しますCONNECTED

  • クライアントがストリームから切断すると、ストリームセッションは PENDING_CLIENT_RECONNECTION状態に移行します。CreateStreamSessionConnection はストリームセッションを に移行しRECONNECTING、クライアントがストリームに再接続するか、新しいストリームセッションを作成します。ストリームセッションがクライアントに再接続する準備ができたら、 に移行しますACTIVE。クライアントが再接続すると、 に戻りますCONNECTED。クライアントが より長く切断された場合ConnectionTimeoutSeconds、ストリームセッションは終了します。

  • クライアントが で指定された期間内に ACTIVEまたは PENDING_CLIENT_RECONNECTION状態のストリームセッションに接続しない場合ConnectionTimeoutSeconds、 に移行しますTERMINATED

  • TerminateStreamSession はストリームの終了を開始し、ストリームセッションは TERMINATING状態に移行します。ストリームセッションが正常に終了すると、 に移行しますTERMINATED

  • を除く任意の状態のストリームセッションはTERMINATED、 に移行できますERROR。API コールが Status 値ERRORとして を返す場合は、StatusReason の値でエラーの原因の簡単な説明を確認します。GetStreamSession を呼び出して、これらの値を確認することもできます。

この図は、ストリームセッションがライフサイクルを通じて移行するさまざまな状態を示しています。

ストリームセッションに影響するタイムアウト値

ストリームセッションは、セッションライフサイクルのさまざまな側面を制御する複数のタイムアウト値によって管理されます。ストリームセッションのライフサイクル中に通常発生する可能性のある のほぼ時系列の順序で、以下が含まれます。

配置タイムアウト

Amazon GameLift Streams が利用可能な容量を使用してストリームセッションをホストするコンピューティングリソースを見つけるための制限時間。配置タイムアウトは、ストリームリクエストを満たすために使用される容量タイプによって異なります。

  • 常時オン容量: 75 秒

  • オンデマンドキャパシティ:

    • Linux/Proton ランタイム: 90 秒

    • Windows ランタイム: 10 分

  • 動作: Amazon GameLift Streams がこの時間内に利用可能なリソースを識別できない場合、ストリームセッションは StatusReasonERRORで にStatus変わりますplacementTimeout

接続タイムアウト

Amazon GameLift Streams がクライアントがストリームセッションに接続または再接続するまで待機する時間の長さ。

  • パラメータ: ConnectionTimeoutSeconds StartStreamSession

  • 範囲: 1~3600 秒 (1 時間)

  • デフォルト: 120 秒 (2 分)

  • 動作: ストリームセッションが ACTIVEまたは PENDING_CLIENT_RECONNECTIONステータスに達するとタイマーが開始されます。タイムアウト前に接続するクライアントがない場合、セッションは Statusに移行しますTERMINATED

アイドルタイムアウト

ユーザー入力なしでストリームセッションをアイドル状態にできる時間の長さ。

  • パラメータ: (内部)

  • 値: 60 分

  • 動作: この間にユーザー入力が受信されない場合、Amazon GameLift Streams はストリームセッションを終了します。

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

Amazon GameLift Streams の最大期間は、ストリームセッションを開いたままにします。

  • パラメータ: SessionLengthSeconds StartStreamSession

  • 範囲: 1~86400 秒 (24 時間)

  • デフォルト: 43200 秒 (12 時間)

  • 動作: 制限時間に達したときに、既存のクライアント接続に関係なくストリームセッションを終了します。

ストリームセッションの終了

ストリームセッションを強制終了する必要がある場合は、次のオプションがあります。

  • TerminateStreamSession API を使用する: TerminateStreamSession を使用するには、ストリームグループ ID とストリームセッション ID が必要です。ListStreamSessions または ListStreamSessionsByAccount--status CONNECTEDパラメータとともに使用して、クライアントが接続されているストリームセッションのリストを取得できます。

  • ストリームグループからセッションの場所を削除する: セッションがストリーミングされているストリームグループから場所を削除すると、その場所内のすべてのアクティブなストリームセッションが終了します。ストリームグループ内の場所は、コンソールから削除するか、RemoveStreamGroupLocations API を使用して削除できます。

  • セッションのストリームグループを削除する: ストリームグループを削除すると、ストリームグループのすべての場所ですべてのアクティブなストリームセッションが終了します。ストリームグループは、コンソールから、または DeleteStreamGroup API を使用して削除できます。クライアント接続は突然終了するため、注意が必要です。

ストリームセッションへの再接続

クライアントがセッションを終了せずにストリームセッションから切断された場合、ストリームセッションが開始されConnectionTimeoutSecondsたときに指定された時間内にセッションに再接続できます。セッションに再接続するには、ストリームセッションの ID が必要です。詳細については、Amazon GameLift Streams API リファレンスの「CreateStreamSessionConnection」を参照してください。 GameLift React Starter Sample でストリームセッションに再接続する例を確認できます。