AWS Lambda 関数のランタイムを最新バージョンにアップグレードしたいです。
解決策
Lambda 関数をアップグレードする前に、アップグレードするランタイムを実行しているすべての関数を一覧表示します。次の AWS コマンドラインインターフェイス (AWS CLI) コマンド list-functions を実行します。
aws lambda list-functions --query "Functions[?Runtime=='python3.12'].FunctionArn"
注: python3.12 は、お使いのランタイムに置き換えます。AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI でのエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
各関数の Amazon CloudWatch ログを確認し、その関数で最近使用された ARN を特定します。最新のランタイムバージョンがデプロイパッケージと互換性がない場合は、ARN を使用して最新の安定したランタイムバージョンにロールバックします。
問題が発生した場合は、アップグレードする前に Lambda 関数をバックアップしてください。ディザスタリカバリのベストプラクティスに関する詳細については、「AWS Lambda - 関数のエクスポート」を参照してください。
Lambda ランタイムをアップグレードするには、ランタイム設定に移動し、ランタイムのバージョンを設定します。また、[ランタイム管理設定] を [自動] に設定します。この設定では、関数が自動的に最新のランタイムにアップグレードされ、2 段階のランタイムバージョンロールアウトを使用します。
ランタイムをアップグレードしたら、次のアクションを実行します。
- 既存のコードが新しいランタイムバージョンで実行されることを確認します。お使いの関数が新しいランタイムで問題の原因となる場合は、その関数の ARN を使用して以前の作業バージョンにロールバックします。
- コード内のすべての依存関係とレイヤーが新しいランタイムバージョンと互換性があることを確認します。
注: 新しいランタイムバージョンで更新するコードには、下位互換性が必要です。
関連情報
ランタイムを変更する
AWS Lambda ランタイム管理コントロールの紹介
Lambda がランタイムバージョン更新を管理するしくみ