用語解説
AWS Lambdaとは、AWSが提供するサーバーレスコンピューティングサービスです。サーバーのプロビジョニングや管理なしにコードを実行でき、イベント駆動で自動的に起動します。
実行した時間とリクエスト数に対してのみ課金されるイベント駆動型アーキテクチャにより、アイドル時のコストをゼロにできます。S3へのファイルアップロード・API Gatewayのリクエスト・DynamoDBのストリームなど多様なAWSサービスとネイティブに連携できます。
どんな場面で活用するか
- 画像アップロード時にサムネイルを自動生成するバックエンド処理を実装する場合
- APIバックエンドとしてスパイク的なトラフィックに自動スケールで対応する場合
- 定期バッチ処理(日次レポート生成・DBクリーンアップ等)をスケジュール実行する場合
よくある誤解
「Lambdaはどんな長時間処理にも使える」は誤りです。正しくはLambdaの最大実行時間は15分です。長時間実行が必要なバッチ処理にはAWS BatchやEC2・Fargateが適しています。
判断のヒント
コールドスタート対策:Provisioned Concurrencyを使うとコールドスタートを排除できます。またLambda SnapStartを使うJavaランタイムではJVM初期化時間を大幅に短縮可能です。