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

LambdaのランタイムにNode.js v10が指定できるようになりました!!
2019.05.14

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

はじめに

サーバーレス開発部@大阪の岩田です。 本日のアップデートにより、LambdaでNode.js v10が利用できるようになりました。

AWS Lambda adds support for Node.js v10

早速Node.js v10を試してみます。

やってみる

Lambdaのマネジメントコンソールに行くと・・・

Lambda関数作成画面

ランタイムにNode.js 10.xが選択できるようになっています!そのままNode.js 10.xでLambda関数を作成します。

次にLambdaのコードを書いてみます。 試しにNode.js 10から利用できる、console.table()を使ってみます。 ※Node.js10のチェンジログはこちら

exports.handler = async (event) => {
    
    console.table([{ col1: 'hoge', col2: 'hogehoge'}, { col1: 'fuga', col2: 'fugafuga'}]);
    
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};

コードが書けたので適当なテストイベントを設定して実行すると・・・

console.table()の出力結果

ちゃんとconsole.table()の結果が出力されていますね!

AWS LambdaにおけるNode.jsのEOLについて

先日amotzがブログに記載していた内容になりますが、改めておさらいしておきます。

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

バージョン 言語自体の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

現在主流であろうNode.js v8も今年中にはEOLを迎える予定です。今後作成するLambdaについてはNode.js v10を利用していくべきでしょう。

まとめ

Lambda実行環境の選択肢が広がるのは嬉しいですね。 Node.js 6.10で作成したLambdaのランタイムをバージョンアップする際はNode.js v8を飛び越して一気にNode.js v10まで上げてしまうのもありかもしれません。