BFT名古屋 TECH BLOG

日々の業務で得た知識を所属するエンジニアたちがアウトプットしていきます。

【AWS】Lambdaについて

コンニチハ、BFT名古屋支店のヤタテです。
今回はAWSのLambdaについてざっくり概要をご紹介してみたいと思います。
自分自身が調査した備忘みたいな感じになりますが、ご参考になれば幸いです。

Lambdaとは

Lambdaとはクラウド上にプログラムを定義しておき、インターネットを通じて実行できるサービスです。サーバーレスで実行できるため、サーバーやミドルウェアの管理は不要となります。

Lambdaの利点

  • 実行トリガーとなる関数が非常に豊富。
    サービスの関連性を薄くして、サービスの改善時のテストを少なくしたり、障害範囲を抑えることができます。
  • JavaRubyなど、豊富なプログラミング言語に対応しています。
  • 処理が動いた時間だけ課金される(アクセスがない時は課金されない)ため、コストを削減できます。また、月間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ファイルの作成手順はいくつかあります。詳細は以下の記事を参照してください。

bftnagoya.hateblo.jp

jarファイルのアップロード
  1. Lambda関数の詳細画面で[コード]-[コードソース]-[アップロード元]をクリックする
  2. [アップロード]をクリックし、jarファイルを選択して[保存]をクリックする。
コードの実行
  1. [テスト]-[テストイベント]で新しいイベントを作成し、[変更を保存]をクリックする。
  2. [呼び出し]をクリックし、関数を実行する。