exam questions

Exam AWS Certified Developer Associate All Questions

View all questions & answers for the AWS Certified Developer Associate exam

Exam AWS Certified Developer Associate topic 1 question 75 discussion

Exam question from Amazon's AWS Certified Developer Associate
Question #: 75
Topic #: 1
[All AWS Certified Developer Associate Questions]

A company has moved a legacy on-premises application to AWS by performing a lift and shift. The application exposes a REST API that can be used to retrieve billing information. The application is running on a single Amazon EC2 instance. The application code cannot support concurrent invocations. Many clients access the API, and the company adds new clients all the time.
A developer is concerned that the application might become overwhelmed by too many requests. The developer needs to limit the number of requests to the API for all current and future clients. The developer must not change the API, the application, or the client code.
What should the developer do to meet these requirements?

  • A. Place the API behind an Amazon API Gateway API. Set the server-side throttling limits.
  • B. Place the API behind a Network Load Balancer. Set the target group throttling limits.
  • C. Place the API behind an Application Load Balancer. Set the target group throttling limits.
  • D. Place the API behind an Amazon API Gateway API. Set the per-client throttling limits.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

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
Fay46
Highly Voted 2 years, 7 months ago
Selected Answer: A
cannot be D since adding API key would require client code change
upvoted 13 times
KT_Yu
2 years, 3 months ago
D does not require client code change.
upvoted 4 times
...
...
robbyboss
Highly Voted 2 years, 7 months ago
Selected Answer: A
A since all clients has to be limited same "limit the number of requests to the API for all current and future clients"
upvoted 11 times
Spamuel
2 years, 7 months ago
Agreed. And thinking logically, you want to throttle on server side to reduce potential over-demand concerns. If you throttled per client, you risk there being too many clients.
upvoted 2 times
Spamuel
2 years, 7 months ago
Ignore this, the answer is D. A is not an option per https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
upvoted 9 times
...
...
...
sumanshu
Most Recent 4 months, 1 week ago
Selected Answer: A
Option A: "Place the API behind an API Gateway and set server-side throttling limits." This refers to stage-level throttling or account-level throttling, which limits traffic globally for all clients collectively. https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html ✅ This approach is correct because the question asks for a global throttling mechanism that applies to all current and future clients. Option D: "Place the API behind an API Gateway and set per-client throttling limits." This refers to usage plans with API keys, where throttling limits are set per client. ❌ This approach is incorrect because the question explicitly states that the limit should apply to all clients collectively.
upvoted 1 times
...
akash_38
1 year, 2 months ago
i think it should be D since the question mentions about limiting the number of requests for client so it has to be D and with A there is no such server side throttling in API gateway instead there is stage level throttling
upvoted 1 times
...
SD_CS
1 year, 2 months ago
Selected Answer: A
I know there is no such option as server side throttling as such, but I think AWS here is referring to per API, per Stage limits. Per client throttling can be used for individual clients, but if the number of client increase it would still cause a problem overall. Furthermore it uses Client Identifiers as the API Key. How can these be provisioned keeping in mind all future clients.
upvoted 1 times
...
Jazz888
1 year, 3 months ago
A The only reason and important point that makes D incorrect is the keyword "cannot support concurrent invocations". And again, what makes A doubt full is the term "server side throttling" is there a such thing related to API Gateway? So my conclusion I would take the risk of answering A is correct - but I could be wrong.
upvoted 1 times
...
sweetheatmn
1 year, 6 months ago
I go with A and here is why D is not correct Let's assume the ec2 instance in the question can only process 100 requests per second and will not cope with further request count - On the API Gateway console there are two kinds of throttling, one of which can be applied the whole stage and this limits the number of all requests coming through the API to the origin EC2 this one is correct because it makes sure that the APP will never get overwhelmed by requests it can not cope with so for example if we set the stage to 100 requests per second, only 100 requests will pass throw the API to the EC2 instance screenshot: https://monosnap.com/file/0o6S7cqqQ4X2aKYCYWFgDMx1cStwt7 - D can not be correct because if we set the per-client limit to for example 1 and we then get 200 customers, this means 200 requests can pass through the API and overwhelm the instance
upvoted 3 times
...
ninomfr64
1 year, 8 months ago
Selected Answer: A
Yet another tricky worded questions ... On one side, there is no such a thing like "server-side" throttling in APIGW. However, in the context of the question this sounds to me like "per-stage / per-method" throttling. On the other side, per-client throttling would not prevent different client to concurrently access the API. Thus A (by the way I think that per API-limit cannot prevent different client to concurrently access the API, but only limit it)
upvoted 3 times
...
AWSdeveloper08
1 year, 9 months ago
Selected Answer: A
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
upvoted 1 times
...
ezredame
1 year, 11 months ago
Selected Answer: A
Option D (placing the API behind an Amazon API Gateway API and setting per-client throttling limits) would require modifying the client code, which is explicitly mentioned as a constraint in the question.
upvoted 1 times
ezredame
1 year, 11 months ago
on the other hand there is no such thing as server side limit.So I change my answer as D
upvoted 2 times
Kazman
1 year, 7 months ago
yes there is no server side limit. checking on the docs
upvoted 1 times
...
...
...
KDennisss
2 years ago
Selected Answer: A
D provides per-client throttling, but still accesses the application's REST API directly and does not solve the issue of API load.
upvoted 1 times
...
pancman
2 years, 2 months ago
The answer is D and I am 100% sure. For those who chose A, there is no such thing as server side limit. And the question clearly states that the developer needs to set limits for current and future clients. Such an easy question but people seem to be confused. Refer to this page: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
upvoted 3 times
borisgor
2 years ago
Per document, no such thing , from exam perspective , it's D but logically there is a problem. Only one client can invoke , if there are 3 clients requesting, only one of them is allowed by app. Let's say we have per-client limit as 1 request , this is for each client , meaning we have still 3 requests. Whereas if we have server side limit to allow only 1 request, it's going to be regardless of number of clients. That's why people thinking target side limit makes much more sense. I would select Per-API limit if it would be in options.
upvoted 1 times
...
...
MMaquis
2 years, 2 months ago
Selected Answer: D
Answer is D
upvoted 1 times
...
unbornfroyo
2 years, 2 months ago
Selected Answer: A
This option meets the requirements as it allows the developer to limit the number of requests to the API without changing the API, the application or the client code. By placing the API behind an Amazon API Gateway, the developer can set server-side throttling limits which will apply to all clients accessing the API. This will ensure that the number of requests to the API does not become overwhelming and affect the performance of the application.
upvoted 2 times
...
whenthan
2 years, 3 months ago
answer D As an API developer, you can set the target limits for individual API stages or methods to improve overall performance across all APIs in your account. Alternatively, you can enable usage plans to set throttles on client request submissions based on specified requests rates and quotas.
upvoted 2 times
...
sichilam
2 years, 3 months ago
D it is Amazon API Gateway provides four basic types of throttling-related settings: AWS throttling limits are applied across all accounts and clients in a region. Per-account limits are applied to all APIs in an account in a specified Region. Per-API, per-stage throttling limits are applied at the API method level for a stage. Per-client throttling limits are applied to clients that use API keys associated with your usage plan as client identifier. Note that these limits can't be higher than the per-account limits.
upvoted 1 times
...
KT_Yu
2 years, 3 months ago
ANS: D Per-client throttling limits are applied to clients that use API keys associated with your sage plan as client identifier. Note that these limits can't be higher than the per-account limits. https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
upvoted 1 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 ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago