Question #1062
A company is developing an application that allows users to upload and share high-resolution medical imaging files. The average size of the files is 15MB. After a user uploads a file, a message must be placed into an Amazon Simple Queue Service (Amazon SQS) queue to initiate diagnostic processing. The files must be accessible for processing within 3 minutes.
Which solution will meet these requirements MOST cost-effectively?
Store the files in Amazon S3 Glacier Flexible Retrieval. Add the S3 location of the files to the SQS queue.
Store the files in Amazon S3 Standard-Infrequent Access (S3 Standard-IA). Add the S3 location of the files to the SQS queue.
Store the files on an Amazon Elastic Block Store (Amazon EBS) Provisioned IOPS SSD volume. Add the EBS location of the files to the SQS queue.
Write messages containing the full contents of the uploaded files directly to the SQS queue.
Explanation
The correct answer is B. Here's why:
- Option A (S3 Glacier): Glacier's retrieval times (3-5 hours) exceed the 3-minute requirement, making it unsuitable.
- Option B (S3 Standard-IA): Provides immediate access to files, meeting the 3-minute requirement. While S3 Standard-IA has retrieval costs and a 30-day minimum storage fee, it is still more cost-effective than EBS for short-lived files when considering storage and I/O costs.
- Option C (EBS): EBS Provisioned IOPS is expensive for storage and I/O, especially for short-term usage. It also lacks scalability compared to S3.
- Option D (SQS with full contents): SQS has a 256 KB message limit, making it impossible to store 15MB files directly.
Key Points:
- S3 Standard-IA balances cost and accessibility for infrequently accessed files.
- EBS is cost-prohibitive for this use case due to high storage and provisioned IOPS charges.
- Always consider AWS service limitations (e.g., SQS message size) and retrieval times when designing solutions.
Answer
The correct answer is: C