Q21 — AWS SAA-C03 第9章

第 21/40 問 | ← 第9章

Q581. ある会社は、顧客の支払いデータをAmazon S3上の自社のデータレイクに取り込みたいと考えています。同社は平均して1分ごとに支払いデータを受信します。また、リアルタイムでこの支払いデータを分析したいと考えており、その後、データをデータレイクに取り込みたいとしています。これらの要件を最も運用効率よく満たすソリューションはどれですか?

正解: C. Amazon Kinesis Data Firehose を使用してデータを取り込み、Amazon Kinesis Data Analytics を使用してリアルタイムでデータを分析します。

解説

このシナリオでは、「リアルタイム分析」と「その後のデータレイク(Amazon S3)への取り込み」の両方が求められています。Amazon Kinesis Data Firehose は、リアルタイムストリーミングデータを変換・処理したうえで、Amazon S3 などの宛先に自動的にロードするマネージドサービスであり、最小限の運用オーバーヘッドで実現できます。一方、Amazon Kinesis Data Analytics は、Kinesis Data Streams や Kinesis Data Firehose から入力されたストリームデータをSQLやJava/Scalaアプリケーションでリアルタイム分析できるサービスです。ただし、Kinesis Data Firehose 自体は分析機能を持たないため、分析には別途 Kinesis Data Analytics を組み合わせるのが適切です。選択肢AはKinesis Data Streams+Lambdaですが、Lambdaによるリアルタイム分析はスケーリングや状態管理の観点で運用負荷が高く、またS3への永続化は別途実装が必要です。選択肢BのAWS Glueはバッチ指向のETLサービスであり、リアルタイム取り込みには不向きです。選択肢DのAPI GatewayはHTTPエンドポイントとして利用可能ですが、1分ごとのイベントを効率的に処理・スケールさせるには追加のインフラ(例:バックエンドのキュー/ストリーム)が必要で、運用効率が劣ります。したがって、最も運用効率の高いソリューションは、Kinesis Data Firehose(S3への自動書き出し対応)とKinesis Data Analytics(リアルタイム分析)を組み合わせた選択肢Cです。