landrunner’s blog

しばらく開発から離れてた人間が、技術的キャッチアップを図るための勉強ブログ

AWS Lambda関数を動かすまで

Lambda関数とは

AWS Lambdaは所謂サーバレスを実現するためのサービスです。サーバを直接借りるのではなく、プログラムを登録しておき必要な時だけAWSが実行してくれるサービスになります。 AWS Lambda(イベント発生時にコードを実行)| AWS

具体的なメリットとしては以下のようなものがあります。

  • 従量課金なので、実行回数が少ない場合費用がかからない
  • 自動的にスケールできる

一方デメリットとしては以下のような感じです。

  • OSのチューニングができない
  • 実行時に立ち上がるので起動までに時間がかかることがある
  • 他のサービスと密に結合しているものは実装が難しい
  • 得意の言語が対応していないことがある

APIゲートウェイを通して他のサービス(LINEとか)と連携、IoT機器からのデータ収集、並列化可能なものならバッチ処理なんかにも相性がよさそうです。

動かしてみる

AWSのコンソールからLambdaを選択すると以下のような画面に行きます。 ここで関数の作成をクリックします。

f:id:landrunner:20190728114222p:plain

  • 一から作成を選択
  • 関数名には好きな名前ど記述
  • 言語には好きな言語を選択
  • 関数の作成をクリック

f:id:landrunner:20190728114626p:plain

あとはこんな感じで基本的な設定が完了してサービスが立ち上がります。 サンプルコードも既に入っています。

f:id:landrunner:20190728115053p:plain

とりあえず今回はサンプルコードを動かします。

これには上のほうにあるテストをクリックします。

そうするとテスト作成画面が立ち上がるのでテスト名を入力してテストの作成を行います。 サンプルコードをどうさせるだけであれば入力の内容は何でもいいので、JSONはそのまま。

f:id:landrunner:20190728115414p:plain

元の画面に戻って再度テストをクリックすると先ほどの設定に従ってテストができます。

関数の実行結果として

{
  "statusCode": 200,
  "body": "\"Hello from Lambda!\""
}

が返ってくればOKです。

f:id:landrunner:20190728115655p:plain