AWS Lambdaとは…
・サーバレスコンピューティングで、プログラムのコードを実行できるフルマネージドサービスのこと。Lambda関数という実行コードを使用する。
・開発言語はJava、Node.js、Pythonなどに対応。
・実行時間は最長で15分。
・料金=リクエスト数ベースの課金+実行時間ベースの課金。
・実行タイミングは特定のイベントをトリガーとする。
サーバレスとは…
・サーバーを必要としない、リクエスト発生時のみプログラムが実行されるアーキテクチャで、インフラの管理はAWSが行う。
【メリット】ずばり、プログラム開発に集中できる!
・プログラム実行環境の構築や運用が不要になり、負荷が軽減される
・プログラムはリージョン内の複数のAZに分散して配置されるため、耐障害性・可用性の向上
・プログラムへのリクエスト数に応じたスケーリングが自動的に行われることにより、拡張性向上
【使用用途例】
・トリガーでファイル・データ処理を行う
・ユーザーのアクセス時にユーザー認証を行わせる
・ルーティーン処理を実行する(EventBridge)
・バッチ処理として使用する(StepFunction)
【トリガー例】
・Amazon EventBridgeによる通知
・Amazon S3バケットにオブジェクトが作成された時
・Amazon DynamoDBのテーブルに変更があった時
・Amazon SQSのキューにメッセージが追加された時
・Amazon SNSからトピックが通知された時
・Amazon API Gateway経由で直接Lambda関数が呼び出された時
例えば、ユーザーからアップロードされた画像ファイルがS3バケットに保存(オブジェクトが作成)された時に、Lambda関数が実行されて画像ファイルの情報をDynamoDBに書き込むといった利用方法があります。