ルールベースのポリシーによる自動スケーリング - Amazon GameLift

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

ルールベースのポリシーによる自動スケーリング

Amazon GameLift のルールベースのスケーリングポリシーは、プレイヤーのアクティビティに対応してフリートの容量を自動スケーリングするための詳細な制御を提供します。各ポリシーでは、複数のフリートメトリクスの 1 つにスケーリングをリンクし、トリガーポイントを識別して、スケールアップレスポンスをカスタマイズするか、あるいはイベントをスケールダウンすることができます。ルールベースのポリシーは、特別な状況を処理するためにターゲットベースのスケーリングの補助として便利です。

ルールベースのポリシーでは、「フリートメトリクスが一定期間しきい値以上になる場合、フリートの容量を指定された量に変更する」と述べています。このトピックでは、ポリシーステートメントを構成するために使用する構文を説明し、ルールベースのポリシーを作成して管理するためのヘルプを提供します。

ルールベースのポリシーを管理する

AWS SDK または AWS Command Line Interface (AWS CLI) を Amazon GameLift サービス API で使用して、ルールベースのポリシーを作成、更新、または削除します。すべてのアクティブなポリシーは Amazon GameLift コンソールで表示できます。

フリートのすべてのスケーリングポリシーを一時的に停止にするには、AWS CLI コマンド stop-fleet-actions を使用します。

ルールベースのスケーリングポリシー (AWS CLI) を作成または更新するには
  1. 容量制限を設定します。update-fleet-capacity コマンドを使用して両方またはどちらかの制限値を設定します。詳細については、「Amazon GameLift のキャパシティ制限を設定する」を参照してください。

  2. 新規ポリシーを作成します。コマンドラインウィンドウを開き、ポリシーのパラメータ設定で put-scaling-policy コマンドを使用します。既存のポリシーを更新するには、ポリシー名を指定して、更新されたポリシーの完全バージョンを提供します。

    --fleet-id <unique fleet identifier> --name "<unique policy name>" --policy-type <target- or rule-based policy> --metric-name <name of metric> --comparison-operator <comparison operator> --threshold <threshold integer value> --evaluation-periods <number of minutes> --scaling-adjustment-type <adjustment type> --scaling-adjustment <adjustment amount>

    例:

    aws gamelift put-scaling-policy \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --name "Scale up when AGS<50" \ --policy-type RuleBased \ --metric-name AvailableGameSessions \ --comparison-operator LessThanThreshold \ --threshold 50 \ --evaluation-periods 10 \ --scaling-adjustment-type ChangeInCapacity \ --scaling-adjustment 1
AWS CLI を使用して、ルールベースのスケーリング ポリシーを削除するには
  • コマンドラインウィンドウを開き、フリート ID とポリシー名で delete-scaling-policy コマンドを使用します。

    例:

    aws gamelift delete-scaling-policy \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --name "Scale up when AGS<50"

自動スケーリングルールの構文

ルールベースのスケーリングポリシーステートメントを作成するには、6 つの変数を指定します。

&lt;メトリクス名&gt;&lt;評価期間&gt; にわたって &lt;しきい値&gt; &lt;比較演算子&gt; である場合は、&lt;調整タイプ&gt; を使用してフリートの容量を &lt;調整値&gt; に変更します。

例えば、このポリシーステートメントは、フリートの余分なキャパシティが 50 の新規ゲームセッションを処理するために必要な数より少ない場合に、スケールアップイベントを開始します。

AvailableGameSessionsless than 5010 minutes の場合、ChangeInCapacity を使用してフリート容量を 1 instances で調整します。

メトリクス名

スケーリングイベントを開始するには、自動スケーリングポリシーを次のフリート指定のメトリクスの 1 つにリンクします。メトリクスの完全な説明については、「フリートの Amazon GameLift メトリクス」を参照してください。

  • ゲームセッションのアクティブ化

  • アクティブなゲームセッション

  • 使用可能なゲームセッション

  • 使用可能なゲームセッションの割合

  • アクティブなインスタンス

  • 使用可能なプレイヤーセッション

  • 現在のプレイヤーセッション

  • アイドル状態のインスタンス

  • アイドル状態のインスタンスの割合

フリートがゲームセッションキューに含まれている場合、次のメトリクスを使用できます。

  • キューの深さ – このフリートを最適なホスティング場所とする保留中のゲームセッションリクエストの数。

  • 待機時間 – フリート固有の待機時間。保留中の最も古いゲームセッションリクエストが受理されるまでに待機する時間です。フリートの待機時間は、現在のキュー内で最も古いリクエストの時間と同じです。

Comparison operator (比較演算子)

Amazon GameLift に、メトリクスデータとしきい値を比較する方法を伝えます。有効な比較演算子は、より大きい (>)、より小さい (<)、以上 (>=)、および以下 (<=) です。

しきい値

指定したメトリック値がそのしきい値に到達したか、または超えた場合、スケーリングイベントが開始されます。この値は常に正の整数です。

評価期間

スケーリングイベントを開始する前に、メトリクスが全評価期間にわたってしきい値に到達するか、超える必要があります。評価期間は連続しています。メトリクスがしきい値を下回ると、評価期間が再度開始します。

調整値と調整タイプ

この一連の変数は連動して、スケーリング イベントがトリガーされるときに Amazon GameLift がフリートの容量を調整する方法を指定します。3 つの可能な調整タイプから選択します。

  • [Change in capacity](容量の変更) – 指定したインスタンス数だけ現在の容量を増減させます。調整値は、フリートに追加または削除するインスタンス数に設定します。正の値はインスタンスを追加し、負の値はインスタンスを削除します。例えば、「-10」の値は、フリートの合計サイズに関係なく、フリートを 10 インスタンス分スケールダウンします。

  • [Percen change in capacity](容量の割合変更) – 指定したパーセントだけ現在の容量を増減させます。調整値は、フリートのキャパシティを増減させるパーセントに設定します。正の値はインスタンスを追加し、負の値はインスタンスを削除します。例えば、50 個のインスタンスがあるフリートでは、「20」パーセントの変更によって 10 個のインスタンスがフリートに追加されます。

  • [正確な必要キャパシティー] – 指定した値まで現在のキャパシティを増減させます。調整値では、フリート内で維持する正確なインスタンス数を設定します。

ルールベースの自動スケーリングのヒント

次の推奨事項は、ルールベースのポリシーの自動スケーリングを最大限に活用するのに役立ちます。

複数のポリシーの使用

フリートには、複数の自動スケーリングポリシーを同時に適用できます。最も一般的なシナリオでは、ターゲットベースのポリシーでほとんどのスケーリングニーズを管理し、特別なケースを処理するためにルールベースのポリシーを使用します。複数のポリシーを使用することに制限はありません。

複数のポリシーでは、各ポリシーが独立して動作します。スケーリングイベントの順序を制御する方法はありません。例えば、スケールアップを扱う複数のポリシーがある場合、プレイヤーアクティビティによって複数のスケーリングポリシーが同時に開始される可能性があります。互いに開始するポリシーは避けてください。例えば、互いのしきい値を超えたキャパシティを設定するスケールアップポリシーとスケールダウンポリシーを作成した場合、無限ループが作成される可能性があります。

最大容量と最小容量の設定

各フリートには、最大容量と最小容量の制限があります。この機能は自動スケーリングを使用するときに重要です。自動スケーリングが、キャパシティをこの範囲外の値に設定することはありません。デフォルトでは、新しく作成されたフリートの最小値は 0、最大値は 1 です。自動スケーリングポリシーが意図どおりにキャパシティに影響を与えるには、最大値を大きくします。

フリートのキャパシティは、フリートのインスタンスタイプの制限および AWS アカウント のサービスクォータによっても制約されます。これらの制限とアカウントのクォータを超えて最小値と最大値を設定することはできません。

容量の変更後のメトリクスの追跡

自動スケーリングポリシーに応じてキャパシティを変更した後、Amazon GameLift は同じポリシーからのトリガーに応答するまで 10 分間待ちます。この待機により、Amazon GameLift は新しいインスタンスの追加、ゲームサーバーの起動、プレイヤーの接続、新しいインスタンスからのデータ収集の開始に必要な時間を確保できます。この間、Amazon GameLift はメトリクスに対してポリシーを評価し、スケーリングイベントの発生後に再開されたポリシーの評価期間を追跡します。これは、待機時間が終わるとすぐに、スケーリングポリシーにより別のスケーリングイベントが開始される可能性があることを意味します。

異なる自動スケーリングポリシーが開始するスケーリングイベント間に待機時間はありません。