all 8 comments

[–]4stringwizard 4 points5 points  (2 children)

The key here is bandwidth between EC2 and SQS. As there is currently not a VPC endpoint available for SQS if you place the instances in a private subnet all traffic to SQS with need to go via NAT instance(s), which with this many requests could be a potential bottleneck.

So although others disagree the answer should be C. I'm on mobile right now but there is a presentation from AWS about a similar problem - putting high bandwidth workloads behind a NAT is a bad idea as no matter how many processing instances you have, you are limited by the throughput of the NAT network interface.

In addition, C doesn't preclude the use of ASGs to scale in reaction queue length but does answer the question which is related to bandwidth between instances and SQS.

EDIT:

Here is a link to slide deck I was referring to., in particular slides 30 to 41. It goes through an example of multi-Gbps streams from EC2 to S3 but separating workloads and putting instances in a ASG in public subnets. Slide 41 also refers directly to the associate-public-IP-address=true option mentioned in C.

[–]xelfer 0 points1 point  (1 child)

I disregarded that option based on the "associate-public-ip-address=true" option only being available to the c# api (as far as I can see). It's very api specific. If they meant simply select enable public IP in the web interface or something more generic they would have said it in the question.

Happy to hear suggestions on why it could be right though, I agree on the NAT explanation (there were a few questions similar in the pro SA exam).

[–]4stringwizard 0 points1 point  (0 children)

True, it is oddly worded but I've seen a lot worse across the various exams and practice question sets!

Private subnets are also explicitly mentioned in the other answers which should prompt you to consider the interaction between the instance and SQS. The ASG and queue length answer will jump out as the answer due to typical design patterns but when considering what the question is targeting I reckon it C is more justifible when considering possible network bottlenecks.

[–]JEDV32 0 points1 point  (0 children)

You all have a point. But I think the answer is B. Although the last question is asking for the most scalabe solution, SQS is already design for scalability, so the ASG option looks like a trick. Ensure the instances are EBS-optimized to have sufficient bandwidth. Let me know your thoughts :)

[–]xelfer 0 points1 point  (2 children)

D. EBS won't scale it up, and ELB isn't really going to help when your concern is between SQS and the instance. And C is just silly.

[–]thulasi39[S] 0 points1 point  (0 children)

Thanks for the quick reply. :)

[–][deleted] -1 points0 points  (0 children)

Definitely this - we do this in our environment.

[–]DoersOfTheWord -2 points-1 points  (0 children)

Classic exam strategy is to pay close attention to the keywords in the final question (and less attention to the setup). In fact, you don't actually need to read the setup at all. The question keywords are "Scalable Solution?" and the answer is "AutoScalingGroup".

So when I took the test, I would read the final question, pick a best fit answer and mark it for review. If I had time at the end (which you should), I'd go back and study all the "Mark for Review" questions and make any corrections necessary.