翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ルールベースのポリシーによる自動スケーリング
Amazon GameLift のルールベースのスケーリングポリシーは、プレイヤーのアクティビティに対応してフリートの容量を自動スケーリングするための詳細な制御を提供します。各ポリシーでは、複数のフリートメトリクスの 1 つにスケーリングをリンクし、トリガーポイントを識別して、スケールアップレスポンスをカスタマイズするか、あるいはイベントをスケールダウンすることができます。ルールベースのポリシーは、特別な状況を処理するためにターゲットベースのスケーリングの補助として便利です。
ルールベースのポリシーでは、「フリートメトリクスが一定期間しきい値以上になる場合、フリートの容量を指定された量に変更する」と述べています。このトピックでは、ポリシーステートメントを構成するために使用する構文を説明し、ルールベースのポリシーを作成して管理するためのヘルプを提供します。
ルールベースのポリシーを管理する
AWS SDK または AWS Command Line Interface (AWS CLI) を Amazon GameLift サービス API で使用して、ルールベースのポリシーを作成、更新、または削除します。すべてのアクティブなポリシーは Amazon GameLift コンソールで表示できます。
フリートのすべてのスケーリングポリシーを一時的に停止にするには、AWS CLI コマンド stop-fleet-actions を使用します。
ルールベースのスケーリングポリシー (AWS CLI) を作成または更新するには
-
容量制限を設定します。update-fleet-capacity コマンドを使用して両方またはどちらかの制限値を設定します。詳細については、「Amazon GameLift のキャパシティ制限を設定する」を参照してください。
-
新規ポリシーを作成します。コマンドラインウィンドウを開き、ポリシーのパラメータ設定で 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 つの変数を指定します。
<メトリクス名>
が <評価期間>
にわたって <しきい値>
<比較演算子>
である場合は、<調整タイプ>
を使用してフリートの容量を <調整値>
に変更します。
例えば、このポリシーステートメントは、フリートの余分なキャパシティが 50 の新規ゲームセッションを処理するために必要な数より少ない場合に、スケールアップイベントを開始します。
AvailableGameSessions
が less than 50
で 10 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 はメトリクスに対してポリシーを評価し、スケーリングイベントの発生後に再開されたポリシーの評価期間を追跡します。これは、待機時間が終わるとすぐに、スケーリングポリシーにより別のスケーリングイベントが開始される可能性があることを意味します。
異なる自動スケーリングポリシーが開始するスケーリングイベント間に待機時間はありません。