Q45 — AWS DOP-C02 第2章

第 45/100 問 | ← 第2章

DevOpsエンジニアが、Amazon EC2上で実行されるカスタムWebアプリケーションを管理しています。このアプリケーションは、Amazon Kinesis Data Streamsを使用してネットワークログを収集および処理します。DevOpsエンジニアは、同様にAmazon EC2上で実行されるKinesisコンシューマーアプリケーションも管理しています。 データの急増により、Kinesisコンシューマーアプリケーションが遅延し、処理可能な状態になる前にKinesisデータが破棄されています。 DevOpsエンジニアは、処理能力を拡張するソリューションを実装する必要があります。 どのソリューションが、これらの要件を最も高い運用効率で満たすことができますか?

正解: B. Amazon CloudWatchのGetRecords.IteratorAgeMillisecondsメトリクスに基づいて追加のEC2インスタンスを起動し、Kinesisコンシューマーアプリケーションを水平方向にスケールアウトします。Kinesis Data Streamsの保持期間を延長します。

解説

正解はBです。データの急増によりKinesisコンシューマーアプリケーションが遅延し、レコードが破棄される場合、CloudWatchの関連メトリクスに基づいて追加のEC2インスタンスを起動することでアプリケーションを水平方向にスケールアウトすると、処理能力が向上します。また、Kinesis Data Streamsの保持期間を延長することで、データが早期に破棄されるのを防ぐことができます。選択肢Aは、ログをS3に永続化しEMRで処理する方法ですが、複雑性とコストが増加し、必ずしも最高の効率とは限りません。選択肢CはLambda関数への移行ですが、リソース制限やコールドスタートの問題が発生する可能性があります。選択肢Dはシャード数の増加ですが、これはコンシューマーアプリケーション自体の処理能力不足を直接解決しません。以上より、Bが最も高い運用効率で要件を満たします。