AWS Certified Solutions Architect - Professional / Question #609 of 529

Question #609

A company operates an IoT platform on AWS where sensors transmit data to Python-based API servers hosted on Amazon EC2 instances behind an Application Load Balancer. The data is stored in an Amazon RDS PostgreSQL DB instance utilizing a 5 TB General Purpose SSD volume. As the number of sensors expands, the API servers experience consistent overload, and RDS metrics indicate elevated write latency.

Which of the following steps together will permanently resolve these issues and support future growth cost-effectively? (Choose two.)

A

Increase the RDS PostgreSQL storage to 8 TB to enhance the volume's IOPS.

B

Migrate the database to Amazon Aurora with read replicas to distribute read workloads.

C

Implement Amazon Kinesis Data Firehose and AWS Lambda to ingest and process sensor data.

D

Utilize Amazon CloudWatch for detailed monitoring and auto-scale EC2 instances to manage API load.

E

Re-architect the database tier to use Amazon DynamoDB instead of RDS PostgreSQL.

Explanation

The API server overload and RDS write latency stem from inefficient data ingestion and database scaling.

- C (Kinesis Data Firehose + Lambda): Sensors send data directly to Kinesis, bypassing EC2 servers. Lambda processes and batches data, reducing write operations on RDS, alleviating both API and database bottlenecks.
- E (DynamoDB): DynamoDB's auto-scaling handles high write throughput, resolving RDS latency permanently.

Why not others:
- A: Increasing RDS storage temporarily boosts IOPS but doesn't scale cost-effectively.
- B: Aurora read replicas optimize reads, not writes.
- D: Auto-scaling EC2 doesn't address database latency and is less efficient than offloading ingestion via Kinesis.

Key Points: Use serverless services (Kinesis, Lambda) for scalable data ingestion and NoSQL (DynamoDB) for high-write scenarios.

Answer

The correct answer is: CE