Qraft(クラフト) 資格・学習クイズアプリ

AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 51:データ処理:ストリーム配信

Webアプリケーションのクリックストリームデータをリアルタイムで収集し、AWS Lambda関数を利用してデータフォーマットを変換した上で、Amazon S3に自動的に継続配信するアーキテクチャを構築します。この要件を最も運用オーバーヘッド少なく実現できる方法はどれか。

  1. Amazon Kinesis Data Streamsを使用してデータを受信し配信する。
  2. Amazon Data Firehoseを使用してデータを変換しS3に自動配信する。
  3. Amazon MSKを使用してストリーミングデータパイプラインを構築・運用する。
  4. Amazon SQSを利用してデータをキューイングし、EC2のワーカーでS3へ保存する。
  5. AWS Step Functionsを利用して定期的なバッチ処理ワークフローを構築する。
正解と解説を見る
正解:Amazon Data Firehoseを使用してデータを変換しS3に自動配信する。

正解は、Amazon Data Firehoseを使用してデータを変換しS3に自動配信するアプローチです。

【正解の理由】
Amazon Data Firehoseは、ストリーミングデータをリアルタイムで収集し、Amazon S3、Amazon Redshift、Amazon OpenSearch Serviceなどに確実に配信するためのフルマネージドサービスです。AWS Lambdaと統合して、配信前にデータフォーマットの変換(例:JSONからParquetへの変換)を自動的に行う機能が組み込まれており、カスタムアプリケーションを管理する運用オーバーヘッドなしで実現できます。

【不正解の理由】
• 「Amazon Kinesis Data Streamsを使用してデータを受信し配信する」という説明は誤り。データストリームのリアルタイム処理には適していますが、S3へ保存するためにはコンシューマーアプリケーション(LambdaやEC2など)を自前で実装・管理する必要があります。
• 「Amazon MSKを使用してストリーミングデータパイプラインを構築・運用する」という説明は誤り。Apache Kafka互換の強力なサービスですが、クラスターの管理が必要となり、運用オーバーヘッドを最小化したいという要件には適しません。
• 「Amazon SQSを利用してデータをキューイングし、EC2のワーカーでS3へ保存する」という説明は誤り。キューベースの処理は可能ですが、ワーカーとなるEC2のプロビジョニングやスケーリングの管理が必要となり手間がかかります。
• 「AWS Step Functionsを利用して定期的なバッチ処理ワークフローを構築する」という説明は誤り。Step Functionsはワークフローのオーケストレーションサービスであり、ストリーミングデータのリアルタイムな受信と変換・配信に特化したものではありません。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)