【AWS】Lambda
Lambdaとは
AWS上でプログラムを実行する場所としてのサービス。 実行基盤はAWS側で管理されるため、サーバーの構築は不要となる。 サポートされている言語でコーディングすることができれば、プログラムを実行することができる。
Lambdaの仕組み
タイムスケジュールや何らかのイベントをトリガーとしてプログラムを実行する。(バッチファイルを実行するようなイメージ) S3とも連携できるため、S3にファイルがアップロードされたら、といったイベントをトリガーにすることもできる。
メリデメ
メリット
- サーバー構築が不要。
- プログラム実行時間と回数によって費用が発生するため、場合によってはかなりコスト削減できる。
デメリット
- 最大実行時間は15分
- 処理に時間がかかるようなプログラムでは利用できない。
キーワード
Lambda関数 AWS Lambdaで実行するプログラムのこと。
FaaS(Function-as-a-Service) AWS Lambdaのように、サーバーレスでアプリケーション開発ができる環境を提供するサービスのこと。
関数デプロイの方法
やり方は3種類ある。
Lambdaのエディターに直書き
zipのパッケージをデプロイ .zip ファイルアーカイブで Python Lambda 関数をデプロイする - AWS Lambda
Dockerコンテナイメージでデプロイ コンテナイメージで Python Lambda 関数をデプロイする - AWS Lambda
留意点
実行される(Lambdaが認識してくれる)のは、ハンドラメソッド。
いわゆる
main()
の代わりに、def lambda_handler(event, context):
としてメインメソッドを作成しておく必要がある。
Python の Lambda 関数ハンドラー - AWS Lambda
※ハンドラメソッド名は、言語によって異なる。