Which solution meets these requirements?
Implement the REST API using a Network Load Balancer (NLB). Run the business logic on an Amazon EC2 instance behind the NLB. Store player session data in Amazon Aurora Serverless.
Implement the REST API using an Application Load Balancer (ALB). Run the business logic in AWS Lambda. Store player session data in Amazon DynamoDB with on-demand capacity.
Implement the REST API using Amazon API Gateway. Run the business logic in AWS Lambda. Store player session data in Amazon DynamoDB with on-demand capacity.
Implement the REST API using AWS AppSync. Run the business logic in AWS Lambda. Store player session data in Amazon Aurora Serverless.
Explanations:
Using a Network Load Balancer (NLB) and running business logic on Amazon EC2 does not efficiently handle varying loads, as EC2 instances require manual scaling. Storing player session data in Amazon Aurora Serverless could help with latency, but the overall architecture does not meet the requirement for low-latency and flexible scaling under varying loads.
An Application Load Balancer (ALB) with AWS Lambda can handle variable loads and provide low-latency access. However, AWS Lambda is stateless and would require changes to the API model, which is not allowed. Additionally, while storing player session data in Amazon DynamoDB with on-demand capacity offers scalability, the need to change the API model disqualifies this option.
Implementing the REST API using Amazon API Gateway allows for seamless scaling and low-latency access. Running the business logic in AWS Lambda provides automatic scaling and cost-effectiveness. Storing player session data in Amazon DynamoDB with on-demand capacity ensures quick access and flexibility during varying loads. This option meets all the specified requirements without changing the API model.
While AWS AppSync can facilitate data access and run business logic in AWS Lambda, it introduces GraphQL, which changes the API model that the management wants to maintain as a REST API. Additionally, using Amazon Aurora Serverless for player session data does not provide the same low-latency capabilities as DynamoDB, making this option less suitable.