Q32 — AWS SAA-C03 第7章
第 32/65 問 | ← 第7章
Q462. ある企業が、自社のモバイルアプリを100万人のユーザーが利用しています。この企業は、データ使用状況をニアリアルタイムで分析する必要があります。また、データをニアリアルタイムで暗号化し、さらに処理のためにApache Parquet形式で一元化された場所(Amazon S3)に保存する必要があります。これらの要件を満たすとともに、運用オーバーヘッドを最小限に抑えるソリューションはどれですか?
- A. Amazon Kinesis Data Stream を作成してデータを Amazon S3 に保存します。Amazon Kinesis Data Analytics アプリケーションを作成してデータを分析します。AWS Lambda 関数を呼び出して、データを Kinesis Data Analytics アプリケーションに送信します。
- B. Amazon Kinesis Data Stream を作成してデータを Amazon S3 に保存します。Amazon EMR クラスターを作成してデータを分析します。AWS Lambda 関数を呼び出して、データを EMR クラスターに送信します。
- C. Amazon Kinesis Data Firehose デリバリーストリームを作成してデータを Amazon S3 に保存します。Amazon EMR クラスターを作成してデータを分析します。
- D. Amazon Kinesis Data Firehose デリバリーストリームを作成してデータを Amazon S3 に保存します。Amazon Kinesis Data Analytics アプリケーションを作成してデータを分析します。 ✓
正解: D. Amazon Kinesis Data Firehose デリバリーストリームを作成してデータを Amazon S3 に保存します。Amazon Kinesis Data Analytics アプリケーションを作成してデータを分析します。
解説
Kinesis Data Firehose は、ストリーミングデータを Amazon S3 などに自動的にロードするマネージドサービスであり、データの暗号化(サーバー側暗号化SSEまたはクライアント側暗号化)、Apache Parquet 形式への変換(データ変換機能およびAWS Glueテーブル統合による列指向フォーマット出力)、およびニアリアルタイムでの保存をサポートします。これにより、Lambda関数やEMRクラスターなどの追加コンポーネントを手動で管理・スケーリングする必要がなく、運用オーバーヘッドが最小限になります。一方、Kinesis Data Stream は低レイテンシなカスタム処理に適していますが、S3への保存やParquet変換、暗号化には追加のLambdaやEMRなどの構成が必要となり、運用負荷が高まります。EMRは大規模バッチ処理に優れていますが、ニアリアルタイム分析と最小運用オーバーヘッドという要件には不向きです。Kinesis Data Analytics はSQLやFlinkによるリアルタイムストリーム分析に最適ですが、Parquet形式でのS3保存は行わず、Firehoseとの組み合わせが推奨されます。したがって、Firehose(S3保存+暗号化+Parquet変換)+Data Analytics(リアルタイム分析)の組み合わせが最も適しており、選択肢Dが正解です。ただし、問題文では「分析」と「S3へのParquet保存」の両方が求められており、Firehose単体でParquet保存が可能である点に注目すると、分析機能は別途Data Analyticsで実現するのが明確かつ最小オーバーヘッドな設計です。選択肢CはEMRを用いるためスケーリング・管理オーバーヘッドが大きく、選択肢A・BはKinesis Data Streamを用いており、S3への書き出しやParquet変換に追加のLambda処理が必要となるため、運用負荷が高くなります。