exam questions

Exam AWS Certified Solutions Architect - Professional All Questions

View all questions & answers for the AWS Certified Solutions Architect - Professional exam

Exam AWS Certified Solutions Architect - Professional topic 1 question 851 discussion

A company has more than 10,000 sensors that send data to an on-premises Apache Kafka server by using the Message Queuing Telemetry Transport (MQTT) protocol. The on-premises Kafka server transforms the data and then stores the results as objects in an Amazon S3 bucket.
Recently, the Kafka server crashed. The company lost sensor data while the server was being restored. A solutions architect must create a new design on AWS that is highly available and scalable to prevent a similar occurrence.
Which solution will meet these requirements?

  • A. Launch two Amazon EC2 instances to host the Kafka server in an active/standby configuration across two Availability Zones. Create a domain name in Amazon Route 53. Create a Route 53 failover policy. Route the sensors to send the data to the domain name.
  • B. Migrate the on-premises Kafka server to Amazon Managed Streaming for Apache Kafka (Amazon MSK). Create a Network Load Balancer (NLB) that points to the Amazon MSK broker. Enable NLB health checks. Route the sensors to send the data to the NLB.
  • C. Deploy AWS IoT Core, and connect it to an Amazon Kinesis Data Firehose delivery stream. Use an AWS Lambda function to handle data transformation. Route the sensors to send the data to AWS IoT Core.
  • D. Deploy AWS IoT Core, and launch an Amazon EC2 instance to host the Kafka server. Configure AWS IoT Core to send the data to the EC2 instance. Route the sensors to send the data to AWS IoT Core.
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
snakecharmer2
Highly Voted 2 years, 7 months ago
Selected Answer: C
C - NLB does not support MQTT protocol Kinese streams support it. https://docs.aws.amazon.com/iot/latest/developerguide/kinesis-rule-action.html
upvoted 8 times
pinhead900
2 years, 2 months ago
how can this be highly voted? MQTT is application layer and can work over TCP and UDP https://en.wikipedia.org/wiki/MQTT Don't take highly voted answers for granted, must be B
upvoted 4 times
...
bobsmith2000
2 years, 6 months ago
NLB works on 4th level of OSI. MQTT work over TCP. Hence NLB are not aware of what a TCP package contains.
upvoted 5 times
...
...
dcdcdc3
Highly Voted 2 years, 2 months ago
Selected Answer: C
Because MSK has Maximum number of client connections 1000 per second and the company has 10,000 sensors, the MSK likely will not be able to handle all connections, so have to select C as the answer https://docs.aws.amazon.com/msk/latest/developerguide/limits.html
upvoted 6 times
...
Heer
Most Recent 1 year, 10 months ago
Those who have selected option B ,Please note that "While Amazon MSK itself does not have built-in ETL (Extract, Transform, Load) capabilities, it can be used in conjunction with other AWS services to build an ETL pipeline." There are 3 ask in the question : 1)Pull the sensor data using MQTT->IOT Core has the capabilities to connect to MQTT 2)ETL the data ->We can direct send data from IOT Core to Lambda too but for large scale data Kinesis Data Firehouse is being used .And Firehouse use Lambda for ETL . 3)Send the data to destination which is S3 . Lambda can do that easily . OPTION C is the right answer
upvoted 1 times
...
mrgreatness
2 years ago
C for me
upvoted 1 times
...
Blair77
2 years, 1 month ago
C for me: https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html
upvoted 2 times
...
dcdcdc3
2 years, 2 months ago
B is possible (4th diagram, PrivateLink, using one or more NLB for MSK) : https://aws.amazon.com/blogs/big-data/secure-connectivity-patterns-to-access-amazon-msk-across-aws-regions/ Simplest design - IoT Core can send to MSK but there is no such option in the answers: https://aws.amazon.com/blogs/iot/how-to-integrate-aws-iot-core-with-amazon-msk/ C is well described here: https://medium.com/swlh/create-kinesis-firehose-data-stream-from-iot-core-to-s3-using-serverless-framework-2af1d0b35500 both B and C are correct. Both are highly available, both not optimal.. Maybe if the on-prem Kafka cluster is only storing transformed data in S3, then really Kafka is not needed and firehose is sufficient? Then C would be the answer
upvoted 3 times
...
sb333
2 years, 2 months ago
Selected Answer: C
https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html
upvoted 2 times
sb333
2 years, 2 months ago
Relooking at all the details, it makes more sense for this to be B.
upvoted 2 times
...
...
JohnPi
2 years, 2 months ago
Selected Answer: C
https://aws.amazon.com/iot-core/
upvoted 1 times
...
tarisai
2 years, 3 months ago
Selected Answer: B
https://www.aklivity.io/products/private-msk-proxy
upvoted 3 times
...
user89
2 years, 6 months ago
I think its B because NLB support MQTT protocol https://www.emqx.com/en/blog/mqtt-broker-clustering-part-1-load-balancing http://kth.diva-portal.org/smash/get/diva2:1466268/FULLTEXT01.pdf
upvoted 5 times
...
shailurtm2001
2 years, 7 months ago
B seems right.
upvoted 4 times
user0001
2 years, 6 months ago
true, why do we want to change the code?
upvoted 2 times
bobsmith2000
2 years, 6 months ago
Because of "a solutions architect must establish a new architecture on AWS that is highly available and scalable" Following best practices and well-architected framework, when you migrate to cloud, you'd better rearchitect the app to benefit from the cloud managed services and optimise costs
upvoted 3 times
...
...
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...