

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

# Amazon GameLift Servers を使用したゲームホスティング容量のスケーリング
<a name="fleets-manage-capacity"></a>

ホスティング容量は、Amazon GameLift Servers が同時にホストできるゲームセッションの数と、これらのゲームセッションに参加できる同時プレイヤーの数を表し、インスタンス単位で測定されます。ゲームホスティングで最も困難なタスクの 1 つが、不要なリソースに無駄なコストを浪費することなく、プレイヤーの需要に合わせてキャパシティをスケーリングすることです。

容量は、フリートのロケーションレベルで調整されます。すべてのフリートには、フリートのホーム AWS リージョンという少なくとも 1 つの場所があります。容量を表示またはスケーリングすると、フリートのホーム リージョンおよび追加のリモートロケーションなど、ロケーションごとに情報がリストされます。

維持するインスタンスの数を手動で設定することも、プレイヤーの需要の変化に合わせてキャパシティを動的に調整するように自動スケーリングを設定することもできます。ターゲットベースの自動スケーリングオプションをオンにして開始することをお勧めします。ターゲットベースの自動スケーリングの目標は、現在のプレイヤーに対応するのに十分なホスティングリソースと、プレイヤーの需要の予期しない急増に対処する追加のリソースを維持することです。ほとんどのゲームに対して、ターゲットベースの自動スケーリングは非常に効果的なスケーリングソリューションです。

ほとんどのフリートスケーリングアクティビティは、Amazon GameLift Servers コンソールを使用して行うことができます。のサービス API で AWS SDK または AWS Command Line Interface (AWS CLI) を使用することもできます。 [https://docs.aws.amazon.com/gameliftservers/latest/apireference/Welcome.html](https://docs.aws.amazon.com/gameliftservers/latest/apireference/Welcome.html)

**Topics**
+ [コンソールでフリートの容量を管理するには](#fleet-manage-capacity-howto)
+ [Amazon GameLift Servers の容量制限の設定](fleets-capacity-limits.md)
+ [Amazon GameLift Servers フリートの容量を手動で設定する](fleets-updating-capacity.md)
+ [Amazon GameLift Servers でのフリート容量の自動スケーリング](fleets-autoscaling.md)
+ [ゼロとの間でAmazon GameLift Serversフリートのスケーリングを管理する](fleets_scale-to-from-zero.md)
+ [Amazon GameLift Servers コンテナフリートのスケーリング](containers-scaling.md)

## コンソールでフリートの容量を管理するには
<a name="fleet-manage-capacity-howto"></a>

1. [Amazon GameLift Servers コンソール](https://console.aws.amazon.com/gamelift/)を開きます。

1. ナビゲーションペインで **[ホスティング]**、**[フリート]** を選択します。

1. **[フリート]** ページで、アクティブなフリートの名前を選択して、フリートの詳細ページを開きます。

1. **[スケーリング]** タブを選択します。このタブでは、次の操作を実行できます。
   + フリート全体の履歴スケーリングメトリクスを表示します。
   + スケーリング制限や現在の容量設定など、各フリートロケーションのキャパシティ設定を表示および更新します。
   + ターゲットベースの自動スケーリングを更新し、フリート全体に適用されるルールベースの自動スケーリングポリシーを表示し、各ロケーションの自動スケーリングアクティビティを停止します。

# Amazon GameLift Servers の容量制限の設定
<a name="fleets-capacity-limits"></a>

Amazon GameLift Servers フリートロケーションのホスティング容量を手動または自動スケーリングでスケーリングする場合は、ロケーションのスケーリング制限を考慮してください。すべてのフリートロケーションには、ロケーションの容量の許容範囲を定義する最小および最大制限があります。デフォルトでは、フリートロケーションの制限の最小値は 0 インスタンス、最大値が 1 インスタンスです。フリートロケーションの場所をスケールする前に、制限を調整します。

自動スケーリングを使用している場合、最大値の制限によって Amazon GameLift Servers はプレイヤーの需要に合わせてフリートのロケーションをスケールアップしつつ、DDOS 攻撃中など、ホスティング費用のランナウェイも防止します。容量が最大限に到達すると通知するように [[Amazon CloudWatch アラーム]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) をセットアップすることで、状況を評価して必要に応じて手動で調整できます。( AWS コストをモニタリングするための[請求アラームを作成](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html)することもできます）。最小値の制限は、プレイヤーの需要が低い場合でも、ホスティングの可用性を維持するのに役立ちます。

フリートの場所の容量制限は、[Amazon GameLift Serversコンソール](https://console.aws.amazon.com/gamelift/)または AWS Command Line Interface () を使用して設定できますAWS CLI。

## 容量制限を設定するには
<a name="fleets-capacity-limits-console"></a>

------
#### [ Console ]

1. [Amazon GameLift Servers コンソール](https://console.aws.amazon.com/gamelift/)を開きます。

1. ナビゲーションペインで **[ホスティング]**、**[フリート]** を選択します。

1. **[フリート]** ページで、アクティブなフリートの名前を選択して、フリートの詳細ページを開きます。

1. **[スケーリング]** タブの **[スケーリング容量]** で、フリートのロケーションを選択し、**[編集]** を選択します。

1. **[スケーリング容量を編集]** ダイアログボックスで、**[最小サイズ]**、**[目的のインスタンス]**、および **[最大サイズ]** にインスタンス数を設定します。

1. **[確認]** を選択します。

------
#### [ AWS CLI ]

1. **現在の容量設定を確認します。**コマンドラインウィンドウで、容量を変更するフリートの ID を使用して [describe-fleet-location-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-location-capacity.html) コマンドを実行します。このコマンドは、ロケーションの現在の容量設定を含む [FleetCapacity](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetCapacity.html) オブジェクトを返します。新しいインスタンスの制限が現在機能するインスタンス設定に合うかどうかを決定します。

   ```
   aws gamelift describe-fleet-location-capacity \
       --fleet-id <fleet identifier> \
       --location <location name>
   ```

1. **制限設定を更新します。**コマンドラインウィンドウで、以下のパラメータを使用して [update-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-capacity.html) コマンドを実行します。インスタンス制限および希望するインスタンス数の両方を同じコマンドで調整できます。

   ```
   --fleet-id <fleet identifier>
   --location <location name>
   --max-size <maximum capacity for scaling>
   --min-size <minimum capacity for scaling>
   --desired-instances <fleet capacity goal>
   ```

   例:

   ```
   aws gamelift update-fleet-capacity \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --location us-west-2 \
       --max-size 10 \
       --min-size 1 \
       --desired-instances 10
   ```

リクエストが成功すると、Amazon GameLift Servers がフリート ID を戻します。新しい `max-size` 値または `min-size` 値が現在の `desired-instances` 設定と矛盾する場合、Amazon GameLift Servers はエラーを返します。

------

# Amazon GameLift Servers フリートの容量を手動で設定する
<a name="fleets-updating-capacity"></a>

新しいフリートを作成すると、Amazon GameLift Servers は必要なインスタンス数をフリートロケーションごとに 1 インスタンスに自動的に設定します。次に、Amazon GameLift Servers は各ロケーションに 1 つの新しいインスタンスをデプロイします。フリートキャパシティを変更するには、ターゲットベースの自動スケーリングを追加するか、または手動でロケーションに必要なインスタンスの数を設定します。

フリートのキャパシティを手動で設定することは、自動スケーリングが必要でない場合、または任意のレベルでキャパシティを確保することが必要な場合に便利です。キャパシティの手動設定は、ターゲットベースの自動スケーリングポリシーを使用していない場合にのみ機能します。ターゲットベースの自動スケーリングポリシーがある場合、独自のスケーリングルールに基づく希望のキャパシティが即座にリセットされます。

コンソールまたは AWS Command Line Interface () Amazon GameLift Serversを使用して、容量を手動で設定できますAWS CLI。フリートのステータスは、アクティブである必要があります。

## 自動スケーリングを停止する
<a name="fleets-updating-capacity-disable"></a>

フリートロケーションごとにすべての自動スケーリングアクティビティを一時停止できます。自動スケーリングを停止にすると、フリートロケーション内の必要なインスタンス数は、手動で変更しない限り、同じままになります。ロケーションに対して自動スケーリングを停止すると、フリートの現在のポリシーや今後定義されるすべてのポリシーに影響します。

## フリートの容量を手動で設定するには
<a name="fleets-updating-capacity-console"></a>

------
#### [ Console ]

1. [Amazon GameLift Servers コンソール](https://console.aws.amazon.com/gamelift/)を開きます。

1. ナビゲーションペインで **[ホスティング]**、**[フリート]** を選択します。

1. **[フリート]** ページで、アクティブなフリートの名前を選択して、フリートの詳細ページを開きます。

1. **[スケーリング]** タブの **[一時停止中の自動スケーリングロケーション]** で、自動スケーリングを一時停止する各ロケーションを選択し、**[停止]** を選択します。

1. **[スケーリング容量]** で、手動で設定するロケーションを選択し、**[編集]** を選択します。

1. **[スケーリング容量を編集]** ダイアログボックスで、**目的のインスタンス]** に希望の値を設定し、**[確認]** を選択します。この値は、ゲームセッションをホストできるアクティブな状態で維持するインスタンスの数を Amazon GameLift Servers に伝えます。

Amazon GameLift Servers は、追加のインスタンスをデプロイするか、不要なインスタンスをシャットダウンして、この変更に対応します。Amazon GameLift Servers の処理が完了すると、ロケーション内の Active インスタンス数が、更新された目標インスタンス数に合わせて変更されます。このプロセスには多少時間がかかることがあります。

------
#### [ AWS CLI ]

1. **現在のキャパシティ設定を確認します。**コマンドラインウィンドウで、容量を変更するフリートの ID を使用して [describe-fleet-location-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-location-capacity.html) コマンドを実行します。このコマンドは、ロケーションの現在の容量設定を含む [FleetCapacity](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetCapacity.html) オブジェクトを返します。インスタンスの制限が現在機能する新しい目的のインスタンス設定に合うかどうかを決定します。

   ```
   aws gamelift describe-fleet-location-capacity \
       --fleet-id <fleet identifier> \
       --location <location name>
   ```

1. **希望する容量を更新します。**[update-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-capacity.html) コマンドを目的のインスタンスのフリート ID、ロケーション、新しい値で使用します。この値が現在の制限範囲外にある場合、同じコマンドに調整した制限値を調節できます。

   ```
   --fleet-id <fleet identifier>
   --location <location name>
   --desired-instances <fleet capacity as an integer>
   --max-size <maximum capacity>    [Optional]
   --min-size <minimum capacity>    [Optional]
   ```

   例:

   ```
   aws gamelift update-fleet-capacity \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --location us-west-2 \
       --desired-instances 5 \
       --max-size 10 \
       --min-size 1
   ```

リクエストが成功すると、Amazon GameLift Servers がフリート ID を戻します。新しい目的のインスタンス設定が上限と下限の制限外にある場合、Amazon GameLift Servers はエラーを返します。

------

# Amazon GameLift Servers でのフリート容量の自動スケーリング
<a name="fleets-autoscaling"></a>

自動スケーリング Amazon GameLift Servers を使用して、ゲームサーバーのアクティビティに応じてフリートキャパシティを動的にスケールします。プレイヤーが参加してゲームセッションが開始すると、自動スケーリングはさらにインスタンスを追加できます。プレイヤーの需要が低くなると、自動スケーリングは不必要なインスタンスを終了できます。自動スケーリングはホスティングリソースとコストを最小化するための効果的な方法である一方で、スムーズで高速なプレイヤーエクスペリエンスを提供します。

自動スケーリングを使用するには、Amazon GameLift Servers にスケールアップまたはスケールダウンのタイミングを指示するスケーリングポリシーを作成します。スケーリングポリシーには、ターゲットベースとルールベースの 2 タイプがあります。ターゲットベースのアプローチであるターゲット追跡は、完全なソリューションです。これは、最もシンプルで効果的な方法のためお勧めします。ルールベースのスケーリングポリシーは、自動スケーリングの意思決定プロセスにおける各要素を定義するために必要となり、特定の問題の対処に役立ちます。このソリューションは、ターゲットベースの自動スケーリングを補足するものとして最適です。

Amazon GameLift Servers コンソール、 AWS Command Line Interface (AWS CLI)、または AWS SDK を使用して、ターゲットベースの自動スケーリングを管理できます。ルールベースの自動スケーリングは、 AWS CLI または AWS SDK を使用してのみ管理できますが、 コンソールでルールベースのスケーリングポリシーを表示できます。

**Topics**
+ [ターゲットベースの自動スケーリング](fleets-autoscaling-target.md)
+ [ルールベースのポリシーによる自動スケーリング](fleets-autoscaling-rule.md)

# ターゲットベースの自動スケーリング
<a name="fleets-autoscaling-target"></a>

Amazon GameLift Servers のターゲットベースの自動スケーリングは、フリートメトリクス `PercentAvailableGameSessions` に基づいてキャパシティレベルを調整します。このメトリクスはプレイヤーの需要の急激な増加に対してフリートで利用できるバッファを示します。

容量バッファを維持する主な利用は、プレイヤーの待機時間です。ゲームセッションスロットの準備ができ、待機中の場合、ゲームセッションに新規プレイヤーを入れるのにかかる時間は数秒です。使用可能なリソースがない場合、プレイヤーは既存のゲームセッションが終了するまで、あるいは新しいリソースが使用可能になるまで待機する必要があります。新しいインスタンスとサーバープロセスを起動するには数分かかる場合があります。

ターゲットベースの自動スケーリングをセットアップするには、フリートが維持するバッファのサイズを指定します。`PercentAvailableGameSessions` は使用可能なリソースの割合を測定するため、実際のバッファサイズは全フリート容量の割合となります。Amazon GameLift Servers は、ターゲットバッファサイズを維持するためにインスタンスを追加あるいは削除します。より大きなバッファでは待機時間が最小になりますが、使用しないかもしれない余分なリソースに対てもコストが発生します。待機時間に対してより耐性のあるプレイヤーの場合、バッファを小さく設定することでコストをより低く抑えることができます。

## ターゲットベースの自動スケーリングを設定するには
<a name="fleets-autoscaling-policy-setting-console"></a>

------
#### [ Console ]

1. [Amazon GameLift Servers コンソール](https://console.aws.amazon.com/gamelift/)を開きます。

1. ナビゲーションペインで **[ホスティング]**、**[フリート]** を選択します。

1. **[フリート]** ページで、アクティブなフリートの名前を選択して、フリートの詳細ページを開きます。

1. **[スケーリング]** タブを選択します。このタブには、フリートのスケーリングメトリクスの履歴が表示され、現在のスケーリング設定を調整するコントロールを含んでいます。

1. **[スケーリング容量]** で、**[最小サイズ]** と **[最大サイズ]** の制限がフリートに適していることを確認します。自動スケーリングを有効にすると、これらの 2 つの制限間でキャパシティが調整されます。

1. **[ターゲットベースの自動スケーリングポリシー]** で、**[編集]** を選択します。

1. **[ターゲットベースの自動スケーリングポリシーの編集]** ダイアログボックスの **[使用可能なゲームセッションの割合]** で、維持したい割合 (パーセント) を設定し、**[確認]** を選択します。設定を確認すると、Amazon GameLift Servers は **[ターゲットベースの自動スケーリングポリシー]** の下に新しいターゲットベースのポリシーを追加します。

------
#### [ 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>
   --target-configuration <buffer size>
   ```

   例:

   ```
   aws gamelift put-scaling-policy \
       --fleet-id "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa" \
       --name "My_Target_Policy_1" \
       --policy-type "TargetBased" \
       --metric-name "PercentAvailableGameSessions" \
       --target-configuration "TargetValue=5"
   ```

------

# ルールベースのポリシーによる自動スケーリング
<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 はメトリクスに対してポリシーを評価し、スケーリングイベントの発生後に再開されたポリシーの評価期間を追跡します。これは、待機時間が終わるとすぐに、スケーリングポリシーにより別のスケーリングイベントが開始される可能性があることを意味します。

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

# ゼロとの間でAmazon GameLift Serversフリートのスケーリングを管理する
<a name="fleets_scale-to-from-zero"></a>

Amazon GameLift Servers は、ゲームセッションアクティビティに基づいて、ゼロインスタンスとの間の自動スケーリングをサポートします。このマネージドキャパシティオプションを使用すると、ゲームセッションアクティビティがない定義された期間後にフリートロケーションをゼロインスタンスにスケールインし、ゲームセッションがリクエストされたときに自動的にスケールアウトできます。

ゼロインスタンスとのスケーリングには、いくつかの利点があります。
+ **コストの最適化** – ゲームセッションアクティビティがないときにインスタンスをゼロにすることで、非アクティブ期間中のコンピューティングコストを排除します。
+ **自動リアクティブスケールアウト** – ゲームセッションがリクエストされると、フリートのロケーションが 1 つのインスタンスに自動的にスケールアウトされるため、手動による介入は必要ありません。
+ **管理の簡素化** – 予想されるプレイヤーの需要や開発ニーズに基づいて、フリートの容量をゼロに手動で調整する必要はありません。

フリートでゼロへのスケール/ゼロからのスケールを有効にすると、Amazon GameLift Servers はゲームセッションアクティビティをモニタリングし、フリートの容量を自動的に調整します。
+ **ゼロへのスケールイン** – ゲームセッションアクティビティのない設定された期間後、 はフリートの場所をゼロインスタンスにAmazon GameLift Serversスケールインします。
+ **ゼロからのスケールアウト** – ゲームセッション作成リクエストを受信すると、 はフリートの場所を 1 つのインスタンスにAmazon GameLift Serversスケールアウトし、自動スケーリングを再開できるようにします。
+ **継続的なスケーリング** — スケールアウト後、フリートは設定された自動スケーリングポリシーを使用して容量を管理します。

## スケールイン動作
<a name="scale-in-behavior"></a>

Amazon GameLift Servers は、設定された非アクティブ期間が経過し、ゲームセッションアクティビティがない場合、フリートの場所のスケールインプロセスを開始します。これは、次の期間として定義されます。
+ フリートの場所にアクティブなゲームセッションはありません。
+ フリートロケーションに新しいゲームセッションを作成するリクエストは行われていません。

スケールイン中、 Amazon GameLift Serversはフリートロケーションの最小容量と希望する容量をゼロに設定し、コスト削減のために迅速にスケールインします。

## スケールアウト動作
<a name="scale-out-behavior"></a>

フリートの場所が 0 インスタンスのときにゲームセッション作成リクエストを受信した場合:
+ Amazon GameLift Servers は 1 つのインスタンスのスケールアウトをすぐに開始します。
+ ゲームセッションの配置試行は、キューの設定 (使用する場合) に応じて、他のフリートまたはフリートのロケーションで続行できます。

**注記**  
ゼロからスケールアウトするには、インスタンスのプロビジョニングと初期化に時間がかかります。プレイヤーは、非アクティブ状態が続くと、最初のゲームセッションの待機時間が長くなることがあります。このため、この機能はマルチロケーションフリートやキューと組み合わせるのが最適です。

## ゼロとの間でスケールを設定する
<a name="configuring-scale-to-from-zero"></a>

ゼロとのスケーリングは、既存のフリートを更新することによって設定されます。

------
#### [ Console ]

1. [Amazon GameLift Servers コンソール](https://console.aws.amazon.com/gamelift/)を開きます。

1. ナビゲーションペインで **[ホスティング]**、**[フリート]** を選択します。

1. **[フリート]** ページで、アクティブなフリートの名前を選択して、フリートの詳細ページを開きます。

1. **「スケーリング**」で、ゼロとの間でスケールを設定する各場所を選択し、**「編集**」を選択します。

1. **スケーリング容量の編集**ダイアログボックスで、**最小容量戦略**に「自動」を選択し、**最小容量を 0 に設定してから****「確認**」を選択します。

Amazon GameLift Servers その後、設定された期間にゲームセッションアクティビティがない場合、 は選択したフリートロケーションを 0 インスタンスにスケールインします。その後、この場所でゲームセッションのリクエストが行われると、 Amazon GameLift Servers はできるだけ早く 1 つのインスタンスをスケールアウトします。このプロセスには少し時間がかかります。

------
#### [ AWS CLI ]
+ **ゼロとの間でスケールを設定します。**コマンドラインウィンドウで、[update-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-capacity.html) コマンドをフリート ID、ロケーション、マネージドキャパシティ設定とともに使用して、ゼロへのスケール/ゼロからのスケールを設定します。

  ```
  aws gamelift update-fleet-capacity \
                                  --fleet-id <fleet identifier> \
                                  --location <location name> \
                                  --managed-capacity-configuration ScaleInAfterInactivityMinutes=60,ZeroCapacityStrategy=SCALE_TO_AND_FROM_ZERO
  ```

  例:

  ```
  aws gamelift update-fleet-capacity \
                                  --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
                                  --location us-west-2 \
                                  --desired-instances 5 \
                                  --max-size 10 \
                                  --managed-capacity-configuration ScaleInAfterInactivityMinutes=60,ZeroCapacityStrategy=SCALE_TO_AND_FROM_ZERO
  ```

リクエストが成功すると、 は更新された容量設定Amazon GameLift Serversを返します。 Amazon GameLift Serversは、設定された期間にゲームセッションアクティビティがない場合、選択したフリートロケーションを 0 インスタンスにスケールインします。その後、この場所でゲームセッションのリクエストが行われると、 Amazon GameLift Servers はできるだけ早く 1 つのインスタンスをスケールアウトします。このプロセスには少し時間がかかります。

------

## ベストプラクティス
<a name="best-practices"></a>

Scale To/From Zero を使用する場合は、次の推奨事項を考慮してください。
+ **適切な非アクティブ期間を設定する** – コスト削減とスケールイン/スケールアウトサイクルの頻度のバランスを取ります。ゼロにスケールするまでの待機時間が短いほど、節約が最大化されますが、コールドスタートの頻度は高くなります。
+ **予測可能なワークロードでの使用** – ゼロへのスケーリング/ゼロからのスケーリングは、開発/テスト環境やオフピーク時間が異なるゲームなど、非アクティブ期間が明確なゲームに最適です。
+ **CloudWatch メトリクスのモニタリング** – フリートスケーリングイベントとゲームセッションの配置時間を追跡して、設定を最適化します。
+ **スケーリングポリシーとの組み合わせ** – 包括的なキャパシティ管理のために、ターゲットベースまたはルールベースの自動スケーリングとともにゼロへのスケーリング/ゼロからのスケーリングを使用します。

# Amazon GameLift Servers コンテナフリートのスケーリング
<a name="containers-scaling"></a>

ゲームホスティングで最も困難なタスクの 1 つが、不要なリソースに無駄なコストを浪費することなく、プレイヤーの需要に合わせてキャパシティをスケーリングすることです。マネージドコンテナフリートでは、フリートインスタンスを追加または削除してフリート容量をスケーリングします。

新しいフリートを作成すると、Amazon GameLift Servers はフリートの希望する容量を 1 つのインスタンスに設定し、フリートのホームリージョンに 1 つのインスタンスをデプロイします。マルチロケーションフリートの場合、Amazon GameLift Servers はホームリージョンと各リモートロケーションに 1 つのインスタンスをデプロイします。フリートのステータスが `ACTIVE` に達したら、希望する容量を増やして、希望する容量を増減してスケールダウンできます。

Amazon GameLift Servers スケーリング機能を使用して容量を手動で変更したり、プレイヤーの需要に基づいて自動スケーリングを設定したりできます。
+ ターゲット追跡を使用して自動スケーリングを設定します。「[ターゲットベースの自動スケーリング](fleets-autoscaling-target.md)」を参照してください。
+ フリートの容量を手動で変更します。「[Amazon GameLift Servers フリートの容量を手動で設定する](fleets-updating-capacity.md)」を参照してください。

コンテナフリートをスケーリングするときは、インスタンスの追加または削除がゲームセッションとプレイヤーをホストするフリートの容量にどのように影響するかを検討してください。
+ [インスタンスあたりのゲームセッション]
  + インスタンスで実行されている各ゲームサーバープロセスは、1 つのゲームセッションをホストする容量を表します。
  + この式を使用して、コンテナフリートインスタンスで同時に実行されるゲームセッションの数を計算します。

    ```
    [Game sessions per instance] = [# of game server processes per game server container] * [# of game server container groups per instance]
    ```

    コンテナアーキテクチャがゲームサーバーコンテナで 1 つのゲームサーバープロセスを同時に実行する場合、インスタンスあたりのゲームセッション数は、インスタンスあたりのゲームサーバーコンテナグループの数と等しくなります。
    + インスタンスあたりのゲームサーバーコンテナグループの場合、[DescribeContainerFleet](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeContainerFleet.html) を呼び出して `GameServerContainerGroupsPerInstance`または `MaximumGameServerContainerGroupsPerInstance`値を取得します。
    + インスタンスに収まるゲームサーバーコンテナグループの数は、 がオペレーティングシステムとサポートサービスの一部Amazon GameLift Serversを予約した後に使用可能なメモリの量によって異なります。使用可能なメモリの計算方法と一般的なインスタンスタイプのリファレンステーブルの詳細については、「」を参照してください[コンテナフリートのメモリ割り当てを理解する](containers-design-fleet.md#containers-design-fleet-memory-allocation)。
+ インスタンスあたりのプレイヤー
  + 各ゲームセッションで許可するプレイヤースロットの数を決定します。ホスティングソリューションがゲームセッションの配置を処理する方法に応じて、マッチメーキング設定または呼び出しでゲームセッションごとにプレイヤーを定義して、ゲームセッションの配置を開始できます。
  + コンテナフリートインスタンスでゲームを同時にプレイできるプレイヤーの数を計算するには、次の式を使用します。

    ```
    [Players per instance] = [# of game sessions per instance] * [# of player slots per game session]
    ```

コンテナフリートの現在の合計容量を取得するには、[DescribeFleetCapacity](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeFleetCapacity.html) または [DescribeFleetLocation キャパシティ](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeFleetLocationCapacity.html)を呼び出して、フリート内のゲームサーバーコンテナグループの数を取得します。アクティブグループは、現在ゲームセッションをホストしているグループです。アイドルグループは、新しいゲームセッションをホストする準備ができています。これらの値をゲームサーバーコンテナグループあたりのサーバープロセスの数で乗算します。