カテゴリ: AWS Lambda 更新日: 2025/10/26

【AWS】LambdaでNode.jsを使うには?対応バージョン・サンプル・Layer活用法

264
【AWS】LambdaでNode.jsを使うには?対応バージョン・サンプル・Layer活用法

先生と生徒の会話形式で理解しよう

生徒

「先生、AWS LambdaでNode.jsを使えるって聞いたんですけど、どんな風に始めたらいいんでしょうか?」

先生

「LambdaはNode.jsととても相性が良いんです。対応バージョンやサンプルコード、さらに便利なLayerの使い方を知ればすぐに実用的な関数が作れますよ。」

生徒

「なるほど!JavaScriptを普段書いているので、Lambdaでも簡単に動かせそうですね。」

先生

「そうです。では実際にLambdaとNode.jsを組み合わせて使う方法を詳しく見ていきましょう。」

1. AWS LambdaでNode.jsを使うメリット

1. AWS LambdaでNode.jsを使うメリット
1. AWS LambdaでNode.jsを使うメリット

Lambdaはサーバーレス環境でコードを実行できるサービスで、Node.jsは公式にサポートされている言語のひとつです。Node.jsは軽量で高速に起動でき、非同期処理が得意なため、Lambdaでのイベント駆動型処理に最適です。

特に以下のようなケースで活用されています。

  • API Gatewayと組み合わせてWeb APIを構築
  • S3のイベントをトリガーにファイル処理
  • DynamoDBへのデータ登録や更新
  • 外部APIとの連携やスクレイピング処理

2. LambdaでサポートされているNode.jsのバージョン

2. LambdaでサポートされているNode.jsのバージョン
2. LambdaでサポートされているNode.jsのバージョン

AWS Lambdaは複数のNode.jsバージョンをサポートしています。記事執筆時点で利用できる代表的なバージョンは以下の通りです。

  • Node.js 14.x
  • Node.js 16.x
  • Node.js 18.x
  • Node.js 20.x(最新推奨)

最新のバージョンを選ぶことでセキュリティやライブラリ対応の面でも安心できます。AWS公式ドキュメントでサポート状況を定期的に確認しましょう。

3. Node.jsで書くLambda関数の基本サンプル

3. Node.jsで書くLambda関数の基本サンプル
3. Node.jsで書くLambda関数の基本サンプル

Node.jsを使ったLambda関数はシンプルに書けます。以下は「Hello World」を返すサンプルです。


exports.handler = async (event) => {
    console.log("イベント内容:", event);
    const response = {
        statusCode: 200,
        body: JSON.stringify("Hello from AWS Lambda with Node.js!"),
    };
    return response;
};

Lambda関数のエントリーポイントはhandlerで、eventにはトリガーから渡される情報が入ります。console.logを使うとCloudWatch Logsに出力されるため、デバッグにも役立ちます。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. 外部ライブラリを利用する方法

4. 外部ライブラリを利用する方法
4. 外部ライブラリを利用する方法

Node.jsではnpmでインストールしたライブラリを使えますが、Lambdaにデプロイする際には工夫が必要です。

方法1:プロジェクトごとzipにしてアップロード


npm init -y
npm install axios
zip -r function.zip .

このようにライブラリを含めた状態でzip化し、Lambdaにアップロードすることで利用できます。

方法2:Layerを使う

Lambda Layerにライブラリをまとめておくと、複数の関数で共通利用できて効率的です。特にaxiosやmomentなどよく使うライブラリをLayer化すると便利です。

5. Lambda Layerの活用法

5. Lambda Layerの活用法
5. Lambda Layerの活用法

Layerは外部ライブラリや共通コードを複数のLambda関数で共有できる仕組みです。例えばNode.jsプロジェクトでnodejs/node_modulesディレクトリを作成し、その中にライブラリを配置してzip化するとLayerとして登録できます。


mkdir -p nodejs/node_modules
cd nodejs
npm install lodash
cd ..
zip -r layer.zip nodejs

これをAWS LambdaのコンソールからLayerとしてアップロードし、関数に追加すればライブラリを簡単に利用できます。

6. Node.jsとLambdaを組み合わせる時の注意点

6. Node.jsとLambdaを組み合わせる時の注意点
6. Node.jsとLambdaを組み合わせる時の注意点

Node.jsをLambdaで利用するときは次の点に注意しましょう。

  • 非同期処理を正しく扱う(async/awaitやPromiseを活用)
  • バージョンのサポート終了に注意する
  • 依存ライブラリが多すぎるとデプロイサイズが大きくなる
  • ログ出力を活用してトラブルシューティングしやすくする

これらを意識することで安定したLambda関数を開発できます。

7. 初心者におすすめの学習ステップ

7. 初心者におすすめの学習ステップ
7. 初心者におすすめの学習ステップ

LambdaとNode.jsを初めて使う方には、以下の流れで練習するのがおすすめです。

  1. AWSコンソールからNode.jsのHello Worldを作成
  2. console.logでログを出力してCloudWatchで確認
  3. npmでaxiosを導入し外部APIと連携
  4. Layerを使って共通ライブラリを管理
  5. API Gatewayと組み合わせてREST APIを構築

この順序で学べば、基礎から応用まで自然に理解でき、実務にもすぐ活かせる知識が身につきます。

AWS Lambdaの一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク