Real-time Data Ingestion to S3 using Kinesis
Short answer
A Create Kinesis Data Streams for ingestion and Kinesis Data Firehose to deliver the data to the S3 bucket.
Question
Key Takeaways
The scenario requires handling real-time ingestion from external sources directly to S3; Kinesis Data Streams provides the streaming capability while Firehose handles the reliable delivery to S3 without requiring custom application logic on EC2.
This question evaluates the correct architecture for ingesting real-time data from third-party applications into Amazon S3, identifying Kinesis Data Streams and Firehose as the optimal managed solution.
Common mistake: Many candidates choose AWS DataSync (C), incorrectly assuming that because the application runs on EC2, the data must be transferred from those instances. However, the requirement is to ingest data *from* third parties, not move data *between* existing infrastructure components.
Expert Analysis
Why the Answer Is Correct
Option A is the correct answer because it leverages AWS native services designed specifically for high-throughput, real-time data ingestion. Amazon Kinesis Data Streams captures the real-time data from the third-party applications. Kinesis Data Firehose then acts as the delivery mechanism, consuming the stream and automatically loading the data into the specified Amazon S3 bucket. This architecture is fully managed, scalable, and decoupled from the compute layer.
Why the Other Options Are Wrong
Option C uses AWS DataSync, which is designed for moving large amounts of file-based data between on-premises storage and AWS services like EFS or S3, often in batches or scheduled intervals, not for real-time ingestion from arbitrary third-party apps. Option B, AWS DMS, is intended for migrating database content, not general-purpose application data ingestion. Option D suggests using Direct Connect, which is a dedicated private network connection to AWS, typically used for connecting an on-premises data center, not for ingesting data from public third-party applications.
Community Comment Notes
The community consensus strongly supports Option A. As user mk168898 noted, 'real time data => amazon kinesis data stream', highlighting the key keyword match. User MatAlves confirmed the workflow: Kinesis streams capture the data, and Firehose delivers it to S3. While some users initially considered DataSync due to the mention of EC2, they correctly identified that the EC2 instances are just where the application runs, not the source of the raw data being ingested from outside.
Exam Strategy
Always distinguish between the location of your application (EC2) and the source of the data being ingested. If the data comes from 'third-party applications' or external sources in real-time, look for Kinesis Data Streams or EventBridge. If you need to move files from on-premises to S3/EFS, consider DataSync.
Frequently Asked Questions
Why not use AWS DataSync for real-time ingestion?
Does the application running on EC2 affect the ingestion choice?
Community Votes
78% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 7 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 7
-
xBUGx 👍 3 Answered CA is best solution, but i think the question is saying "The application needs to ingest real-time data from third-party applications." and the application is run on EC2. so i think we need a solution that works with the application on EC2 for this question?
-
MatAlves 👍 2 Answered A- Amazon Kinesis Data Streams: designed for real-time data ingestion. - Kinesis Data Firehose: can consume data from Kinesis Data Streams and automatically deliver it to Amazon S3. A is the answer.
-
mk168898 👍 2 Answered Areal time data => amazon kinesis data stream
-
JA2018 👍 1 Answered AWhy A? Kinesis Data Streams: This is designed for real-time data ingestion, which is exactly what the scenario requires. Kinesis Data Firehose: This service can then be used to efficiently deliver the ingested data from Kinesis streams to an S3 bucket, fulfilling the need to store raw data in S3
-
Mayank0502 👍 1 Answered Ceach ec2 needs to proceed data separately
Show 2 more comments
-
asdfcdsxdfc 👍 9 Answered AA is correct
-
seetpt 👍 2Agree with A
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →