あるオンライン広告企業は、ユーザーのクリックストリームを秒未満の遅延でリアルタイムに複数のコンシューマーアプリケーションへ配信している。トラフィックは日中・夜間・キャンペーン時で大きく変動し、ピークを事前に予測できない。現在はプロビジョンドモードのAmazon Kinesis Data Streamsをピークに合わせた固定シャード数で構成しているが、閑散時のコストが無駄になっている。リアルタイム性を維持しつつ、シャード管理の運用負荷とコストを最小化する方法はどれか。
A
Kinesis Data Streamsをオンデマンドモードに変更し、スループットに応じてキャパシティを自動調整させる
Kinesis Data Streamsのオンデマンドモードは、取り込みスループットに応じてシャードを自動でスケールし、書き込んだデータ量に対してのみ課金される。シャード数の事前見積もりや管理が不要で、予測不能なピークにも自動追従しながら秒未満のリアルタイム配信を維持できるため、運用負荷とコストを同時に最小化できる。
選択肢のUpdateShardCountによる自動スケールはLambdaやアラームの構築・保守が必要で運用負荷が高い。
選択肢のAmazon Data Firehoseは最小60秒のバッファリングがありリアルタイム要件を満たせない。
選択肢の拡張ファンアウトはコンシューマー側の読み取り機能で取り込み容量やコストには寄与しない。