数百万台のデバイスからの大量ストリーミングデータを処理する場合、デバイスの接続管理には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と比較してコストが高くなります。