← 構成図一覧に戻る

Lambda vs Kappa Architecture on AWS

データ基盤 AWS Architecture

作成日: 2026-04-03 / 作成者: SAS-Sasao

Lambda vs Kappa Architecture on AWS
クリックで拡大表示
IaCソースコードを見る

凡例

Data Ingestion — データソースからKafka(MSK)への取り込み
Batch Path — S3 → Glue → Redshift のバッチ処理パス
Speed Path — Flink → DynamoDB のストリーム処理パス
Federated Query — Athena がBatch Views+RT Viewsをマージ参照
Single Stream Path — Kappa の単一ストリーム処理パス
Consumer Output — 利用者(QuickSight/Lambda API)への出力

概要

Lambda Architecture と Kappa Architecture の2つのデータ処理パラダイムを、AWSマネージドサービスで実装・比較した構成図です。

Lambda Architecture はバッチ処理(S3 → Glue → Redshift)とストリーム処理(Flink → DynamoDB)を並列に走らせ、Athena Federated Queryで両者の結果をマージして提供します。一方 Kappa Architecture は MSK の長期リテンション機能を活用し、単一のストリーム処理パイプライン(Flink)のみでバッチ・リアルタイム双方の要件を満たす設計です。

両アーキテクチャとも、データ取り込みには Amazon MSK(Managed Streaming for Apache Kafka)を中核に据え、Kinesis Data Streams や AWS DMS を併用してデータソースからのイベント取り込みを行います。

データフロー

Lambda Architecture バッチ + ストリーム二重処理

Batch Path (正確性重視) + Speed Path (低レイテンシ) を並列実行し、Serving Layer でマージ

Kinesis / DMS Amazon MSK S3 (Data Lake) AWS Glue ETL Redshift (Batch Views)
Amazon MSK Managed Flink DynamoDB (RT Views)
Redshift + DynamoDB Athena (Federated Query) QuickSight / Lambda API

Kappa Architecture 単一ストリーム処理

MSK の Long Retention により、バッチ再処理もストリーム再実行で代替

Kinesis / DMS Amazon MSK (Long Retention) Managed Flink OpenSearch / DynamoDB QuickSight / Lambda API

レイヤー構成

Lambda Architecture

レイヤーAWSサービス用途
Data SourceKinesis Data Streams / AWS DMSPOSデータ・DBの変更イベント取り込み
Message BrokerAmazon MSK (Kafka)イベントの一時バッファリングとルーティング
Batch Layer - StorageAmazon S3全イベントの永続化(Immutable Master Dataset)
Batch Layer - ETLAWS Glueバッチ変換・集計ジョブ
Batch ViewsAmazon Redshift Serverless事前計算済みのバッチビュー(正確性重視)
Speed LayerAmazon Managed Flinkリアルタイムストリーム処理(低レイテンシ)
Realtime ViewsAmazon DynamoDBリアルタイムビュー(近似値、即時性重視)
Serving LayerAmazon Athena (Federated Query)Batch Views + RT Views をSQLでマージ提供
ConsumerQuickSight / LambdaBIダッシュボード・API提供

Kappa Architecture

レイヤーAWSサービス用途
Data SourceKinesis Data Streams / AWS DMSPOSデータ・DBの変更イベント取り込み
Immutable LogAmazon MSK (Long Retention)全イベントの永続ログ(再処理可能)
Stream ProcessingAmazon Managed Flink唯一の処理レイヤー(バッチ/RT統合)
Serving StoreOpenSearch Serverless / DynamoDB検索・集計・キーバリューアクセス
ConsumerQuickSight / LambdaBIダッシュボード・API提供

設計のポイント

1. MSK を両アーキテクチャの中核に配置
Lambda Architecture では Message Broker として短期バッファリングに使用し、Kappa Architecture では Long Retention を有効化して Immutable Log(再処理可能な永続ログ)として使用する。同一のMSKクラスタでも retention.ms の設定変更だけでアーキテクチャの切り替えが可能であり、段階的な移行を実現できる。

2. Athena Federated Query による Serving Layer 統合
Lambda Architecture では Redshift(Batch Views)と DynamoDB(RT Views)という異なるデータストアの結果を、Athena の Federated Query コネクタで透過的に結合する。利用者はSQL一本で最新かつ正確なデータにアクセスでき、Serving Layer の複雑さを隠蔽できる。

3. Managed Flink の共通採用
両アーキテクチャで Amazon Managed Service for Apache Flink を採用。Lambda Architecture の Speed Layer と Kappa Architecture の唯一の処理レイヤーで同一のFlink基盤を使うことで、アプリケーションコードの再利用性が高く、Lambda から Kappa への段階的移行も容易になる。

4. コスト・複雑性のトレードオフ明示
Lambda Architecture は Batch + Speed の二重パイプライン維持コストがかかるが、バッチ処理の正確性とストリーム処理の即時性を両立できる。Kappa Architecture はパイプラインが単一でシンプルだが、MSK の長期ストレージコストと Flink の再処理能力への依存がある。ユースケースに応じた選択指針を構成図で対比的に示している。

コスト概算

ap-northeast-1 (東京) リージョン基準の月額概算。24時間365日稼働前提。為替レート: $1 = 150円

サービス構成Dev (月額)Prod (月額)
Amazon MSKt3.small x3 broker~$50 (7,500円)~$150-300 (22,500-45,000円)
S3 Data Lake100GB~$2-3 (300-450円)~$2-5 (300-750円)
AWS Glue2 DPU~$5-50 (750-7,500円)~$50-500 (7,500-75,000円)
Redshift Serverless32 RPU~$50-200 (7,500-30,000円)~$200-800 (30,000-120,000円)
DynamoDBOn-Demand x2 tables~$10-40 (1,500-6,000円)~$40-200 (6,000-30,000円)
Managed Flinkストリーム処理~$50-100 (7,500-15,000円)~$100-400 (15,000-60,000円)
OpenSearch ServerlessKappa用検索~$25-50 (3,750-7,500円)~$90+ (13,500円+)
AthenaFederated Query~$5-20 (750-3,000円)~$20-100 (3,000-15,000円)
QuickSightBI~$24 (3,600円)~$24-240 (3,600-36,000円)
LambdaAPI~$0-5 (0-750円)~$5-50 (750-7,500円)
合計~$221-492 (約33,150-73,800円)~$681-2,785 (約102,150-417,750円)
コスト最適化のポイント: Dev環境ではMSK ServerlessへのダウングレードでBroker常時稼働コストを削減可能。Redshift Serverlessは業務時間外のpause schedulingで最大60%削減。S3はライフサイクルポリシーでGlacierへの自動階層化を設定。

学習ポイント

Generated by /company-diagram — AWS Diagram MCP Server