AWS Lambdaとは?【AWS認定試験 SAA/DVA/CLF対策】
本ページでは、サーバーレスコンピューティングサービスであるAWS Lambdaについて、初心者向けにその特徴や用途を紹介します!
私自身が「初めて勉強したとき、これを知りたかった!」と感じた内容を中心にまとめていますので、ぜひ最後までご覧ください!

AWS 認定クラウドプラクティショナー
(AWS Certified Cloud Practitioner, CLF)
AWS 認定ソリューションアーキテクト アソシエイト
(AWS Certified Solutions Architect – Associate, SAA)
AWS 認定デベロッパー アソシエイト
(AWS Certified Developer – Associate, DVA)
Lambdaの概要
AWS Lambda(ラムダ)は、AWSが提供するサーバーレスコンピューティングサービスです。正直、初めて聞く人にはそう言われても分かりにくいと思います。
ざっくり言ってしまうと…
です!
通常、プログラムを実行するにはサーバー(専用のコンピュータ)を用意して、そこでプログラムを実行できるように細かな設定などが必要になります。これが非常に大変でして、最初に準備するのに一苦労なのはもちろん、定期的にメンテナンスもしないといけません。
AWS Lambdaは、そんな面倒な作業が一切不要で、プログラムを登録するだけで利用可能なお手軽・便利サービスになっています。

アイコン

こちらが、アーキテクチャ図で用いられるLambdaのアイコンです。
ギリシャ文字のLambda (ラムダ)が、モチーフになっていますね!
Lambdaのメリット
運用コストが安い
概要でも説明したように、開発やその後のメンテナンスにかかる手間が小さいのが特徴です。人手も時間も節約できて、結果として運用コストを低く抑えることができます。
また、お金という面では、Lambdaは使った時間の分だけ料金がかかる仕組み(従量制)なので、その点も使い勝手が良いです。

開発者が大事な開発作業に集中できるように、その他の作業はこちらでやっておきます。お任せください!
処理負荷に応じて柔軟に・勝手に対応してくれる
負荷が高まったとき、それに応じて対応するLambdaの数を勝手に増やしてくれます。もちろん、負荷が減ったら元に戻ります。このように、負荷に応じて処理能力を自動で調整してくれる機能は、一般的にオートスケーリングと呼ばれます。

Lambdaのデメリット(注意点)
手軽な反面、制約はやや多め
プログラムを登録するだけで使える手軽さが魅力ですが、手軽さゆえに細かな設定はできない部分も多いです。特に、Lambdaひとつ当たりの処理スペックはそこまで高く設定できません。
有名なものとして、プログラムの実行時間が最大でも15分までに限られているという制約があります。このため、例えばAI関係のような時間のかかる計算処理には不向きです。

いくつかの制約はありますが、この制約が問題になるのはまあまあ特殊な用途に限られると思います。逆に言えば、Lambdaは幅広い用途で便利に使えるサービスになっています!
代表的な使い方
Lambdaは、外部での何か処理(イベント)をトリガーとして、Lambda上でプログラムが実行されます。このイベントの設定次第で、様々な使い方が可能です!
S3へのアップロードをイベントとして、データを処理

この例では、ユーザーがS3に写真をアップロードしたとします。アップロード完了をきっかけとしてLambdaのプログラムが実行されます。プログラムでは、アップロードされた写真を取得した上で編集し、編集完了したものを別のS3にアップロードします。
API Gatewayと組み合わせて、APIを作成

API Gatewayでは、実行リクエストのあったAPIの種類(URIやHTTPメソッド)に応じて、動かすLambdaを指定することができます。この例では、Lambdaによって何らかの処理を実行後、その結果をDynamoDBに保存します。Lambdaに実装するプログラム次第で様々なAPIを作成可能です。
ここでご紹介したLambda以外のAWSサービスについては、こちらも参考にしてください。



まとめ
ここまで、AWS Lambdaの概要や代表的な使い方についてまとめました。
Lambdaはプログラムを登録するだけで利用可能なサーバーレスコンピューティングサービスであり、その他の様々なAWSサービスと組み合わせることで幅広い処理を実現させることができます。「プログラムを登録するだけ」という表現は実際大げさではなく、本当に数ステップで作成できますので、ぜひ一度触ってみてください!
