Code Engine の制限と割り当て量
以下のセクションには、IBM Cloud® Code Engine の制約と割り当て量の設定に関する技術的な詳細を記載しています。
リソースの割り当ては、プロジェクトのノルマや請求にどのように影響しますか?
コンソールから、プロジェクト概要ページで現在の Code Engine リソース割り振りに関する情報を表示できます。 特定のアプリケーションまたはジョブごとに設定した内容に基づいて、割り当てられたメモリと vCPU の値に関する情報を表示したい場合は、プロジェクト内のアプリケーションまたはジョブのリストを表示します。 CLI を使用する場合は、project get コマンドを使用して、プロジェクトの現在のリソース割り振りの使用量に関する情報を取得することもできます。
Code Engine では、ワークロードが消費する構成されたメモリと vCPU および着信する HTTP コールに基づき、使用するリソースに対してのみ料金を支払います。 アプリのスケールがゼロになったり、ジョブやビルドが実行されていなければ、リソースを消費していないので、課金されることはありません。 すべてのアプリケーションとジョブをホストするために、Code Engineは必要なインフラストラクチャーをデプロイして管理します。 このインフラストラクチャーについては請求は行われませんが、プロジェクト割り当て量に対してはカウントされます。 割り当て量について詳しくは、以下の表を参照してください。
一時ストレージの使用は、メモリーによって制限されるようになりました。 Code Engine の一時ストレージは、 0.4 GB (400 MB) のデフォルト値またはメモリーの構成値を超えることはできません。 一時ストレージにデフォルトより多くのメモリーが必要な場合は、 vCPU とメモリーの有効な組み合わせに従ってメモリーを増やす必要があります。
一時ストレージとメモリーの関係について詳しくは、 サポートされるメモリーと CPU の組み合わせ を参照してください。
アプリケーションのデフォルトおよび制限
以下の表に、アプリケーションの制限をリストします。
| カテゴリ | デフォルト | 最大値: | 最大値を拡張する必要がありますか? |
|---|---|---|---|
| CPU | 1.0 | 12.0 | IBM サポートにお問い合わせください |
| 一時ストレージ | 400 M | 48 G (メモリーによる制限) |
IBM サポートにお問い合わせください |
| 最大スケール | 10 | 250 | IBM サポートにお問い合わせください |
| メモリー | 4 G | 48 ギガバイト | IBM サポートにお問い合わせください |
| 最小スケール | 0 | 250 | IBM サポートにお問い合わせください |
| 並行性 | 100 | 1000 | IBM サポートにお問い合わせください |
| タイムアウト | 300 秒 | 600 秒 | IBM サポートにお問い合わせください |
サポートされる CPU とメモリーの組み合わせについて詳しくは、サポートされるメモリーと CPU の組み合わせを参照してください。
Code Engine には、プロジェクト内のアプリに対する制限があります。
- 1プロジェクトにつき40アプリまで。
- 1プロジェクトにつき、すべてのアプリの修正回数は合計120回に制限されます。
Code Engine は、アプリケーションのリソースのオーバーコミットをサポートしていません。 したがって、API またはkubectl apply -f <yaml>を使用してアプリケーションを作成する場合は、CPU、Memory、およびEphemeral StorageのResource.RequestsおよびResource.Limitsの値を指定する必要があり、これらの値は同じでなければなりません。
ジョブのデフォルトおよび制限
以下の表に、ジョブの制限をリストします。
| カテゴリ | デフォルト | 最大値: | 最大値を拡張する必要がありますか? |
|---|---|---|---|
| 配列添字 | 0 | 9999999 | IBM サポートにお問い合わせください |
| 配列サイズ | 1 | 1000 | 該当なし |
| CPU | 1.0 | 12.0 | IBM サポートにお問い合わせください |
| 一時ストレージ | 400 M | 48 G (メモリーによる制限) |
IBM サポートにお問い合わせください |
| メモリー | 4 G | 48 ギガバイト | IBM サポートにお問い合わせください |
| 再試行 | 3 | 5 | IBM サポートにお問い合わせください |
| タイムアウト | 7200 秒 (2 時間) | 86400 秒 (24 時間) | IBM サポートにお問い合わせください |
配列のインデックスは、カンマで区切られたリストまたはハイフンで区切られたインデックスの範囲であり、実行するジョブインスタンスを指定します。例えば、 1,3,6,9 または 1-5,7-8,10。
アレイ・ サイズは、並行して実行するジョブ・インスタンスの数である。
サポートされる CPU とメモリーの組み合わせについて詳しくは、サポートされるメモリーと CPU の組み合わせを参照してください。
Code Engine は、プロジェクトごとに 100 個のジョブに制限されています。 100回のジョブ実行が開始されたら、新しいジョブ実行を開始する前に、必ず古いジョブ実行をクリーンアップしてください。
ジョブ・サイズの制限
Code Engine は、ジョブとジョブ実行のサイズを制限します。最大値は 10 KiB です。 コンソール、CLI、または API でジョブとジョブ実行を作成または更新するときに、Code Engine はそのジョブまたはジョブ実行のサイズをチェックします。 操作が制限を超えている場合は、サイズ制限の超過エラーが返されます。 このエラーが表示された場合は、次のいずれかの方法でジョブまたはジョブ実行のサイズを小さくしてみてください。
-
コマンドと引数を使用する場合は、これらのオプションの使用を減らす、短くする、ジョブまたはジョブ実行で使用するコンテナー・イメージの中に移動することを試してください。
-
環境変数を使用する場合は、環境変数の数を少なくしたり、短くしたりしてみてください。 シークレットまたは構成マップを使用して環境変数を定義し、
--env-from-secretまたは--env-from-configmapオプションを指定したjob create、job update、jobrun submit、jobrun resubmitコマンドを使用して、それらの環境変数をジョブにインポートすることができます。
ジョブのトラブルシューティングの詳細については、「 トラブルシューティング - ジョブの実行を送信できません 」を参照してください。
機能の制限
次の表は、機能の制限を示したものである。
| カテゴリ | 最大値 |
|---|---|
| ランタイムの長さ | 120 秒 |
| メモリー | 48000 MB |
| リクエスト・ボディとレスポンス・ボディのサイズ | 5 MB |
| コード・サイズ (インライン) | 100 KB ( base64 オーバーヘッドを含む) |
| コード・サイズ (ローカル・ソース) | 200 MB 圧縮 |
| コード・サイズ (API) | 100 KB ( base64 オーバーヘッドを含む) |
定期タイマー (cron) のサブスクリプションの制限
以下の表に、定期的タイマー・サブスクリプションの制限をリストします。
| カテゴリ | 最大値 | 最大値を拡張する必要がありますか? |
|---|---|---|
| データのサイズ | 4096 バイト | IBM サポートにお問い合わせください |
Code Engine では、定期タイマー (cron) イベントのデータ・サイズが最大 4096 バイトに制限されています。 定期タイマー (cron) イベントを作成または更新すると、Code Engine がその cron イベントのデータのサイズをチェックします。 定期タイマー (cron) イベントのデータが制限を超えている場合は、サイズ制限超過エラーが返されます。 このエラーを受け取った場合は、cron イベントのデータのサイズを 4096 バイト未満に減らしてみてください。
サブスクリプションのトラブルシューティングについて詳しくは、サブスクリプションのデバッグを参照してください。
プロジェクトの制限
以下の表は、プロジェクトの制限を示したものである。
| カテゴリ | 最大値 | 最大値を拡張する必要がありますか? |
|---|---|---|
| 地域ごとのプロジェクト | 20 | IBM サポートにお問い合わせください |
プロジェクトの最大数には、アクティブなプロジェクトと、完全には削除されていないプロジェクトが含まれます。 プロジェクトを削除すると、そのプロジェクトはソフト削除され、永久削除される前に7日以内に復元することができます。 論理削除されたプロジェクトは、コンソールまたは CLI を使用して表示できます。 詳しくは、プロジェクトの削除を参照してください。
プロジェクトの割り当て量
以下の表に、プロジェクトの割り当て量をリストします。
制限は、プロジェクト内で相互に独立して適用されることに注意してください。 制限 (512 GB のメモリーの制限など) に達すると、この割り当て量制限は、アプリまたはジョブの 250 個のインスタンスなどの別の制限にまだ達していない場合でも、ワークロードを実行する能力に影響を与える可能性があります。
| カテゴリ | 説明 |
|---|---|
| アプリ | 1プロジェクトにつき40アプリまで。 |
| アプリのリビジョン | 1プロジェクトにつき、すべてのアプリの修正回数は合計120回に制限されます。 |
| ビルド | ビルド構成はプロジェクトごとに 100 個に制限されます。 |
| ビルド実行 | ビルド実行は、プロジェクトごとに 100 個に制限されます。これを超えると、古いものを削除またはクリーンアップする必要があります。 |
| 構成マップ | 構成マップはプロジェクトごとに 100 個に制限されます。 |
| CPU | すべてのアプリ・インスタンス、実行中のジョブ・インスタンス、および実行中のビルド・インスタンスの組み合わせの合計は、128 vCPUを超えることはできません。 |
| ドメイン・マッピング (カスタム) | プロジェクトごとに、カスタム・ドメイン・マッピングは 80 個に制限されています。 |
| 一時ストレージ | すべてのアプリ・インスタンス、実行中のジョブ・インスタンス、および実行中のビルド・インスタンスの組み合わせの合計は、512 G の一時ストレージを超えることはできません。 |
| 関数 | 1プロジェクトにつき20ファンクションまで。 |
| インスタンス (アクティブ) | アプリインスタンス、ファンクションインスタンス、実行中のジョブインスタンス、実行中のビルドインスタンスの数は250を超えることはできません。 |
| インスタンス (合計) | アクティブ・インスタンスの数、および完了したジョブ・インスタンスとビルド・インスタンスの数が 2500 を超えることはできません。 |
| ジョブ | ジョブはプロジェクトごとに 100 個に制限されます。 |
| ジョブ実行 | ジョブ実行は、プロジェクトごとに 100 個に制限されます。これを超えると、古いものを削除またはクリーンアップする必要があります。 |
| メモリー | すべてのアプリ・インスタンス、実行中のジョブ・インスタンス、および実行中のビルド・インスタンスの組み合わせの合計は、512 G のメモリーを超えることはできません。 |
| 秘密 | シークレットはプロジェクトごとに 100 個に制限されます。 |
| サブスクリプション (IBM Cloud Object Storage) | サブスクリプション (Object Storage) はプロジェクトごとに 100 個に制限されます。 |
| サブスクリプション (Kafka / IBM® Event Streams for IBM Cloud®) | Kafka、1プロジェクトにつき100件までとさせていただきます。 |
| サブスクリプション (定期タイマー (cron)) | 定期タイマー (cron) のサブスクリプションはプロジェクトごとに 100 個に制限されます。 |
例えば、アプリまたはジョブの 128 個の vCPU または 250 個のアクティブ・インスタンスに制限されています。 各制限は他の制限から独立して適用されるため、 0.125 VCPU を使用してアプリを 250 インスタンスにスケーリングするとします。 これらの値は約32vCPU,という結果になり、この結果は最大128vCPUより小さいので機能する。 ただし、0.125 vCPU,で512インスタンスを使用することはできません。この場合、最大128vCPU,は満たしますが、最大250インスタンスの制限に違反することになります。
制限の緩和
しきい値は固定されていますが、IBM サポートへの連絡およびサポート Case の作成だけ増やすことができます。