Question 131:
You are developing a new mobile application and are considering storing user preferences in AWS. This would provide a more uniform cross-device experience to users using multiple mobile devices to access the application. The preference data for each user is estimated to be 50KB in size. Additionally, 5 million customers are expected to use the application regularly. The solution needs to be quick, highly available, scalable, and secure. How would you design a solution to meet the above requirements?
Answer options:
A.Setup an RDS MySQL instance in 2 availability zones to store the user preference data. Deploy a public-facing application on a server in front of the database to manage security and access credentials. B. Set up a DynamoDB table with each user`s item having the necessary attributes to hold the user preferences. The mobile application will query the user preferences directly from the DynamoDB table. Utilize STS. Web Identity Federation, and DynamoDB Fine-Grained Access Control to authenticate and authorize access. C.Setup an RDS MySQL instance with multiple read replicas in 2 availability zones to store the user preference data. The mobile application will query the user preferences from the read replicas. Leverage the MySQL user management and access privilege system to manage security and access credentials. D.Store the user preference data in S3. Setup a DynamoDB table with an item for each user and an item attribute pointing to the user’s S3 object. The mobile application will retrieve the S3 URL from DynamoDB and then access the S3 object directly by utilizing STS, Web identity Federation, and S3 ACLs to authenticate and authorize access.