AWS Certified Solutions Architect – Associate (SAA-C03) — Question 533
A company wants to build a web application on AWS. Client access requests to the website are not predictable and can be idle for a long time. Only customers who have paid a subscription fee can have the ability to sign in and use the web application.
Which combination of steps will meet these requirements MOST cost-effectively? (Choose three.)
Answer options
- A. 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.
- B. 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.
- C. Create an Amazon Cognito user pool to authenticate users.
- D. Create an Amazon Cognito identity pool to authenticate users.
- E. Use AWS Amplify to serve the frontend web content with HTML, CSS, and JS. Use an integrated Amazon CloudFront configuration.
- F. Use Amazon S3 static web hosting with PHP, CSS, and JS. Use Amazon CloudFront to serve the frontend web content.
Correct answer: A, C, E
Explanation
AWS Amplify combined with CloudFront is the most cost-effective way to host static frontend assets, whereas Amazon S3 static hosting cannot execute server-side PHP scripts. A serverless backend consisting of Amazon API Gateway, AWS Lambda, and Amazon DynamoDB scale to zero during idle periods, making it much more cost-effective than running continuous ECS containers and RDS instances. Finally, Amazon Cognito user pools are designed specifically for authenticating users (signing them in), whereas identity pools are used to authorize access to AWS resources.