すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:定時自動スケーリング

最終更新日:Nov 07, 2025

ビジネスのピーク時間とオフピーク時間を予測できる場合は、定時スケーリングを使用して、事前に定義されたスケジュールに基づいてインスタンス数を自動的に調整できます。トラフィックのピーク前にスケールアウトしてサービスパフォーマンスを確保し、オフピーク期間中にスケールインしてコストを節約します。このトピックでは、この機能の設定方法と、水平自動スケーリングとの連携方法について説明します。

方法 1: コンソールで定時スケーリングを設定する

定時自動スケーリングを有効にする

  1. PAI コンソールにログインします。ページ上部でリージョンを選択します。次に、目的のワークスペースを選択し、[Elastic Algorithm Service (EAS)] をクリックします。

  2. サービスリストで、ターゲットサービスをクリックしてその [概要] ページを開きます。

  3. [Auto Scaling] タブの [定時スケーリング] セクションで、[定時スケーリングを有効にする] をクリックします。

  4. [定時自動スケーリング設定] ダイアログボックスで、次のパラメーターを設定します。[追加] をクリックして複数のタスクを設定することもできます。完了したら、[OK] をクリックします。

    パラメーター

    説明

    タスク名

    スケジュールされたスケーリングタスクの名前。

    予想インスタンス数

    予想インスタンス数。

    スケーリングスケジュール

    タスクを実行する時間。次のいずれかの方法で時間を設定できます。

    • : 毎週繰り返されるスケジュール。

    • : 毎日繰り返されるスケジュール。

    • Cron 式: cron 式を使用してスケジュールを設定します。

定時スケーリング設定を更新する

  1. [Auto Scaling] タブの [定時スケーリング] セクションで、[CronHPA の管理] をクリックできます。

  2. [CronHPA 設定] ダイアログボックスで、[タスク名][予想インスタンス数]、または [スケーリングスケジュール] の設定を変更できます。

  3. [更新] をクリックします。

定時自動スケーリングを無効にする

  1. [Auto Scaling] タブの [定時スケーリング] セクションで、[定時スケーリングを無効にする] をクリックします。

  2. [無効化の確認] ダイアログボックスで、[OK] をクリックします。

方法 2: ローカルクライアントを使用して設定する

定時自動スケーリングを有効または更新する

サービスを作成した後、定時スケーリングはデフォルトで無効になっています。eascmd クライアントにログインし、cronscale サブコマンドを使用してこの機能を有効または更新できます。eascmd ローカルクライアントへのログイン方法の詳細については、「クライアントのダウンロードと認証」をご参照ください。

コマンドフォーマット (Windows 64 ビット版を例として使用)

eascmdwin64.exe cronscale [region]/[service_name] -s cronscale.json

コマンドを実行する前に、パラメーターの説明に従って cronscale.json ファイルを設定します。次のコードは、cronscale.json 設定のサンプルです。

{
  "ExcludeDates": ["* * * * * 6,0"],
  "ScaleJobs": [
    {
      "Schedule": "0 15,45 * * * *",
      "TargetSize": 6
    },
    {
      "Schedule": "0 0,30 * * * *",
      "TargetSize": 1
    },
    {
      "Schedule": "0 7,22,37,52 * * * *",
      "TargetSize": 3
    }
  ]
}

パラメーター名

説明

ExcludeDates

スケジュールから除外する時間を Cron 式として指定します。詳細については、「付録: Cron 式」をご参照ください。

説明

ScaleJobs の Cron 式が ExcludeDates の式と一致する場合、ScaleJobs タスクは実行されません。

["* * * * * 0,6"]

スケジュールされたスケーリングタスクは土曜日または日曜日に実行されません。

ScaleJobs

実行されるスケジュールされたスケーリングタスク。タスクには Schedule、TargetSize、および Name パラメーターが含まれます。

  • Schedule: タスクを実行する時間。これは cron 式です。詳細については、「付録: Cron 式」をご参照ください。

  • TargetSize: ターゲットのインスタンス数。

  • Name: タスクのカスタム名。このパラメーターはオプションです。

    Name パラメーターは、次のルールに従う必要があります。

    • 英字と数字のみを含めることができます。

    • 最大 20 文字。

[ { "Schedule": "0 0 18 * * *", "TargetSize": 10, "Name": "scale-up" }, { "Schedule": "0 0 22 * * *", "TargetSize": 3, "Name": "scale-down" }]

サービスは毎日 18:00 に 10 インスタンスにスケールアウトされ、毎日 22:00 に 3 インスタンスにスケールインされます。

定時自動スケーリング設定の表示

コマンドフォーマット (Windows 64 ビット版を例として使用)

eascmdwin64.exe cronscale show [region]/[service_name]
[RequestId]: F4C38D2D-4B38-5CB7-B706-9A1C41D4617E
+--------------+----------------------------+---------+------------+----------------------+
|     NAME     |          SCHEDULE          |  STATE  | TARGETSIZE |    LASTPROBETIME     |
+--------------+----------------------------+---------+------------+----------------------+
| scale-jobs-1 | 0 5,15,25,35,45,55 * * * * | Succeed |          1 | 2022-03-03T13:45:00Z |
| scale-jobs-0 | 0 0,10,20,30,40,50 * * * * | Succeed |          4 | 2022-03-03T13:50:00Z |
+--------------+----------------------------+---------+------------+----------------------+

定時自動スケーリングを無効にする

コマンドフォーマット (Windows 64 ビット版を例として使用)

eascmdwin64.exe cronscale rm [region]/[service_name]

定時自動スケーリングと水平自動スケーリングの互換性

定時スケーリング (Cronscaler) は、水平自動スケーリング (Autoscaler) と同時に有効にすることができます。両方が有効になっている場合、Cronscaler は Autoscaler の min または max の値を変更します。

重要

Cronscaler は Autoscaler の設定を永続的に変更しますが、元の Autoscaler 設定は次のスケジュールされたスケーリングイベントまで有効なままです。サービスが更新またはスペックアップされるたびに、Autoscaler 設定は元の設定に復元されます。

Cronscaler と Autoscaler が同時に有効になっている場合、minmax の値は次の表のルールによって決定されます。

水平自動スケーリングの最小/最大

定時自動スケーリング

現在のインスタンス数

最終結果

説明

1/10

5

5

  • 水平 (最小/最大): 1/10

  • インスタンス数: 5

ターゲットが現在のインスタンス数と一致する場合、変更は発生しません。

1/10

4

5

  • 水平 (最小/最大): 1/10

  • インスタンス数: 5

ターゲットが現在のインスタンス数より低い場合、カウントは維持されます。

1/10

6

5

  • 水平 (最小/最大): 6/10

  • インスタンス数: 6

  • Cronscaler のターゲットインスタンス数が現在のインスタンス数より多い場合、Cronscaler のターゲットインスタンス数が維持されます。

  • Cronscaler のターゲットインスタンス数が Autoscaler の最小インスタンス数より多い場合、Autoscaler のインスタンス数の下限が変更されます。

5/10

4

5

  • 水平 (最小/最大): 4/10

  • インスタンス数: 5

  • Cronscaler のターゲットインスタンス数が現在のアプリケーションインスタンス数より少ない場合、現在のアプリケーションインスタンス数が維持されます。

  • Cronscaler のターゲットインスタンス数が Autoscaler の最小インスタンス数より少ない場合、Autoscaler のインスタンス数の下限が変更されます。

5/10

11

5

  • 水平 (最小/最大): 11/11

  • インスタンス数: 11

  • Cronscaler のターゲットインスタンス数が現在のインスタンス数より多い場合、Cronscaler のターゲットインスタンス数が維持されます。

  • Cronscaler のターゲットインスタンス数が Autoscaler の最大インスタンス数より多い場合、Autoscaler のインスタンス数の上限が変更されます。

付録: Cron 式

定時スケーリングは、Cron 式を使用してスケジュールを定義します。

Cron 式Cron expression

  • 特殊文字

    • アスタリスク (*)

      アスタリスク (*) は任意の値を表します。たとえば、0 0 0 1 * * は毎月 1 日の 00:00 を表します。

    • ハイフン (-)

      ハイフン (-) は連続した値の範囲を表します。たとえば、0 0 12-14 * * * は毎日 12:00、13:00、14:00 を表します。

    • カンマ (,)

      カンマ (,) は複数の離散値を表します。たとえば、0 0 12,14 * * * は毎日 12:00 と 14:00 を表します。

    • スラッシュ (/)

      スラッシュ (/) は増分間隔を表します。たとえば、0 */15 * * * * は毎時 0、15、30、45 分にイベントをトリガーします。スラッシュ (/) はハイフン (-) と一緒に使用できます。たとえば、0 5-40/15 * * * * は毎時 5 分から 40 分まで 15 分ごとにイベントをトリガーします。有効な時点は、毎時 5、20、35 分です。

  • 時間パラメーターの説明

    名前

    有効値

    使用可能な特殊文字

    2番目

    0-59

    * / , -

    0-59

    * / , -

    0-23

    * / , -

    1-31

    * / , -

    1-12 または JAN-DEC

    * / , -

    0-6 または SUN-SAT

    * / , -

よくある質問

  1. 定時スケーリングを使用してサービスを自動的に開始および停止するにはどうすればよいですか?

    はい、できます。インスタンス数をゼロからスケールアップし、再びゼロにスケールダウンすることで、サービスを効果的に「開始」および「停止」できます。

    これを行うには、2 つの個別のスケジュールされたタスクを設定します。

    • スケールアップ (開始): 希望の開始時刻 (例: 午前 8:00) に ターゲットインスタンス1 にスケーリングするタスクを作成します。

    • スケールダウン (停止): 希望の停止時刻 (例: 午後 8:00) に ターゲットインスタンス0 にスケーリングする 2 番目のタスクを作成します。

    これにより、サービスはアクティブな時間帯にのみ実行され、コストが発生するようになります。

    image

    image

関連ドキュメント

  • 定義されたメトリックに基づいてインスタンスを自動的にスケーリングするには、水平自動スケーリングを有効にします。詳細については、「水平自動スケーリング」をご参照ください。

  • 専用リソースグループのマシンリソースによってサービスのスケーリングが制限されないようにするには、EAS 弾性リソースプールを使用できます。詳細については、「弾性リソースプール」をご参照ください。