コンニチハ、BFT名古屋支店のヤタテです。
今回はAWSのLambdaについてざっくり概要をご紹介してみたいと思います。
自分自身が調査した備忘みたいな感じになりますが、ご参考になれば幸いです。
Lambdaとは
Lambdaとはクラウド上にプログラムを定義しておき、インターネットを通じて実行できるサービスです。サーバーレスで実行できるため、サーバーやミドルウェアの管理は不要となります。
Lambdaの利点
- 実行トリガーとなる関数が非常に豊富。
サービスの関連性を薄くして、サービスの改善時のテストを少なくしたり、障害範囲を抑えることができます。 - JavaやRubyなど、豊富なプログラミング言語に対応しています。
- 処理が動いた時間だけ課金される(アクセスがない時は課金されない)ため、コストを削減できます。また、月間100万リクエストまで、最大320万秒までのコンピューティング時間の無料利用枠が適用されます。
Lambdaのパラメータシート
Lambdaを構築する際の各設定値(パラメータ)についての説明です。ハンドラおよびレイヤーについては以下の記事もご参考ください。 bftnagoya.hateblo.jp
関数名
任意の名前を設定する。
ランタイム
実行環境で実行される言語を選択する。
実行ロール
関数のアクセス許可を定義するIAMロールを設定する。
VPC
Lambdaを使用するVPCを設定する。VPCを設定する際には、Lambdaの実行ロールにてAWSLambdaVPCAccessExecutionRoleのアクセス許可を設定する必要がある。
ハンドラ
package.Class::methodの形でハンドラを指定する。ハンドラについて詳細は上記の記事を参照。
レイヤー
追加のコード等を設定する。詳細は上記の記事を参照。
LambdaでのJavaコードの実行
Javaはコンパイルされた言語のため、Lambda上で直接ソースコードを編集することができません。そのため、LambdaでJavaを実行するためには、jarファイルまたはzipファイルを作成して、デプロイする必要があります。
LambdaでJavaコードを実行するまでの手順
jarファイルの作成
jarファイルの作成手順はいくつかあります。詳細は以下の記事を参照してください。
jarファイルのアップロード
- Lambda関数の詳細画面で[コード]-[コードソース]-[アップロード元]をクリックする
- [アップロード]をクリックし、jarファイルを選択して[保存]をクリックする。
コードの実行
- [テスト]-[テストイベント]で新しいイベントを作成し、[変更を保存]をクリックする。
- [呼び出し]をクリックし、関数を実行する。