

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

# ルールベースのポリシーによる自動スケーリング
<a name="fleets-autoscaling-rule"></a>

ルールベースのスケーリングポリシー (Amazon GameLift Servers) を使用すると、フリートキャパシティの自動スケーリングを詳細に制御して、プレイヤーのアクティビティに対応できます。各ポリシーでは、複数のフリートメトリクスの 1 つにスケーリングをリンクし、トリガーポイントを識別して、スケールアップレスポンスをカスタマイズするか、あるいはイベントをスケールダウンすることができます。ルールベースのポリシーは、特別な状況を処理するために[ターゲットベースのスケーリング](fleets-autoscaling-target.md)の補助として便利です。

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

## ルールベースのポリシーを管理する
<a name="fleets-autoscaling-policy-setting-cli"></a>

 AWS SDK AWS Command Line Interface または (AWS CLI) と [のサービス API for Amazon GameLift Servers](https://docs.aws.amazon.com/gameliftservers/latest/apireference/Welcome.html)を使用して、ルールベースのポリシーを作成、更新、または削除します。すべてのアクティブなポリシーは Amazon GameLift Servers コンソールで表示できます。

フリートのすべてのスケーリングポリシーを一時的に停止するには、 AWS CLI コマンド [stop-fleet-actions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/stop-fleet-actions.html) を使用します。

**ルールベースのスケーリングポリシー (AWS CLI) を作成または更新するには**

1. **容量制限を設定します。**[update-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-capacity.html) コマンドを使用して両方またはどちらかの制限値を設定します。詳細については、「[Amazon GameLift Servers の容量制限の設定](fleets-capacity-limits.md)」を参照してください。

1. **新規ポリシーを作成します。**コマンドラインウィンドウを開き、ポリシーのパラメータ設定で [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/gamelift/put-scaling-policy.html) コマンドを使用します。既存のポリシーを更新するには、ポリシー名を指定して、更新されたポリシーの完全バージョンを提供します。

   ```
   --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](https://docs.aws.amazon.com/cli/latest/reference/gamelift/delete-scaling-policy.html) コマンドを使用します。

  例:

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

## 自動スケーリングルールの構文
<a name="fleets-autoscaling-rule-syntax"></a>

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

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

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

`AvailableGameSessions` が `less than 50` で `10 minutes` の場合、`ChangeInCapacity` を使用してフリート容量を `1 instances` で調整します。

**メトリクス名**  
スケーリングイベントを開始するには、自動スケーリングポリシーを次のフリート指定のメトリクスの 1 つにリンクします。メトリクスの完全な説明については、「[フリートの Amazon GameLift Servers メトリクス](monitoring-cloudwatch.md#gamelift-metrics-fleet)」を参照してください。  
+ ゲームセッションのアクティブ化
+ アクティブなゲームセッション
+ 使用可能なゲームセッション
+ 使用可能なゲームセッションの割合
+ アクティブなインスタンス
+ 使用可能なプレイヤーセッション
+ 現在のプレイヤーセッション
+ アイドル状態のインスタンス
+ アイドル状態のインスタンスの割合
フリートがゲームセッションキューに含まれている場合、次のメトリクスを使用できます。  
+ キューの深さ – このフリートを最適なホスティング場所とする保留中のゲームセッションリクエストの数。
+ 待機時間 – フリート固有の待機時間。保留中の最も古いゲームセッションリクエストが受理されるまでに待機する時間です。フリートの待機時間は、現在のキュー内で最も古いリクエストの時間と同じです。

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

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

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

**調整値と調整タイプ**  
この一連の変数は連動して、スケーリング イベントがトリガーされるときに Amazon GameLift Servers がフリートの容量を調整する方法を指定します。3 つの可能な調整タイプから選択します。  
+ **容量の変更** – 指定したインスタンス数だけ現在の容量を増減させます。調整値は、フリートに追加または削除するインスタンス数に設定します。正の値はインスタンスを追加し、負の値はインスタンスを削除します。例えば、「-10」の値は、フリートの合計サイズに関係なく、フリートを 10 インスタンス分スケールダウンします。
+ **容量の割合変更** – 指定したパーセントだけ現在の容量を増減させます。調整値は、フリートのキャパシティを増減させるパーセントに設定します。正の値はインスタンスを追加し、負の値はインスタンスを削除します。例えば、50 個のインスタンスがあるフリートでは、「20」パーセントの変更によって 10 個のインスタンスがフリートに追加されます。
+ **正確な容量** – 指定した値まで現在のキャパシティを増減させます。調整値では、フリート内で維持する正確なインスタンス数を設定します。

## ルールベースの自動スケーリングのヒント
<a name="fleets-autoscaling-rule-tips"></a>

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

### 複数のポリシーの使用
<a name="fleets-autoscaling-policy-tips-multiples"></a>

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

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

### 最大容量と最小容量の設定
<a name="fleets-autoscaling-policy-tips-maximums"></a>

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

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

### 容量の変更後のメトリクスの追跡
<a name="fleets-autoscaling-policy-tips-cooldown"></a>

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

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