PMする上で必要になってきたのでおさらい
AWS Lambdaとは?
サーバーレスのコンピューティングサービス。何かのイベントがトリガーされるたびにコードを実行できる。従量課金制。
Lambdaの活用事例
1. ファイル処理
Lambdaは、ファイルを操作するタスクを自動化するのに最適です。
画像のリサイズ
- シナリオ: ユーザーがS3に画像をアップロードすると、自動的にリサイズし、別のフォルダに保存。
- ユースケース: プロファイル画像の処理、ECサイトの商品画像の最適化。
-
例:
- トリガー: S3に画像がアップロードされる。
- Lambdaの処理: Pillow(Pythonライブラリ)を使い、画像をリサイズ。
ファイル形式の変換
- シナリオ: PDFをJPEGに変換、動画のフォーマットを変換。
- ユースケース: ドキュメントビューアや動画配信サービス。
2. APIのバックエンド
Lambdaは、API Gatewayと連携することでバックエンドのロジックを実装できる。
REST APIの構築
- シナリオ: API Gatewayを通じて、Lambdaでデータを取得・更新する。
- ユースケース: ユーザー認証、データ管理、リアルタイム通信。
-
例:
- トリガー: API Gateway(HTTPリクエスト)。
- Lambdaの処理: DynamoDBからデータを取得し、クライアントに返す。
Webhookの受信
- シナリオ: StripeやSlackなどのWebhookを処理。
- ユースケース: 支払い通知を処理し、DynamoDBに記録。
-
例:
- トリガー: API Gateway。
- Lambdaの処理: Webhookデータを解析し、保存。
3. バッチ処理・定期実行
データのクリーニング
- シナリオ: DynamoDBの古いデータを定期的に削除。
- ユースケース: ログデータの管理、期限切れデータの削除。
-
例:
- トリガー: CloudWatchイベント(毎日深夜)。
- Lambdaの処理: DynamoDBに対して削除処理を実行。
スケジュールされたメール送信
- シナリオ: 特定のスケジュールでメールを自動送信。
- ユースケース: リマインダー通知、ニュースレター。
-
例:
- トリガー: CloudWatchイベント。
- Lambdaの処理: AWS SES(Simple Email Service)を利用してメールを送信。
4. リアルタイムデータ処理
IoTデバイスデータの集計
- シナリオ: IoTデバイスから送信されたデータをリアルタイムで処理し、保存。
- ユースケース: スマートホームデバイスやセンサーのデータ管理。
-
例:
- トリガー: AWS IoT Core。
- Lambdaの処理: DynamoDBにデータを書き込み。
ログ解析とアラート通知
- シナリオ: CloudWatch Logsでリアルタイムにログを監視し、不正アクセスを検出して通知。
- ユースケース: トラフィック監視、不正検知。
-
例:
- トリガー: CloudWatch Logs。
- Lambdaの処理: 条件を満たすログをSNS(Simple Notification Service)で通知。
5. サーバーレスチャットボット
- シナリオ: LexとLambdaを組み合わせて、カスタマーサポート用のチャットボットを構築。
- ユースケース: 自動問い合わせ対応、カスタマーサポートの効率化。
-
例:
- トリガー: Amazon Lex。
- Lambdaの処理: 質問に応じたレスポンスを生成。
6. 動的Webコンテンツの生成
- シナリオ: API Gatewayと組み合わせて、ユーザーごとに動的コンテンツを生成。
- ユースケース: カスタマイズされたWebページの提供。
-
例:
- トリガー: API Gateway。
- Lambdaの処理: DynamoDBからデータを取得し、HTMLを生成。
感想
こういうの好き。必須じゃなくてもつい導入して使ってみたくなりそう。