Lambda
https://cdn.worldvectorlogo.com/logos/aws-lambda.svg
AWS Lambda(イベント発生時にコードを実行)| AWS
AWS Lambda とは - AWS Lambda
Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行し、コンピューティングリソースに関するすべての管理を行います。これには、サーバーおよびオペレーティングシステムのメンテナンス、容量のプロビジョニングおよび自動スケーリング、さらにログ記録などが含まれます。Lambda を使用すると、実質どのようなタイプのアプリケーションやバックエンドサービスに対してもコードを実行できます。必要なのは、Lambda がサポートするいずれかの言語でコードを指定することだけです。
コードを Lambda 関数に整理します。Lambda は必要に応じて関数を実行し、1 日あたり数個から 1 秒あたり数千個のリクエストまで自動的にスケーリングします。課金は実際に消費したコンピューティング時間に対してのみ発生します。コードが実行されていない場合、料金は発生しません。
Lambda API を使用して Lambda 関数を呼び出したり、他の AWS のサービスからのイベントに応答してLambda が関数を実行したりできます 例えば、Lambda を使用して以下のことができます。
AWS のサービス (Amazon Simple Storage Service (Amazon S3) や Amazon DynamoDB など) のデータ処理トリガーの構築。
Amazon Kinesis に保存されたストリーミングデータの処理。
AWS 規模、パフォーマンス、セキュリティで動作する独自のバックエンドの作成。
AWSの Serverless コンポーネント
Docker-lambda
Lambda を再現する Docker イメージ
ローカル開発環境で実行する
code: (bash)
docker run --rm \
-v "$PWD":/var/task:ro,delegated \
lambci/lambda:python3.8 \
lambda_function.lambda_handler
# http リクエストを許可する
docker run --rm \
-p 9001:9001 \
-e DOCKER_LAMBDA_WATCH=1 -e DOCKER_LAMBDA_STAY_OPEN=1 \
-v "$PWD":/var/task:ro,delegated \
lambci/lambda:python3.8 \
lambda_function.lambda_handler
# リクエストを投げる
curl -d '{}' http://localhost:9001/2015-03-31/functions/lambda/invocations
Reference
LocalStackをつかってローカルでLambdaを実行してみた | Developers.IO
私が考えるLambda開発環境のベストプラクティス
Docker-lambdaを使ったAWS Lambdaのローカル開発 | たくのこ Web
2022年最新版| Lambdaの裏側教えます!!A closer look at AWS Lambda (SVS404-R) #reinvent | DevelopersIO