DEA-C01 Practice Question 67: Kinesis Iterator Age Alarm
AWS Certified Data Engineer – Associate (DEA-C01) · Test 7 · question 7 of 10
A data engineer wants to be alerted when a consumer of an Amazon Kinesis data stream falls so far behind that unread records are at risk of expiring from the stream. Which CloudWatch alarm should the engineer create?
Show answer and explanation
Answer:
GetRecords.IteratorAgeMilliseconds is the age of the last record returned by GetRecords, the difference between now and when that record was written to the stream. *"A value of zero indicates that the records being read are completely caught up with the stream."* AWS recommends it for this exact purpose: *"If an iterator's age passes 50% of the retention period (by default, 24 hours, configurable up to 7 days), there is risk for data loss due to record expiration. We recommend that you use CloudWatch alarms on the Maximum statistic to alert you before this loss is a risk"* (option A).
- B is wrong because IncomingBytes measures how much data producers write. It says nothing about how far behind consumers are. - C is wrong because WriteProvisionedThroughputExceeded counts records throttled on the producer side. Consumer lag can occur without any write throttling. - D is wrong because PutRecords.Success reports whether producer writes succeed, not consumer progress.
Reference: Monitor the Amazon Kinesis Data Streams service with Amazon CloudWatch