Mount the S3 pricing file with Mountpoint for Amazon S3 to eliminate stale pricing

Answer Correct answer: C — Mount the S3 bucket with Mountpoint for Amazon S3 on the AMI and point the ticketing service at the mount path.

An entertainment company hosts a ticketing service on a fleet of Linux Amazon EC2 instances that are in an Auto Scaling group. The ticketing service uses a pricing file. The pricing file is stored in an Amazon S3 bucket that has S3 Standard storage. A central pricing solution that is hosted by a third party updates the pricing file. The pricing file is updated every 1-15 minutes and has several thousand line items. The pricing file is downloaded to each EC2 instance when the instance launches. The EC2 instances occasionally use outdated pricing information that can result in incorrect charges for customers. Which solution will resolve this problem MOST cost-effectively?

  1. Create an AWS Lambda function to update an Amazon DynamoDB table with new prices each time the pricing file is updated. Update the ticketing service to use DynramoDB to look up pricing
  2. Create an AWS Lambda function to update an Amazon Elastic File System (Amazon EFS) file share with the pricing file each time the file is updated. Update the ticketing service to use Amazon EFS to access the pricing file.
  3. Load Mountpoint for Amazon S3 onto the AMI of the EC2 instances. Configure Mountpoint for Amazon S3 to mount the S3 bucket that contains the pricing file. Update the ticketing service to point to the mount point and path to access the $3 object, Correct Answer
  4. Create an Amazon Elastic Block Store (Amazon EBS) volume. Use EBS Multi-Attach to attach the volume to every EC2 instance. When a new EC2 instance launches, configure the new instance to update the pricing file on the EBS volume. Update the ticketing service to point to the new local source.

Community Votes

C
61%
A
39%

61% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

Mountpoint for Amazon S3 presents the bucket as a local file system backed by S3's strong consistency, so the ticketing service always reads the current object from S3 without any local copy, no download step at launch, and no refresh job.

A ticketing service on Linux EC2 instances downloads a pricing file from S3 at instance launch, so instances that have been running for a while serve outdated prices. A third party updates the file every one to fifteen minutes and the file has several thousand line items.

Replicating the pricing data into DynamoDB or EFS. Both require a Lambda function or the ticketing service itself to be modified to read from the new store, which is application change work, whereas Mountpoint is a mount with the file still in S3.

Community Discussion (13 comments)

awsaz 👍 7 Selected: C
Mountpoint for Amazon S3: This solution allows the EC2 instances to directly access the S3 bucket as if it were a local file system. This ensures that the instances always access the latest version of the pricing file without having to download it each time. Cost-Effective: This approach avoids the need to constantly download and store the file on each instance, which can save on both S3 GET requests and local storage costs. Simplicity: By mounting the S3 bucket, you ensure that all instances are using the most current file without additional logic or processes to manage file updates.
mifune 👍 5 Selected: A
DynamoDB in this scenario looks cheaper than EFS. Answer A
eesa 👍 1 Selected: C
Option C (Mountpoint for S3) (best solution): Mountpoint for Amazon S3 allows the EC2 instances to directly access the latest version of the pricing file stored in S3 without repeatedly downloading it. Each EC2 instance will always read the most up-to-date file directly from S3, eliminating the risk of outdated information. This solution is cost-effective as it involves minimal overhead, does not incur unnecessary data transfer or operational complexity, and requires minimal application modification.
nimbus_00 👍 2 Selected: C
"Mountpoint for Amazon S3 is available only for Linux operating systems. You can use Mountpoint to access S3 objects in all storage classes except S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, S3 Intelligent-Tiering Archive Access Tier, and S3 Intelligent-Tiering Deep Archive Access Tier." https://docs.aws.amazon.com/AmazonS3/latest/userguide/mountpoint.html
0b43291 👍 2 Selected: C
By leveraging the strong consistency guarantees, cost-effectiveness, and simplicity of Mountpoint for Amazon S3, Option C provides the most appropriate and cost-effective solution for ensuring the EC2 instances in the Auto Scaling group always have access to the latest pricing information, resolving the outdated pricing data problem. The other options have drawbacks or are less cost-effective: Option A: Using DynamoDB may not be cost-effective for storing and accessing a large, frequently updated pricing file with several thousand line items. Option B: While Amazon EFS is viable, it introduces additional infrastructure and potential costs compared to directly accessing the pricing file from the S3 bucket using Mountpoint for Amazon S3. Option D: Using an Amazon EBS volume with Multi-Attach would require updating the pricing file on the volume whenever a new instance launches, which is less efficient and more prone to errors than directly accessing the file from the S3 bucket.
Danm86 👍 1
Option C is most cost effective, but the question has ambiguity where it tells customer could be wrongly charged, more details should be provided on the same to understand if wrong charging is critical or not. If wrong charging is critical and needs low latency and more reliability on the queried data then its option A
pk0619 👍 1 Selected: C
most cost effective
chris_spencer 👍 1
none of them makes sense... if an S3 object is uploaded it is strongly consist since end 2020, eventual consistency is a matter of the past. So it doesn't matter if the lambda function get the trigger after upload and transfer the information to dynamodb (A) or EFS(b), or the ec2 instance get the object via blocklevel file access (C) or EBS (D). The consistency is being provided by the source system which is S3, so nothing helps here. From the cost perspective is C the cheapest
JoeTromundo 👍 2 Selected: C
Mountpoint for Amazon S3 allows EC2 instances to treat an S3 bucket like a file system. This solution ensures that the EC2 instances always have access to the latest version of the pricing file, as the file is directly accessed from S3. You avoid downloading the file every time and reduce the risk of using outdated pricing data. S3 Consistency: Amazon S3 provides strong read-after-write consistency, so any update to the pricing file in S3 will be immediately visible to all EC2 instances accessing the file via the mount point. Cost Efficiency: By using Mountpoint for Amazon S3, you leverage S3's cost-effective storage and avoid additional infrastructure like DynamoDB or Elastic File System (EFS). This solution does not require copying data to another storage system, minimizing overhead.
wbedair 👍 2 Selected: C
the question is asking about cost effectiveness so why choose A to add additional service like Dynamodb . I will go for option C
liuliangzhou 👍 2 Selected: A
A. DynamoDB provides fast data access and query capabilities, suitable for frequently read but infrequently updated data. B. EFS may not be suitable for frequent small file updates, and its cost may be higher than using DynamoDB. C. This solution can directly read pricing files from S3, but it does not solve the problem of outdated pricing data being used by old instances even after the pricing files are updated. D. EBS is not good at Multi Attach to multiple EC2 instances, and it can increase complexity and cost.
DS2023 👍 4 Selected: A
Option A is the correct answer.
mns0173 👍 2
There is no need to move away from S3

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Mountpoint for Amazon S3 makes the S3 bucket appear as a directory on the instance, and because Amazon S3 offers strong read-after-write consistency, every read returns the current version of the pricing object. The ticketing service points at the mount path and immediately sees updates pushed by the third party every one to fifteen minutes, so stale pricing disappears without any refresh logic. Mountpoint is a mount rather than a copy, so nothing needs to be downloaded at instance launch, and there is no Lambda function, database table, or application change to maintain. It is also available for Linux, which is the stated operating system.

Why the Other Options Are Wrong

A: A DynamoDB table would hold a copy of the prices, which means updating the ticketing service to read from a key-value store instead of a file, and the per-read cost of a database lookup for thousands of line items on every pricing check is higher than S3 reads. B: An EFS file share would also work as a shared file system, but it requires a Lambda function to refresh the content on every update, adding a moving part that Mountpoint does not need. D: An EBS Multi-Attach volume is attached to running instances, so a newly launched instance does not automatically see the pricing file that another instance wrote, and updating it on launch is exactly the mechanism that already causes the staleness.

Community Comment Notes

The community voted 61 to 39 for C over A. The arguments for C cited S3 strong consistency and the fact that Mountpoint requires no code change to the file read path, while a commenter pointing to the documentation also noted the Linux-only availability matches the stated fleet. The dissenting votes for A argued on cost, but they require modifying the ticketing service to query a database.

Official Reference

Related Analysis

Practice All SAP-C02 Questions

Access 85 questions with complete answers and detailed explanations.

View Full SAP-C02 Practice Test →

← Back to SAP-C02 Study Guide