Real-time Data Ingestion to S3 using Kinesis

SAA-C03 By islever Editorial Last updated

Short answer

A Create Kinesis Data Streams for ingestion and Kinesis Data Firehose to deliver the data to the S3 bucket.

Question

A company's application runs on Amazon EC2 instances that are in multiple Availability Zones. The application needs to ingest real-time data from third-party applications. The company needs a data ingestion solution that places the ingested raw data in an Amazon S3 bucket. Which solution will meet these requirements?
  1. Create Amazon Kinesis data streams for data ingestion. Create Amazon Kinesis Data Firehose delivery streams to consume the Kinesis data streams. Specify the S3 bucket as the destination of the delivery streams. Correct Answer
  2. Create database migration tasks in AWS Database Migration Service (AWS DMS). Specify replication instances of the EC2 instances as the source endpoints. Specify the S3 bucket as the target endpoint. Set the migration type to migrate existing data and replicate ongoing changes.
  3. Create and configure AWS DataSync agents on the EC2 instances. Configure DataSync tasks to transfer data from the EC2 instances to the S3 bucket.
  4. Create an AWS Direct Connect connection to the application for data ingestion. Create Amazon Kinesis Data Firehose delivery streams to consume direct PUT operations from the application. Specify the S3 bucket as the destination of the delivery streams.

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?

DataSync is optimized for transferring large datasets of file-based data, not for continuous, low-latency real-time ingestion from multiple third-party sources.

Does the application running on EC2 affect the ingestion choice?

No. The EC2 instances host the application, but the data ingestion path is separate. Third-party apps send data directly to Kinesis, bypassing the EC2 instances.

More SAA-C03 FAQ →

Community Votes

A
78%
C
22%

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

  1. xBUGx 👍 3 Answered C
    A 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?
  2. 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.
  3. mk168898 👍 2 Answered A
    real time data => amazon kinesis data stream
  4. JA2018 👍 1 Answered A
    Why 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
  5. Mayank0502 👍 1 Answered C
    each ec2 needs to proceed data separately
Show 2 more comments
  1. asdfcdsxdfc 👍 9 Answered A
    A is correct
  2. seetpt 👍 2
    Agree with A

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide