AWS LambdaにおけるNode.js 10のサポート終了に伴うWafCharm製品の対象Lambda関数の更新対応について

記事タイトルとURLをコピーする

概要

当エントリーではLambda関数で使用されるNode.js 10 ランタイムのサポート終了に伴い、 WafCharm製品をご利用のAWSアカウントにて対象関数があった場合の更新手順について記載します。

Node.js 10サポート終了について

AWSからも対象アカウントをお持ちの方にはメール等でご案内が出ているので以下抜粋となりますが Node.js 10.x のサポートが 2段階のフェーズを経て 2021 年 8 月 30 日 に終了します。

2021 年 7 月 30 日以降、Lambda は Lambda 関数で使用される Node.js 10 ランタイムにセキュリティパッチやその他アップグレードを適用しなくなり、Node.js 10 を使用する関数は、テクニカルサポートの対象外となります。さらに、Node.js 10 ランタイムを使用する新しい Lambda 関数を作成できなくなります。2021 年 8 月 30 日以降は、Node.js 10 ランタイムを使用している既存の関数をアップデートすることができなくなります。 サポートの終了は、関数の実行には影響しません。関数は引き続き実行されます。しかしながら、AWS Lambda チームによって保守やパッチ適用がされない、サポートされていないランタイムで実行されることとなります。

詳細は以下のAWS公式のランタイムサポートポリシーを参照してください。

docs.aws.amazon.com

(参考) AWS Lambdaでのサポート終了はNode.js 運営組織が宣言している Node.js 10 の EOL (End-of-life)に準拠しています

nodejs.org

WafCharm導入環境に於ける対応

WafCharm製品ではレポート機能/通知機能 にて AWS Lambdaの関数を利用しており、S3バケット内のログデータの収集する処理が実装されていますが、オフィシャルの作成手順で動作要件 Node.js 10以上となっている事から当該バージョンで稼働している環境が存在している可能性があります。

もし当該バージョンをご利用の場合は、アップデート実施が必要となりますので まずは利用有無を確認のうえ、必要な場合は以下内容を実施してください。


AWSマネジメントコンソール(日本語)を利用する場合は

AWSマネジメントコンソールにログイン -> サービス一覧画面もしくは検索ウィンドウから Lambda を押下-> 左ナビゲーションペインより 関数 を押下 -> 対象関数(*1)の ランタイム カラムの値を確認します。

f:id:swx-tamura:20210514180617p:plain

*1...メーカー指定手順書でも関数名は任意となっておりますので、確実な方法は関数内のコードが以下手順書で指定されているコードと一致している事を確認してください。(ご利用のAWS WAFのバージョンによってドキュメントおよびコードが若干異なってはいますがほぼ同様と捉えて頂いて問題ありません)

AWS WAF (V2) をご利用の場合 - 2.12. Lambda構築 (関数コード)

https://docs.wafcharm.com/manual/reporting_and_notification.pdf

AWS WAF Classic をご利用の場合 - 2.12. Lambda 構築 (関数コード)

https://docs.wafcharm.com/manual/classic_aws_waf/aws_waf_classic_reporting_and_notification_JA.pdf


WafCharmで利用している対象Lambda関数のランタイムがもし、Node.js 10.x の場合は続けて以下手順で Node.js 14.x へ変更してください。

1.関数名を押下し、ランタイム設定の[編集]を押下

f:id:swx-tamura:20210514182007p:plain

2.ランタイムのプルダウンより Node.js 14.x を選択し、[保存]を押下

f:id:swx-tamura:20210514182155p:plain

動作確認方法

続けて AWSマネジメントコンソールよりサービス一覧画面もしくは検索ウィンドウから CloudWatch を押下 -> 左ナビゲーションペインより ロググループ を押下 -> /aws/lambda/[対象関数名] のロググループを押下 -> 最新の Log Stream を押下 -> ランタイム変更タイミング以降のメッセージを確認し、ERROR という文字列が出力されていない事を確認してください。

f:id:swx-tamura:20210518183649p:plain

参考情報

AWS CLIの場合、当該アカウントで以下内容を実行すると Node.js 10.xの対象関数が表示されますので調査の際に有用です。(対象がない場合は何も表示されません)

% aws lambda list-functions --function-version ALL --output text --query "Functions[?Runtime=='nodejs10.x'].FunctionArn"

今回のランタイム更新についてはあくまで対象Lambda関数のメーカーであるサイバーセキュリティクラウド社 協力のもと変更に伴う影響が想定されない事の確認がとれたうえで実施について記載しております。

それ以外のLambda関数のランタイム更新の際には、必要に応じて対象関数への影響を予め確認したうえで実施を検討してください。