Which solution will meet these requirements with the LEAST amount of effort?
Migrate the application to an AWS Lambda function. Use the AWS SDK for Java to generate, modify, and access the files that the company stores directly in Amazon S3.
Set up an Amazon S3 File Gateway and configure a file share that is linked to the document store. Mount the file share on an Amazon EC2 instance by using NFS. When changes occur in Amazon S3, initiate a RefreshCache API call to update the S3 File Gateway.
Configure Amazon FSx for Lustre with an import and export policy. Link the new file system to an S3 bucket. Install the Lustre client and mount the document store to an Amazon EC2 instance by using NFS.
Configure AWS DataSync to connect to an Amazon EC2 instance. Configure a task to synchronize the generated files to and from Amazon S3.
Explanations:
AWS Lambda functions are not suitable for this use case, as they are not designed to handle ongoing, file-based storage or the high number of file generation tasks per second that require fast local access.
Amazon S3 File Gateway provides a solution to access S3 through an NFS mount, allowing local processing on the Linux server while syncing directly to S3 for public download access with minimal modification to the existing setup.
Amazon FSx for Lustre is optimized for high-performance compute workloads rather than file storage and sharing. Also, it is complex to set up for syncing between local file storage and Amazon S3, adding unnecessary configuration.
AWS DataSync is designed for bulk data transfer, not for real-time file syncing, and is not suitable for handling continuously generated files with fast access requirements or immediate availability for public downloads in S3.