Lambda
https://cdn.worldvectorlogo.com/logos/aws-lambda.svg
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 規模、パフォーマンス、セキュリティで動作する独自のバックエンドの作成。
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
# リクエストを投げる
Reference