みなさん、こんにちは。サニービュー事業部の小寺です。
連休中にNode.js 10サポート終了のメールを受け取った方もいるのではないでしょうか。
改めて必要な対応について、まとめてみました。

https://aws.amazon.com/jp/blogs/developer/announcing-the-end-of-support-for-node-js-runtimes-10-x-in-the-aws-sdk-for-javascript-v2/

■どんなメールが届くの?
件名が以下のメールがRootアカウントのメールアドレス、及び代替の連絡先としてAWSマネジメントコンソールで登録したメールアドレスに対して送付されます。
[要対応] AWS Lambda における Node.js 10 のサポート終了 | [Action Required] AWS Lambda end of support for Node.js 10 [AWS Account: XXXXXXX]

■今のバージョンを確認するには?

・AWSマネジメントコンソールより「Lambda」サービスへ移動します。
「Lambda」より「関数」を選びます。
「ラインタイム」列で該当する「Node.js 10」があるか確認できます。

AWS CLIで現時点でNode.js 10を利用した関数をリストするコマンドです。
もし、対象リージョンで該当の関数がない場合、以下のように表示されます。

aws lambda list-functions –function-version ALL –output text –query “Functions[?Runtime==’nodejs10.x’].FunctionArn”
[]

対象リージョンで該当の関数がある場合、以下のように表示されます。

C:\Users\kodera>aws lambda list-functions –function-version ALL –output text –query “Functions[?Runtime==’nodejs10.x’].FunctionArn”

[
“arn:aws:lambda:ap-northeast-1:AWSAccountId:function:XXXXXX”,
“arn:aws:lambda:ap-northeast-1:AWSAccountId:function:XXXXXX”,
“arn:aws:lambda:ap-northeast-1:AWSAccountId:function:XXXXXX”
]

■どうやってバージョンアップすれば良いの?

Lambdaで利用されている関数に使う言語を選ぶには、「ランタイム設定」から変更ができます。

「ランタイム」のプルダウンより、変更したい関数を選び、「保存」をクリックします。プルダウンから「最新のサポート対象」と「その他のサポート対象」の2つを確認することができます。

既存の Node.js 10 を使用する Lambda 関数を Node.js 14 に移行しましょう。Node.js 14がLambdaでサポートされる最新の Node.js バージョンです。

ただし、注意が必要です。
Node.js 14 は Lambda@Edge ではまだサポートされていないため、Lambda@Edge 関数は Node.js 12 にアップグレードする必要があります。もちろん、動作検証については、実施をお願いします。

■AWS Lambdaのランタイムサポートポリシー

・フェーズ1
Lambda はランタイムにセキュリティパッチやその他の更新を適用しなくなります。ランタイムを使用する関数を作成することはできなくなりますが、既存の関数を継続して利用することはできます。ランタイムを使用する既存の関数は、テクニカルサポートの対象ではなくなります。

・フェーズ2
フェーズ 1 の開始から 30 日以上後に開始され、ランタイムを使用する関数を作成または更新できなくなります。ただし、ランタイムを使用する既存の関数は、呼び出しイベントを処理するために引き続き使用できます。

以下は既にサポート終了が発表されています。アップデートがまだの方は対応スケジュールを立てていきましょう。

■いつまでに対応すればよいの?

7月30日までにアップデートを完了することをお勧めします。

・現在から2021年7月30日
今まで通り、Node.js 10のランタイムの関数の作成と既存関数の更新が可能です。

・2021年7月30日から2021年8月30日
フェーズ1の期間です。Node.js 10のランタイムの関数の作成はできなくなります。この期間中は既存関数の更新はできます。また7月30日より、セキュリティパッチやその他のアップデートの提供がなくなります。

・2021年8月30日以降
フェーズ2の期間です。Node.js 10のランタイムを使用する関数の作成と更新のいずれもできなくなります。 更新はできませんが、呼び出しイベントの処理に引き続き使用ができます。

Node.jsのサポート予定については、こちらをご確認ください。

■まとめ

いかがでしたでしょうか。SunnyCloudでは、AWS利用料がお安くなるAWSリセールサービスをはじめとする様々なソリューションを提供しています。

▼「無料相談」受付中です。
https://www.sunnycloud.jp/contact-us/