Lambdaとは
AWSが提供しているサーバーレスを実現するためのサービス。様々なプログラミング言語をサポートしている。必要な時に必要な分だけアプリケーションを実行できる。
サーバレス
ソースコードさえあればアプリケーションの実行が可能で,サーバーの準備をする必要がない
Lambda関数
Lambdaで実行するアプリケーションのソースコードと,ソースコードの開発言語に対応したランタイムの2つを合わせてLambda関数という。
エイリアスはLambda関数の別名。エイリアスは最大2つのバージョンを指し示すことが可能。
ランタイム
アプリケーションの実行に必要なライブラリやパッケージのこと。Lambdaにはカスタムランタイムという機能があり,デフォルトのランタイムでサポートされていないバージョンのランタイムを作成・実行できる。
デプロイパッケージ
Lambda関数をビルドして作成したパッケージのこと。
トリガー
Lambda関数を呼び出すリソースや設定。呼び出し方には以下の2通りがある。
呼び出し方 | 説明 |
---|---|
同期呼び出し | Lambda関数からのレスポンスの返却を待つ |
非同期呼び出し | リクエストの受付結果を受け取る |
イベント
Lambda関数の呼び出し元から連携されるJSON形式のドキュメントのこと。
同時実行数
ある時点における実行中のLabmda関数の数。リクエスト:コンテナ=1:1。
東京リージョンでの最大値(上限値(クォータ))は1000。
Layers
複数のLambda関数が共通で利用するライブラリやカスタムランタイム,依存関係をZIPファイルで切り出して共有する機能。Layersを利用したLambdaの拡張機能としてExtensionsがある。
メリット
-
サーバ構築が不要
運用コストなど削減 -
オートスケーリング
必要な時だけコードを実行し,リクエストの回数に合わせて自動的にスケールする。これによりリクエストが増えても安定したパフォーマンスを維持できる。 -
他のAWSサービスと連携
AWSサービスの操作を自動化できる。
利用料金
関数とデータ転送量に対して従量課金が発生。Provisioned Concurrencyを有効化した場合は,有効化してから無効化するまでの時間に対して従量課金が発生する。
参考
https://aws.amazon.com/jp/lambda/
https://www.youtube.com/watch?v=Z9OaZMOmjqo&list=PLPzcoMdqG5noLR7rAc552mvPADUmmdSt1&index=5
AWSの基本・仕組み・重要用語が全部わかる教科書