AWS Certified Solutions Architect – Associate (SAA-C03) — Question 391
A company needs to ingest and handle large amounts of streaming data that its application generates. The application runs on Amazon EC2 instances and sends data to Amazon Kinesis Data Streams, which is configured with default settings. Every other day, the application consumes the data and writes the data to an Amazon S3 bucket for business intelligence (BI) processing. The company observes that Amazon S3 is not receiving all the data that the application sends to Kinesis Data Streams.
What should a solutions architect do to resolve this issue?
Answer options
- A. Update the Kinesis Data Streams default settings by modifying the data retention period.
- B. Update the application to use the Kinesis Producer Library (KPL) to send the data to Kinesis Data Streams.
- C. Update the number of Kinesis shards to handle the throughput of the data that is sent to Kinesis Data Streams.
- D. Turn on S3 Versioning within the S3 bucket to preserve every version of every object that is ingested in the S3 bucket.
Correct answer: A
Explanation
By default, Amazon Kinesis Data Streams retains data records for 24 hours. Because the application only consumes the stream and writes to Amazon S3 every other day (every 48 hours), data older than 24 hours is discarded before it can be processed. Modifying the data retention period to at least 48 hours will prevent this data loss, whereas adjusting shards, enabling S3 versioning, or using the KPL will not resolve the retention expiration issue.