Javascriptの設定を有効にしてください。お使いのブラウザはJavaScriptをサポートしていないか、JavaScriptの設定が無効になっています。このサイトでは、JavaScriptを使用しています。すべての機能をご利用希望の方は、JavaScriptを有効にしてください。 lambda関数のランタイムをバージョンアップ① - COLOR CHIPS Webシステム・ITサービス コラム

L O A D I N G

lambda関数のランタイムをバージョンアップ①

  • Webシステム
  • Engineering Log

2026.01.14

執筆者

M.N.

システムの背景

弊社が、
受託開発・保守をしているシステムのうち、とあるサービスでは一部機能でAWSのlambdaを使用しています。

主にCognito連携やSNS連携のインターフェースなど、複雑なロジックの絡まない一部の機能のみ、lambdaでの実装となっています。

余談ですが、このシステムではフロントエンドにVue2、バックエンドにPHP7.4を使用しており、こちらのバージョンアップ作業も必要なことが判明しています…。

 

現状の課題

使用状況
使用しているlambda関数は20個ほどですが、その全てがnode12ランタイムとなっていました。

問題点
EOLでセキュリティアップデートの対象外となる等の問題以前に、AWSの仕様上、サポートされていないランタイムはデプロイができないため、改修などもできない状況です。

 

バージョンアップ

経緯

自分のアサイン前からのシステムであるため、開発時点でnode12はとっくにEOLを迎えていたはずですが、lambda関数で使用している機能は簡易的なロジックのものばかりのため、ローンチから数年の間で1回も改修が入らなかったのでしょう。

改修が入っていればメンテナンスされていたはず……。

過ぎたことを嘆いても仕方が無いので、lambdaのバージョンアップを実施することになりました。


作業の全体像

01 バージョン変更に伴う影響範囲調査
02 AWSコンソール上でのバージョンアップ作業
03 影響があったコードの改修
04 本番リリース時の切り戻し手順策定
05 本番リリース

 

作業フローごとに、実施した内容

バージョン変更に伴う影響範囲調査

ほぼ全ての関数がnode12ランタイムだったため、12から2025年8月時点で最新のnode22ランタイムにする想定で、影響範囲の調査を実施しました。

主にやっていたことは、インターネット上で先人の知恵を拝借するか、ChatGPTに調査させて情報源を確認して裏取りするかで、特に変わったことはしていないため、調査方法についての仔細は割愛します。

 

調査結果

調査の結果、ソースコードの修正が必要な改修はaws-sdkの利用箇所に絞っても問題なさそうだと判断しました。
・node12ランタイム
 aws-sdk v2系がプリインストール
・node22ランタイム
 プリインストールなし

元々の、
node12ランタイムではaws-sdk v2系がプリインストールされているのに対し、22ではプリインストールなし、かつaws-sdk v2自体も2025年9月8日でサポート終了予定だったため、aws-sdkの使用箇所をv3に変更する必要もありました。

そこで、
関数ごとにaws-sdkの使用/未使用を分類し、aws-sdkを使用している関数には改修を入れる想定でスケジュールを組みました。

それ以外は、
特に大がかりな修正が必要な個所はありませんでした。
もちろんnode12と22の間での構文変更やパッケージの依存関係など、色々な変更はあるのですが、それほど複雑なロジックは無く影響のあるパッケージも利用していませんでした。

確認した限りでは、
そのままでも動きそうだったため、一旦動かしてみて、挙動を確認する方針としました。

 

AWSコンソール上でのバージョンアップ作業

このサービスでは開発環境、検証環境、本番環境の3環境が存在するため、全環境でバージョンアップを実施する必要がありました。

・開発環境
 そのまま開発用
・検証環境
 主にクライアントの確認用で使用
・本番環境
 実運用環境


課題と対応

開発環境については改修途中でエラーが発生しても問題は無いのですが、別の機能開発等でも利用しており自分以外の開発者が機能の実装中だったため、長期間機能が使えなくなる事態は避けたいと考えました。

ただ、長年未対応であったので既にサポートが切れているため、一度バージョンアップしてしまうと前のバージョンへの切り戻しができない問題があったため、下記のような方法で切り戻しを可能にしました。

切り戻し可能な実装手順
 新しいlambda関数を作成
➤新しいlambda関数をnode22で作成し、コードを元のソースコードと同じ実装にする
 
設定を合わせる
➤設定等も元の関数に合わせる
 
呼び出し元を変更
➤呼び出し元で指定している関数を新しい関数に変更する
 
切り戻し手順
➤問題があった場合は呼び出し元の指定を元の関数に戻す

こちらの方法で、新しい関数の検証をしつつ、他機能の開発に影響無く作業を進めることができました。

この記事に関連するColorChipsのサービス

BUSINESS

システム開発

業務効率化の答えはここに。
下町が誇る業務システムソリューション

COLOR CHIPS のWebシステム開発部では、業務効率化やDX推進を支援するシステムの受託開発を行っています。業務フローの見える化やシステム導入支援、運用まで一貫して対応し、企業ごとの課題に合わせた最適なソリューションを提供しています。

VIEW MORE

ITサービス

お客様のシステム運用をサポートし、
長期安定稼動のお手伝いをします

COLOR CHIPS の技術者がお客様の社内に常駐し、お客様システムの監視や運用などの各種サポート業務を行います。
お客様の社内で密接な関係を築きながら業務を行うことでより迅速に、かつご要望に添ったサービスをご提供しています。

技術開発

COLOR CHIPS 先端技術開発ラボ
先端技術で業務をより効率的に!

COLOR CHIPS の研究開発部門は、AI解析、クラウド/スマホアプリ開発、IoT・ウェアラブル機器など、多岐にわたる先端技術に挑戦するラボです。知識と好奇心を武器に、新たなソリューション創出を目指し、未来を切り拓く技術革新に取り組んでいます。

VIEW MORE

オリジナルデザイン時計

NEW COLORS
オリジナル腕時計製作について

NEW COLORSは、20年以上の実績を持つオリジナル腕時計製作の専門ブランドです。卒業記念品や周年記念、ノベルティ、OEMまで目的に応じたデザイン・仕様で対応。初心者でも安心の制作サポートや、ペットの写真から作る「うちの仔オリジナルクロック」など、心に残る記念品づくりをお手伝いします。

VIEW MORE

お問い合わせ
CONTACT

記事にある技術に関するお問い合わせなどは
こちらのフォームからおねがいいたします。

TOP