AWS Lambdaの基礎、統合、料金体系

Tony Duong

Tony Duong

3月 27, 2026 · 1

他の言語:🇫🇷🇬🇧
#aws#lambda#serverless#eventbridge#s3#cloudwatch#certification
AWS Lambdaの基礎、統合、料金体系

AWS Lambdaとは何か、そしてなぜ重要か

AWS Lambdaはサーバーレスなコンピュートサービスで、関数としてコードをアップロードすると、AWSが必要なときに実行してくれます。EC2とは異なり、サーバー、キャパシティ、スケーリンググループを管理する必要はありません。

これが便利な理由:

  • サーバーのプロビジョニングやパッチ適用が不要
  • コードが実行されたときだけ課金される
  • 同時実行に応じて自動で水平方向にスケールする
  • イベント駆動アーキテクチャをはるかに実装しやすくなる

Lambdaは短時間で完了するリアクティブなワークロードに最適です。各呼び出しは最大15分まで実行できます。

LambdaとEC2の違い:中核となる差分

EC2の場合:

  • CPUとメモリを事前に固定で選ぶ
  • アイドル時でもインスタンスが継続稼働することがある
  • スケーリングにはASGと追加の運用作業が必要

Lambdaの場合:

  • 関数コードだけをデプロイする
  • 実行は呼び出されたときだけ発生する
  • AWSがスケーリングを自動で処理する
  • 課金が実利用により近く一致する

このシフトこそが、現代的なクラウドアーキテクチャでLambdaが非常に人気な主な理由です。

覚えておきたい料金モデル

Lambdaの料金は2つの軸で決まります:

  • リクエスト(呼び出し回数): 毎月最初の100万リクエストは無料、その後は100万回単位で低価格課金
  • コンピュート実行時間: GB秒ベースでミリ秒単位課金

試験向けの重要ポイント:

  • メモリ設定はCPUとネットワーク性能に影響する
  • メモリを増やすことで実行時間が短縮され、結果として総コストが下がる場合がある

無料利用枠は十分に大きく、多くのイベント駆動タスクでLambdaをコスト効率の高い第一選択にできます。

ランタイムとパッケージングの選択肢

よく使われるランタイム:

  • Node.js
  • Python
  • Java
  • C#/.NET
  • Ruby

Lambda Runtime APIを使えば、カスタムランタイムやコンテナイメージも利用できます。試験での判断としては、コンテナ中心のワークロードはECS/Fargateが適していることが多く、Lambdaは関数スタイルのイベント処理に引き続き最適です。

価値の高い統合先

Lambdaは次のようなAWSサービスと深く統合できます:

  • API Gateway(REST APIのバックエンド)
  • EventBridge/CloudWatch Events(スケジュール実行とイベントルーティング)
  • S3(オブジェクト作成トリガー)
  • DynamoDB(ストリーム/変更トリガー)
  • SQSとSNS(メッセージ処理と通知処理)
  • CloudWatch Logs(運用可視化)
  • Cognito(認証ライフサイクルのフック)

このエコシステムとの適合性は、Lambdaの大きな強みです。

ハンズオン1:EventBridgeのスケジュール呼び出し

シナリオ:

  • lambda-demo-eventbridge 関数を作成
  • rate(1 minute) のEventBridgeルールを作成
  • ルールのターゲットにLambdaを設定

確認ポイント:

  • Lambda設定画面にEventBridgeトリガーが表示される
  • Lambdaのリソースベースポリシーに events.amazonaws.com への許可が含まれる
  • 条件で、特定のEventBridgeルールARNからの呼び出しに制限されている
  • CloudWatchログで定期呼び出しが確認できる
  • イベントペイロードに sourcedetail-typetimeresources などのフィールドが含まれる

運用のコツ:不要な呼び出しを避けるため、検証後はスケジュールルールを無効化しましょう。

ハンズオン2:S3のオブジェクト作成トリガー

シナリオ:

  • 同一リージョンにLambda関数とS3バケットを作成
  • オブジェクト作成イベント向けにS3 Event Notificationを追加
  • 送信先にLambdaを設定

確認ポイント:

  • LambdaにS3トリガーが表示される
  • LambdaリソースポリシーでS3サービスプリンシパルへの呼び出し許可が付与される
  • オブジェクトをアップロードすると新しいCloudWatchログストリームが生成される
  • イベントペイロードにバケット名、オブジェクトキー、サイズ、リージョン、メタデータが含まれる

このパターンは、画像サムネイル生成、メタデータ抽出、ファイル検証パイプラインなど、多くのサーバーレスワークフローの基盤になります。

典型的なサーバーレスパターン

1) リアクティブなファイルパイプライン

  • ファイルをS3にアップロード
  • S3イベントがLambdaを呼び出す
  • Lambdaがデータを変換し、出力を保存(S3/DynamoDB)

2) サーバーレスcron

  • EventBridgeのスケジュールがX分/時間ごとにLambdaを起動
  • LambdaがEC2インスタンスを維持せずに定期ジョブを実行

どちらのパターンも、アイドルコストを削減し、運用を簡素化できます。

試験対策メモ

  • Lambdaの最大実行時間は15分
  • 課金は呼び出し回数と実行時間ベース
  • メモリ設定はCPU/ネットワーク割り当てに影響
  • EventBridgeとS3はリソースベース権限を通じてLambdaを呼び出す
  • コンテナ全般のワークロードにはECS/Fargateを優先
  • イベント駆動でバースト性のある処理でLambdaは特に強い

重要なポイント

  • Lambdaはサーバーベースの計算からイベント駆動関数への大きな転換
  • 料金モデルはシンプルで、多くの場合は効率的(特に無料利用枠)
  • EventBridge、S3、その他AWSサービスとの統合が中核
  • リソースベースポリシーを理解すると「誰が関数を呼べるか」が分かる
  • CloudWatchでトリガーペイロードを理解することはデバッグに不可欠

Claudeによる翻訳

Tony Duong

著者: Tony Duong

デジタル日記。思考、経験、そして人生についての考え。