Q21 — AWS SAA-C03 第9章
第 21/40 問 | ← 第9章
Q581. ある会社は、顧客の支払いデータをAmazon S3上の自社のデータレイクに取り込みたいと考えています。同社は平均して1分ごとに支払いデータを受信します。また、リアルタイムでこの支払いデータを分析したいと考えており、その後、データをデータレイクに取り込みたいとしています。これらの要件を最も運用効率よく満たすソリューションはどれですか?
- A. Amazon Kinesis Data Streams を使用してデータを取り込み、AWS Lambda を使用してリアルタイムでデータを分析します。
- B. AWS Glue を使用してデータを取り込み、Amazon Kinesis Data Analytics を使用してリアルタイムでデータを分析します。
- C. Amazon Kinesis Data Firehose を使用してデータを取り込み、Amazon Kinesis Data Analytics を使用してリアルタイムでデータを分析します。 ✓
- D. Amazon API Gateway を使用してデータを取り込み、AWS Lambda を使用してリアルタイムでデータを分析します。
正解: 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です。