【AWS】Lambda

Lambdaとは

AWS上でプログラムを実行する場所としてのサービス。
行基盤はAWS側で管理されるため、サーバーの構築は不要となる。
サポートされている言語でコーディングすることができれば、プログラムを実行することができる。

Lambdaの仕組み

タイムスケジュールや何らかのイベントをトリガーとしてプログラムを実行する。(バッチファイルを実行するようなイメージ)
S3とも連携できるため、S3にファイルがアップロードされたら、といったイベントをトリガーにすることもできる。

メリデメ

メリット

  • サーバー構築が不要。
  • プログラム実行時間と回数によって費用が発生するため、場合によってはかなりコスト削減できる。

デメリット

  • 最大実行時間は15分
    • 処理に時間がかかるようなプログラムでは利用できない。

キーワード

  • Lambda関数
    AWS Lambdaで実行するプログラムのこと。

  • FaaS(Function-as-a-Service)
    AWS Lambdaのように、サーバーレスでアプリケーション開発ができる環境を提供するサービスのこと。

関数デプロイの方法

やり方は3種類ある。

留意点

  • 実行される(Lambdaが認識してくれる)のは、ハンドラメソッド。

  • いわゆるmain()の代わりに、def lambda_handler(event, context):としてメインメソッドを作成しておく必要がある。

Python の Lambda 関数ハンドラー - AWS Lambda

※ハンドラメソッド名は、言語によって異なる。

参考

qiita.com

it-trend.jp