DEAデータの取り込みと変換
あるeコマース企業は、複数のマイクロサービスがAmazon Kinesis Data Streamsにリアルタイムで注文イベントをAvro形式で書き込んでいます。
サービスの拡張に伴いスキーマが頻繁に変更され、プロデューサーとコンシューマー間でスキーマ不一致による障害が発生しています。
要件は以下の通りです。
・スキーマを一元管理して異なるバージョン間の互換性を制御したい
・プロデューサーはメッセージ送信時に自動でスキーマ検証したい
・コンシューマーはスキーマ変更を自動検出して対応したい
この要件を満たすための最も適切な構成はどれですか?
AAmazon S3のバケットにAvroスキーマファイルを保管し、プロデューサー・コンシューマーが起動時にS3から最新スキーマを取得するよう実装する
Amazon S3はスキーマ管理専用機能を持たず互換性チェックも手動になるため、バージョン管理の自動化には不向きです。
BAWS Glue Schema Registryを使用してスキーマを登録・バージョン管理し、BACKWARD互換性ポリシーを設定してプロデューサー・コンシューマーにGlue Schema Registry SDKを組み込む
✓ 正解
AWS Glue Schema RegistryはKinesis Data Streams・MSK・Kafkaと直接統合されており、BACKWARD/FORWARD/FULL互換性ポリシーでスキーマ進化を安全に制御できます。SDK組み込みにより送受信時の自動シリアライズ・デシリアライズと互換性検証が実現できます。
CAmazon DynamoDBにスキーマバージョン管理テーブルを作成し、各メッセージのヘッダーにバージョン番号を付与してコンシューマーが動的にスキーマを取得する
Amazon DynamoDBを使った独自実装では互換性検証ロジックを自前開発する必要があり、運用コストが増大します。
DAmazon EventBridgeのスキーマレジストリを使用してスキーマを自動検出し、Kinesis Data Streamsのイベントとの互換性チェックを行う
Amazon EventBridgeスキーマレジストリはEventBridgeのJSONイベント向けであり、Kinesis Data StreamsのAvroスキーマ管理には対応していません。
解説
AWS Glue Schema Registryを使用してスキーマを登録・バージョン管理し、BACKWARD互換性ポリシーを設定してプロデューサー・コンシューマーにGlue Schema Registry SDKを組み込む。
AWS Glue Schema RegistryはKinesis Data Streams・MSK・Kafkaと直接統合されており、BACKWARD/FORWARD/FULL互換性ポリシーでスキーマ進化を安全に制御できます。SDK組み込みにより送受信時の自動シリアライズ・デシリアライズと互換性検証が実現できます。
選択肢A(Amazon S3のバケットにAvroスキーマファイルを保管)はS3によるスキーマ管理で互換性チェック機能がなく、バージョン管理も手動になります。
選択肢C(Amazon DynamoDB)はDynamoDBを使った独自実装で互換性検証ロジックを自前開発する必要があり、運用コストが増大します。
選択肢D(Amazon EventBridge)はEventBridgeスキーマレジストリがEventBridgeのJSONイベント向けであり、Kinesis Data StreamsのAvroスキーマ管理には対応していません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →