What should the company do next to meet these requirements with the LEAST administrative effort?
Create a usage plan that applies throttling at 100 requests a day. Associate the usage plan with the API keys of all customers.
Create an Amazon DynamoDB table to track all the requests that use a particular API key. For each request to the API, count the number of records in the DynamoDB table for that day for the API key. If the number of requests is 100 or greater, generate an exception.
Create a usage plan that applies a quota of 100 requests a day. Associate the usage plan with the API keys of all customers.
Create an Amazon Aurora table to track all the requests that use a particular API key. For each request to the API, count the number of records in the Aurora table for that day for the API key. If the number of requests is 100 or greater, generate an exception.
Explanations:
API Gateway usage plans allow for throttling limits (rate limits), but they don’t directly manage quotas for specific API keys on a daily basis. This would require more manual management or a workaround, which is not the least administrative effort approach.
Using DynamoDB to track requests and count them for each API key would involve complex management and continuous querying of the table, leading to higher administrative effort. This solution is not efficient or the least administrative.
API Gateway usage plans with quotas can directly limit API usage to 100 requests per day for each API key. This approach is straightforward and meets the requirement with minimal administrative effort.
Using Amazon Aurora to track requests would add unnecessary complexity and administrative overhead. Aurora is not ideal for tracking API usage in this case compared to API Gateway’s built-in quota management.