AWS LambdaとGlueの違い

目次

LambdaとGlueの違いのまとめ

役割 処理時間上限と規模 実行基盤
Lambda 短時間・イベント駆動の小規模処理 ・最大 15分/実行
・数MB〜数GB程度
コンテナ化された軽量環境
Glue 長時間・大規模データのETL処理 ・長時間ジョブ(数時間〜)可能
・数百GB〜数TBの大規模データ
Apache Spark クラスターを自動構築

規模と用途に応じて使い分けます。

実際のシステムでは S3にデータ到着 → Lambdaでジョブ起動 → Glueで本格ETL処理 という組み合わせもよく使われます。

 

Lambda(ラムダ)とは

役割

  • 「イベント駆動で短いコードを実行する」ためのサービス
  • API呼び出しやS3アップロード、CloudWatchイベントなどをトリガーに数秒〜数分の処理を実行
  • 小規模なデータ変換や通知、APIバックエンドなどに適する

料金

  • 実行時間 × メモリサイズ × 実行回数で課金
  • 短時間・軽量処理向けにコスト効率が高い

使用するプログラム言語

  • 標準的に使えるのは、Node.js、Python、Java、C#/.NET、Go、Rubyです。

得意なケース

  • S3にファイルがアップロードされたら通知する
  • API Gatewayのバックエンド
  • CloudWatchイベントで定期的に小さな処理を実行
  • DynamoDBやSQS連携の小規模バッチ

 

Glue(グルー)とは

役割

  • 「大規模データのETL(抽出・変換・ロード)処理」に特化したサーバーレス基盤
  • Apache Sparkベースで分散処理が可能
  • データレイクやDWH(例:S3 → Redshift)の変換・ロードに使う

料金

  • DPU(Data Processing Unit、仮想CPU+メモリの単位)時間で課金

使用するプログラム言語

  • メインは、Pythonです。

得意なケース

  • S3に保存された大量のログやCSVを加工してRedshiftにロード
  • データカタログ(メタデータ管理)を使ったETLパイプライン
  • Sparkを利用した分散クレンジング・機械学習前処理
  • データレイクからの大規模変換処理

 

関連の記事

AWS LambdaからS3にファイルを書き込む/読み込む

△上に戻る