LoginSignup
22
19

More than 5 years have passed since last update.

Lambda関数にNode.jsモジュールを入れるなら、Cloud9が簡単でおすすめ

Last updated at Posted at 2019-03-04

🔶 Lambda関数にNode.jsモジュールを追加

Lambda関数にNode.jsのソースを書く際、Node.jsモジュールを追加する必要がある場合、追加方法が2つあります。

1つは、Linux環境上でNode.jsプログラムのデプロイパッケージを作成する方法
Lambda関数はLinux環境で動作しているので、Linux向けにコンパイルされたNode.jsモジュールでないと、動作しない事があります。
そのため、例えば以下のような手順を行う必要があります。

  1. EC2でLinux環境を用意
  2. そこにLambda関数として書いたNode.jsソースをダウンロード
  3. 必要なNode.jsモジュールを追加して、zipファイルにまとめてデプロイパッケージを作成
  4. Lambdaにアップロード

正直、非常に煩雑です。

もう1つは、AWS Cloud9でデプロイパッケージを作成する方法です。

AWS Cloud9
https://aws.amazon.com/jp/cloud9/

こちらは、Lambdaにも対応している、AWSで用意されたIDEです。
IDEで、Node.jsモジュールを追加して、Lambdaにデプロイするだけなので、非常に簡単です。

🔶 AWS Cloud9でNode.jsモジュールを追加

今回は、東京リージョンに作ったLambda関数に、Node.jsモジュールを追加する例で説明します。
00.png

🔷 AWS Cloud9の準備

AWS Cloud9から、以下の[AWS Cloud9の使用を開始する]ボタンをクリックします。
01.png

2019/3/4現在、東京リージョンは無いので、今回はシンガポールリージョンを選択します。
02.png

[Create enviroment]ボタンをクリックして、設定を開始します。
03.png

任意のワークスペース名と、説明を記入して、[Next step]ボタンをクリックします。
04.png

AWS Cloud9は、ソースの実行と保存に、EC2環境を使うので、EC2インスタンスの設定をします。
今回は小規模開発なので、特に変更せず、[Next step]ボタンをクリックします。
05.png

確認画面が出るので、[Create enviroment]ボタンをクリックします。
06.png

AWS Cloud9の準備が始まります。
07.png

AWS Cloud9の環境の完成です。
08-1.png

🔷 AWS Cloud9にLambda関数をインポート

まずは、東京リージョンのLambda関数を呼べるように設定します。
[AWS Cloud9]-[Preferences]を選択。
08-2.png

[AWS SETTINGS]を選択。
09.png

[Region]-[AWS Region]で、[Asis Pacific(Tokyo)]を選択。
10.png

画面右端の[AWS Resources]を選択すると、東京リージョンのLambda関数「testLambda」プロジェクトが表示されます。
11.png

「testLambda」プロジェクトをダブルクリックして、関数をインポートを開始します。
12.png

「testLambda」プロジェクトがインポートされます。
13-1.png

🔷 Lambda関数にNode.jsモジュールのインストール

画面下部のコンソールで、npm initを実行します。
13-2.png

「package.json」が作成されます。
14.png

次に、Node.jsモジュールのインストールを行います。
今回は、npm install soapを実行します。
15.png

「node_modules」フォルダが作られたら完了です。

🔷 Lambdaプロジェクトに更新ファイルをデプロイ

「testLambda」プロジェクトに「package.json」ファイルと、「node_modules」フォルダを移動させます。
[AWS Resources]を選択して、↑アイコンをクリックしてデプロイを開始します。
16.png

Lambdaで「testLambda」プロジェクトを確認すると、更新内容が反映しています。
17.png

🔶 まとめ

このように、AWS Cloud9を使えば、Node.jsモジュールを簡単にインストールできます。
また、IDEなので、このままLambda関数の開発も行えます。

🔶 参考

Node.js の Lambda デプロイパッケージを作成するには、どうすればよいですか?
AWS Cloud9のLambdaデプロイ先を東京リージョンに変更する方法

22
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
19