無限ノック › SAP 練習問題一覧 › 問題
SAP新しいソリューションのための設計

あるIoT企業は、数百万台のスマートメーターから5秒ごとに送信されるテレメトリデータ(温度、湿度、電力使用量)を収集し、リアルタイムで異常検知と集計を行うアーキテクチャを設計しています。 以下の要件を満たす必要があります: ・データは順序を保証して処理されること ・処理結果は履歴分析のために低コストで耐久性の高いストレージに永続化されること スケーラビリティと運用効率が最も高いアーキテクチャはどれですか。

A
AWS IoT Coreでデータを受信し、ルールエンジンを使用してAmazon Kinesis Data Streamsにルーティングする。AWS Lambdaで順序を保って異常検知を行い、結果をAmazon S3に出力する
✓ 正解
AWS IoT Coreによるデバイス管理、Kinesis Data Streamsによるスケーラブルな順序保証ストリーミング、Lambdaによるリアルタイム分析、S3による低コストな永続化の組み合わせは、IoTアーキテクチャのベストプラクティスを完全に体現しています。
B
AWS IoT Coreでデータを受信し、Amazon SQSの標準キューに直接ルーティングする。EC2のAuto Scalingグループでメッセージをポーリングして異常検知を行い、Amazon EFSに保存する
Amazon SQSの「標準キュー」はメッセージの順序を保証しません(ベストエフォート型の順序付け)。また、EC2やEFSを利用する構成はサーバーレスアプローチと比較して運用保守の負担が増大するため、最適なアーキテクチャとは言えません。
C
デバイスから直接Amazon API Gatewayを呼び出し、AWS Lambdaでデータをリアルタイムに分析する。結果をAmazon RDS for PostgreSQLに保存して履歴データを管理する
数百万台のIoTデバイスからAPI Gatewayを直接呼び出すと、接続のオーバーヘッドやスロットリング管理が極めて困難になります。また、RDSはビッグデータの低コストな履歴保存先としてはスケーラビリティとコストの面で不適切です。
D
AWS IoT Coreでデータを受信し、Amazon SNSトピックにパブリッシュする。複数のSQSサブスクライバーがメッセージを受信し、Amazon DynamoDBに並行して書き込む
Amazon SNSはパブリッシュ/サブスクライブモデルを提供しますが、メッセージの順序付けは保証されません。また、DynamoDBへの並行書き込みは処理の順序を乱す可能性があり、数百万のデバイスからの高頻度な書き込みはコストが膨大になります。

解説

数百万台のデバイスからの大量ストリーミングデータを処理する場合、デバイスの接続管理にはAWS IoT Coreが不可欠です。「順序を保証して処理する」という要件を満たすためにはAmazon Kinesis Data Streamsが最適であり、シャードキーに基づくパーティショニングにより同一デバイスからのメッセージ順序を厳密に保証します。KinesisをイベントソースとしてLambdaをトリガーすることでサーバーレスかつスケーラブルなリアルタイム異常検知を実現でき、処理結果はコスト効率と耐久性に優れたS3に保存することでデータレイクとして活用できます。 SQS標準キューはメッセージの順序を保証しないため「順序保証」の要件を満たしません。EC2 Auto ScalingグループはKinesis+Lambdaより運用負荷が高く、EFSは大規模な履歴分析データの低コストストレージとして不適切です。 API Gatewayを数百万台のIoTデバイスのエンドポイントとして使用するのはコスト・スケーラビリティの観点から非効率です。RDS for PostgreSQLは大量の時系列IoTデータを低コストで保存するには不向きであり、S3ベースのデータレイクが適しています。 SNS + SQSの構成はメッセージの順序保証を提供しません。DynamoDBは大量の時系列データを低コストで保存するデータレイク用途には適しておらず、S3と比較してコストが高くなります。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAP の問題一覧に戻る