Which combination of steps will meet these requirements MOST cost-effectively?
(Choose three.)
Create an AWS Lambda function to retrieve user information from Amazon DynamoDB. Create an Amazon API Gateway endpoint to accept RESTful APIs. Send the API calls to the Lambda function.
Create an Amazon Elastic Container Service (Amazon ECS) service behind an Application Load Balancer to retrieve user information from Amazon RDS. Create an Amazon API Gateway endpoint to accept RESTful APIs. Send the API calls to the Lambda function.
Create an Amazon Cognito user pool to authenticate users.
Create an Amazon Cognito identity pool to authenticate users.
Use AWS Amplify to serve the frontend web content with HTML, CSS, and JS. Use an integrated Amazon CloudFront configuration.
Use Amazon S3 static web hosting with PHP, CSS, and JS. Use Amazon CloudFront to serve the frontend web content.
Explanations:
AWS Lambda is serverless, which is ideal for handling unpredictable traffic with idle times. API Gateway allows for efficient handling of RESTful API calls. DynamoDB provides a cost-effective, scalable database solution for user data retrieval.
Amazon Cognito user pool provides an authentication mechanism for users. It supports user registration, sign-in, and access control, fulfilling the subscription-based access requirements.
AWS Amplify simplifies front-end hosting with integrated support for serving static web content and backend connections. CloudFront provides fast, low-latency delivery of content, making it an efficient and cost-effective option for the web application.
While ECS behind an ALB can work, it is not as cost-effective as serverless solutions (like Lambda) in this case. Also, using an ECS service is not ideal for unpredictable idle times, as it incurs costs for running container instances.
An Amazon Cognito identity pool is used for federated identities and providing access to AWS resources but does not directly handle user authentication, which is required in this case.
S3 static web hosting with PHP, CSS, and JS is not a typical use case for dynamic web applications, and PHP is not natively supported in S3 hosting. Additionally, it does not provide the integrated backend services and authentication needed for a subscription-based model.