【注意喚起】AWS LambdaでNode.js 6.10ランタイム構成の新規作成/更新が終了となります

Node.js 6.xのEOLに伴い、AWS LambdaでのNode.js 6.10ランタイムを使った関数は2019/4/30で新規作成できなくなります。既存の関数はできる限り最新のランタイムにバージョンアップしていきましょう。
2019.03.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

先日、AWSよりNode.js 6.10のEOLについて公式からのメールや以下のページで注意喚起がありました。

Amazon Developer Forum:4月1日にNode.js 6.10のサポートが終了になります

2019/4/30に予定されているNode.js 6.xのEOLに伴い、AWS Lambdaでの

  • Node.js 6.10のランタイムを指定しての新規作成は、2019/4/30で終了
  • Node.js 6.10のランタイムを指定した関数の更新は、2019/5/30 2019/6/30で終了
  • 但し、既存のNode.js 6.10のランタイムを指定した関数の呼び出しは引き続き可能

となりますので注意してください。

Node.js 6.xのEOL

Node.js 6.xはActive LTSが2016/10/18に開始されましたが、2019/4/30にEOLとなりMaintenance LTSが終了する予定です。 Maintenance LTSが終了したバージョンは公式にアップデートされることはないため、新しいバージョンにアップデートすることが推奨されます。

【GitHub】nodejs/Release

|バージョン|言語自体のLTS開始|言語自体のEOL|備考| |---|---|---|---| |Node.js v0.10|2013/03/11*|2016/10/31|現在はEOL *明確なActive LTSの開始は無い| |Node.js 4.x|2015/10/01|2018/04/30|現在はEOL| |Node.js 6.x|2016/10/18|2019/4/30予定|現在はMaintenance LTS。もうすぐEOL| |Node.js 8.x|2017/10/31|2019年12月予定 *OpenSSL-1.0.2のEOLに合わせるため|現在はMaintenance LTS| |Node.js 10.x|2018/10/30|2021年4月予定|現在はActive LTS| |Node.js 12.x|2019年10月予定|2022年4月予定|現在はPending|

AWS LambdaにおけるNode.js 6.10のEOL

公式アカウントからのメールによる注意喚起では、以下のように記載されていました。

Invokes for functions configured to run on node.js 6.10 will continue to work normally, however the ability to create new Lambda functions configured to use the node.js 6.10 runtime will be disabled on April 30 2019. Code updates to existing functions using node.js 6.10 will be disabled 30 days later on May 30 2019

「Node.js 6.10ランタイムを使用した既存の関数は引き続き動かせるけど、新規の関数作成できるのは2019年4月30日まで、既存の関数の更新は2019年5月30日までやで」、ということみたいです。

なお、LambdaにおけるNode.jsのライフサイクルは以下のようになります。

バージョン Lambdaサポート開始 言語EOL Lambda作成終了 Lambda更新終了 備考
Node.js v0.10 2014/11/15 2016/10/31 2017/01/11 2017/5/30 2017/5/30にて動作終了
Node.js 4.3 2016/04/07 2018/04/30 2018/07/31 2018/10/31
Node.js 6.10 2017/03/22 2019/04/30 2019/4/30 2019/5/302019/6/30 【2019/6/10 追記】更新終了日が延長されたようです
Node.js 8.10 2018/04/02 2019年12月予定 - -
Node.js 10.x 2019/05/14 2021年4月予定 - -

v0.104.3のときは言語のEOLから数ヶ月後に新規作成終了となっていましたが、今回の6.10では言語のEOL=新規作成終了日となっています。

2019/3/28時点では、Lambdaでは公式にサポートされているものでNode.js 8.10が最新のランタイムとなっていますので、できる限り最新に移行していくのがよいでしょう。 (Node.js 8.10も2019/12にEOL予定ではありますが。。LambdaでもそろそろNode.js 10.xがサポートされるのを期待したいですね!

【2019/5/14 追記】

LambdaでNode.js 10.xがサポートされました! Node.js 8.xも2019年中にEOL予定なので、バージョンアップの際はこちらも選択肢として考えたほうがよいでしょう。

【アップデート】 LambdaでNode.js v10が利用できるようになりました!!

【追記ここまで】

また、バージョンアップにあたってはこちらのエントリにもあるように、意図せず作成されたLambda関数なども対象でないかチェックしたほうがよさそうです。

おわりに

Node.js 6.xのEOLおよびそれに伴うLambdaのNode.js 6.10ランタイムのEOLについてご紹介しました。

バージョンアップ対応もなんだかんだ後手に回ってしまいがちですが、Node.jsのライフサイクルを把握の上、しっかりと計画を立ててバージョンアップの対応を行っていきましょう。