ある金融会社が Apache Kafka(分散メッセージストリーミング基盤)を使ったリアルタイムデータパイプラインを構築しています。複数の社内チームがトランザクションデータをストリームに書き込みますが、チームがスキーマを変更した際に下流の SageMaker トレーニングジョブや SageMaker Feature Store への取り込みパイプラインが破損することが問題になっています。プロデューサー(データ送信側)とコンシューマー(データ受信側)間でスキーマの整合性を強制し、後方互換性のない変更を事前に自動拒否できる AWS ソリューションとして最も適切なものはどれですか?
AWS Glue Schema Registry はストリーミングアプリケーション向けにスキーマのバージョン管理と互換性チェックを提供するマネージドサービスです。Kafka・Amazon Kinesis Data Streams・Amazon MSK(Managed Streaming for Apache Kafka)と統合でき、BACKWARD 互換モードを設定するとプロデューサーが送信前にスキーマを検証し、後方互換性のないスキーマバージョン(例:既存フィールドの削除や型変更)の登録・送信を自動拒否します。これにより不正データがパイプラインに流入する前に防止できます。 選択肢BのS3バージョニングはオブジェクトファイルの版管理であり、ストリーミングデータのリアルタイムスキーマ検証には使用できません。 選択肢CのGlue Crawlerは S3 や JDBC データソース向けのスキーマ検出ツールであり、Kafka ストリームのリアルタイム検証はサポートしていません。 選択肢DのCloudWatch + EventBridgeによるリトライは障害発生後の事後対処であり、互換性のないデータがパイプラインに流入することを防ぐ予防策にはなりません。