関数ランタイム
Code Engineには、管理されたランタイムが含まれています。
管理対象ランタイムには、 Node.js と Python のバージョン、および特定の CPU とメモリーの組み合わせが含まれます。 これらのランタイムは、高速始動用に最適化されています。 これらのランタイムは事前にウォームアップされているため、コンテナ・イメージのプルやコンテナやプロセスの起動を回避できる。 既に実行中のコンテナーにコードが注入されます。
コンテナー・イメージをデプロイする必要がありますか? アプリでの作業 」または「 ジョブおよびジョブ実行での作業 」を参照してください。 作成する Code Engine ワークロードのタイプがわからない場合があります。 Code Engine の計画を参照してください。
Code Engine の機能でサポートされる管理対象ランタイム
以下のランタイムが管理対象ランタイムとしてサポートされています。
- Node.js 20, 22 Node.js
- Python 3.11, Python 3.13
関数でサポートされる CPU とメモリーの組み合わせ
機能の CPU とメモリーの有効な組み合わせについては、以下のリストを参照してください。
- 0.25 vCPU および 1 GB メモリー
- 0.5 vCPU および2GBメモリ
- 1 vCPU および 4 GB メモリ (Default)
メモリーと CPU の情報については、 サポートされるメモリーと CPU の組み合わせ を参照してください。
ランタイム・サポート・ライフサイクル
Code Engine関数のマネージド・ランタイムのサポート・ライフサイクルは、ベースとなるプログラミング言語リリースの公式サポート・サイクルに依存します。 関数が使用するランタイムが寿命に達すると、関数は動作しなくなる。 使用終了の前には、非推奨期間(通常6ヶ月)があり、その期間中、ユーザーが新しいランタイムリリースに移行する間、ランタイムはセキュリティアップデートを受け続ける。 次の表は、非推奨期限と使用終了日の一覧である:
のランタイム | 非推奨 | 有効期間終了 |
---|---|---|
Node.js 20 | 1 2025年11月 | 2026年4月30日 |
Node.js 22 | 2026年10月20日 | 2027年4月30日 |
Python 3.11 | 1 2027年5月 | 2027年9月30日 |
Python 3.13 | 2026年10月1日 | 2027年4月30日 |
新しいランタイム・リリースへの関数のアップグレード
新しいランタイム・リリースには、APIを破壊するような変更が含まれている可能性があり、関数はコードの変更を必要とする可能性がある。 新しいランタイム・バージョンを使用するように既存の関数を更新するには、Code Engine ibmcloud ce function update --runtime
CLIコマンドを使用します。 即座に、新しい(選択された)ランタイムリリースをベースとして関数を実行する(=インプレース更新)。 したがって、本番コードではインプレース・アップデートを使用しないでください。
移行フェーズでテスト関数を作成する。
プロダクションコードの更新は、関数の URL が変更されてもよいのか、 URL を維持しなければならないのかによって異なる:
-
URL エンドポイントの変更が許容される場合:
- 新しいランタイムリリースを使用して、元の関数と同じソースコード(またはコードバンドル)に基づいて新しい関数を作成します。
- 新しい関数が期待通りに動作することを確認する。 そうでない場合は、ソースコードを修正し、関数を再構築する。
- 新しい関数( URL )を使用し、以前のバージョンを削除する。
-
元の関数 URL エンドポイントを維持しなければならない場合:
- 新しいランタイムリリースを使用して、元の関数と同じソースコード(またはコードバンドル)に基づいて新しい関数を(テスト関数として)作成する
- テスト関数が期待通りに動作することを確認する。 そうでない場合は、コードを修正してテスト関数を作り直す。
- 新しいランタイムリリースと適合したソースコードを使用するように、元の関数を更新する。