AWS Certified Solutions Architect – Associate (SAA-C02) — Question 798
A company is building a solution that will report Amazon EC2 Auto Scaling events across all the applications in an AWS account. The company needs to use a serverless solution to store the EC2 Auto Scaling status data in Amazon S3. The company then will use the data in Amazon S3 to provide near-real-time updates in a dashboard. The solution must not affect the speed of EC2 instance launches.
How should the company move the data to Amazon S3 to meet these requirements?
Answer options
- A. Use an Amazon CloudWatch metric stream to send the EC2 Auto Scaling status data to Amazon Kinesis Data Firehose. Store the data in Amazon S3.
- B. Launch an Amazon EMR cluster to collect the EC2 Auto Scaling status data and send the data to Amazon Kinesis Data Firehose. Store the data in Amazon S3.
- C. Create an Amazon EventBridge (Amazon CloudWatch Events) rule to invoke an AWS Lambda function on a schedule. Configure the Lambda function to send the EC2 Auto Scaling status data directly to Amazon S3.
- D. Use a bootstrap script during the launch of an EC2 instance to install Amazon Kinesis Agent. Configure Kinesis Agent to collect the EC2 Auto Scaling status data and send the data to Amazon Kinesis Data Firehose. Store the data in Amazon S3.
Correct answer: A
Explanation
Option A is correct because utilizing an Amazon CloudWatch metric stream to route data through Amazon Kinesis Data Firehose to Amazon S3 is a fully serverless, near-real-time solution that does not impact EC2 instance launch performance. Option B is incorrect because Amazon EMR is not a serverless service and is inefficient for this streaming use case. Options C and D are incorrect because scheduled Lambda polling does not provide near-real-time delivery, and running bootstrap installation scripts on startup directly degrades the speed of EC2 instance launches.