関数の最小インスタンス数を 0 より大きい値に設定すると、弾性リソースが事前に割り当てられます。これにより、ピーク時のコールドスタートによるリクエストの遅延を防ぐことができます。また、スケジュールやメトリックのしきい値に基づいて最小インスタンス数を自動的にスケーリングするポリシーを設定することもできます。これにより、高いパフォーマンスを確保し、インスタンスの使用率を向上させることができます。
最小インスタンス数を 0 より大きい値に設定すると、コールドスタートを軽減し、遅延の影響を受けやすいアプリケーションの応答時間を改善するのに役立ちます。これらのインスタンスは、使用されていない場合でも課金されます。インスタンスがリクエストを処理しているときは、アクティブな弾性インスタンスとして課金されます。リクエストを処理していないときは、アイドル状態の弾性インスタンスとして課金されます。課金の詳細については、「課金概要」をご参照ください。
最小インスタンス数の弾性ポリシーは、関数のエイリアスまたは LATEST バージョンに対してのみ設定できます。
最小インスタンス数の設定
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーでリージョンを選択します。[関数] ページで、[関数の作成] をクリックします。
関数を作成 ページの エラスティックポリシー セクションで、最小インスタンス数 を設定します。他の必須パラメーターを設定し、作成 をクリックします。
弾性ポリシーの設定
対象の関数の詳細ページで、エラスティックポリシー タブをクリックします。下部の エラスティックポリシー セクションで、対象のポリシーの 変更 をクリックします。
エラスティックポリシーの編集 パネルで、最小インスタンス数の動的弾性ポリシーを設定します。
説明複数の弾性ポリシーを設定した場合、システムは各ポリシーの 最小インスタンス数 を計算し、現在アクティブなすべてのポリシーの 最小インスタンス数 の最大値を現在の最小インスタンス数として使用します。詳細については、「現在の最小インスタンス数はどのように計算されますか?」をご参照ください。
弾性ポリシーがアクティブな間、初期の 最小インスタンス数 の設定は有効になりません。特定の期間中にアクティブな弾性ポリシーがない場合、最小インスタンス数は最初に 最小インスタンス数 パラメーターに設定した値に戻ります。
スケジュールによるスケーリング または 利用状況によるスケーリング のスケーリングポリシーを設定する
スケジュールされたスケーリング
スケジュールされたスケーリングポリシーは、周期的なパターンが明確であるか、トラフィックのピークが予測可能な関数に適しています。関数の同時呼び出し数が最小インスタンス数を超えると、超過したリクエストはオンデマンドの弾性インスタンスによって自動的に処理されます。詳細については、「スケジュールされたスケーリング」をご参照ください。

図に示すように、この例では タイムゾーン を Asia/Shanghai (中国標準時) に設定しています。このポリシーは長期間有効で、月曜日から金曜日の 10:00 に最小インスタンス数を 50 にスケールアップし、22:00 に 5 にスケールダウンします。
しきい値ベースのスケーリング
システムは、インスタンスの同時利用率、メモリ使用率、または GPU インスタンスのリソース使用率などのメトリックを定期的に収集します。指定された条件が満たされると、システムは 最小インスタンス数 をスケーリングします。詳細については、「しきい値ベースのスケーリング」をご参照ください。

図に示すように、この例では タイムゾーン を Asia/Shanghai (中国標準時) に設定しています。このポリシーは 2025年7月15日 00:00 から 2025年7月31日 00:00 まで有効です。このポリシーは、インスタンスの同時利用率 メトリックを目標値 60% で追跡します。使用率が 60% を超えると、システムは最大 100 インスタンスまでスケールアウトします。使用率が 60% を下回ると、最小 10 インスタンスまでスケールインします。
CPU 関数の場合、最小インスタンス数のしきい値ベースのスケーリングは、インスタンスの同時利用率 と メモリ使用率 メトリックを監視します。GPU 関数の場合、これらのポリシーは、次の図に示すように、インスタンスの同時利用率 と GPU 関連のリソース使用率メトリックの監視もサポートします。
CPU 関数
GPU 関数


cron 式を使用した定期的なスケーリングの設定
ワークロードが明確で定期的なスケジュールに従う場合は、cron 式を使用して最小インスタンス数を定期的にスケーリングすることもできます。次の図に示すように、タイムゾーン は Asia/Shanghai (中国標準時) に設定されています。最小インスタンス数は、毎週月曜日の 10:00 に 10 にスケールアウトされ、毎週金曜日の 22:00 に 1 にスケールインされます。

最小インスタンス数の弾性ポリシーの変更または削除
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。対象の関数をクリックし、エラスティックポリシー タブに移動します。対象のポリシーを見つけ、操作 列で 変更 または 削除 をクリックします。
エイリアスの最小インスタンス数の弾性ポリシーを削除すると、そのエイリアスに事前に割り当てられていたすべてのインスタンスが解放されます。その後、関数は自動的にオンデマンドスケーリングに切り替わりますが、これにはコールドスタートが伴う場合があります。CPU ベースのサービスの場合、平均的なコールドスタート時間は通常、アプリケーションの起動速度に応じて数百ミリ秒です。GPU ベースのサービスの場合、平均的なコールドスタート時間は、モデルのサイズと読み込み速度に応じて数分かかることがあります。
参考資料
特定の関数のインスタンス数を制限するには、関数クォータを設定できます。関数の実行中のインスタンスの合計数が設定された制限を超えると、Function Compute はスロットリングエラーを返します。