AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Lambda ランタイムバージョンが Lambda ランタイム識別子とは別のものである理由を教えてください。

所要時間1分
0

AWS Lambda ランタイムバージョンについて詳しく知りたいです。Lambda ランタイムとの違いについても詳しく知りたいです。これらの値を特定する方法および、値が Lambda 関数に対してどのような効果を持つかも知りたいです。

簡単な説明

Lambda 関数は、Python 3.12 や Node.js 14.x などの特定のランタイムで実行されます。これらのランタイムは、必要に応じて所有者によって更新されます。Lambda は、各マネージドランタイムが最新のセキュリティアップデート、バグ修正、新機能、パフォーマンス強化、マイナーバージョンリリースのサポートで更新されていることを確認します。その後、これらのランタイムアップデートがランタイムバージョンとして公開されます。Lambda は、これらのランタイム更新を古いランタイムバージョンを使用している Lambda 関数にも適用するため、そのような関数は新しいランタイムバージョンを使用するようになります。

解決策

Lambda ランタイム識別子とLambda ランタイムバージョンの比較

Lambda ランタイム識別子は、Lambda ランタイムバージョンとは別のものです。ランタイム識別子は、nodejs18.x、nodejs20.x、python3.11、python3.12 など、プログラミング言語の明確なメジャーリリースを表します。ランタイムバージョンとは、関数の起動環境用のマイナーランタイムおよびセキュリティパッチを指します。ランタイムバージョンは、個々のランタイムのパッチバージョンを表します。詳細については、「AWS Lambda ランタイム管理コントロールについて」を参照してください。

Lambda ランタイムマイナーバージョン

Lambda ランタイムマイナーバージョンは、Lambda ランタイムバージョンとは別のものです。ランタイムバージョン の ARN を特定するには、次の手順を実行します。

  1. AWS Lambda コンソールを開きます。
  2. 関数名を選択します。
  3. [ランタイム設定] セクションで、[ランタイム管理設定] を選択します。
    または、
    関数ログでランタイムバージョンの ARN を確認します。

Lambda が関数の新しい起動環境を作成するたびに、次のログが表示されます。

INIT_START Runtime Version: python:3.9.v14    Runtime Version ARN: arn:aws:lambda:eu-south-1::runtime:7b620fc2e66107a1046b140b9d320295811af3ad5d4c6a011fad1fa65127e9e6I

Node.js ベースの Lambda 関数用のランタイムマイナーバージョンを確認するには、次の例のように process.version を使用してバージョンをログに記録します。

console.log('NODE_VERSION', process.version)

Python ベースの Lambda 関数用のランタイムマイナーバージョンを確認するには、次の例のように sys.version を使用してバージョンをログに記録します。

import sys
print (sys.version)

Python の出力例:

3.12: 3.12.5 (main, Sep 9 2024, 14:55:57) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]

関連情報

ランタイムバージョンエラーが原因の Lambda 関数エラーをトラブルシューティングする方法を教えてください

ランタイムの更新モード

AWS公式
AWS公式更新しました 1ヶ月前
コメントはありません

関連するコンテンツ