Q43 — AWS SAP-C02 第2章

第 43/75 問 | ← 第2章

Q193. ある企業は、大都市内の交通パターンを監視するIoTセンサーを保有しています。この企業は、センサーからデータを読み取り・収集し、そのデータに対して集計処理を実行したいと考えています。ソリューションアーキテクトは、IoTデバイスがAmazon Kinesis Data Streamsにストリーミングするように設計したソリューションを提案しました。複数のアプリケーションがこのストリームからデータを読み取っていますが、いくつかのコンシューマーでスロットリングが発生しており、定期的に「ReadProvisionedThroughputExceeded」エラーに遭遇しています。この問題を解決するために、ソリューションアーキテクトが実施すべき対応はどれですか?(3つ選択)

正解: A. ストリームを再シャードして、ストリーム内のシャード数を増やす, C. エンハンストファンアウト機能を備えたコンシューマーを使用する, E. コンシューマーのロジックにエラー再試行および指数バックオフ機構を導入する

解説

『ReadProvisionedThroughputExceeded』エラーは、1つのシャードあたり1秒間に許容される最大読み取り操作数を超えた場合に発生します。この問題に対処するには、以下の対応が有効です。 A:ストリームを再シャードしてシャード数を増やすことで、ストリーム全体で許容される1秒あたりの読み取り操作数の合計が増加します。 C:エンハンストファンアウト機能を備えたコンシューマーを使用すると、複数のアプリケーションが同一ストリームから同時にデータを消費でき、個々のシャードの読み取りスループット制限に縛られなくなります。 E:コンシューマーのロジックにエラー再試行および指数バックオフ機構を導入することで、スロットリングエラー発生時に一時的に読み取りを中断し、経過後に再試行できます。さらに、連続する失敗ごとに再試行間隔を指数関数的に延長することで、ストリームへの過剰な読み取り要求を回避できます。 B:Kinesis Producer Library(KPL)の使用やポーリング頻度の調整は、プロデューサー側のパフォーマンス向上には寄与しますが、ストリームの読み取りスループットに関する問題を直接解決しません。 D:シャード数を減らす再シャードは、ストリーム全体の1秒あたり読み取り操作数の上限を低下させ、スロットリング問題を悪化させる可能性があります。 F:動的パーティショニングの設定は、レコードのシャード間分布を不均等にする可能性があり、読み取りスループットの問題を直接解決しません。