Several municipal Lambdas need shared read access to a large GIS tile cache with POSIX file semantics that exceed practical /tmp size. What should they mount?
Select an answer to reveal the explanation.
Short Explanation
When many functions need the same big map-tile library with real file paths, you should mount Amazon EFS—it's the shared network drive for POSIX file access. /tmp is too small, and copying the whole cache into every deployment package is absurd. Downloading the entire cache from Glacier on every invoke would melt your latency budget.
Full Explanation
Several municipal Lambdas that need shared read access to a large GIS tile cache with POSIX file semantics exceeding practical /tmp size should mount Amazon EFS on the functions for shared POSIX access to that cache. EFS provides a network filesystem multiple concurrent execution environments can read with familiar file APIs, avoiding per-function package bloat and /tmp capacity ceilings. Map tiles and reference shapefiles that many city services read-mostly fit this pattern when object GET loops would be awkward for existing GIS libraries that expect paths.
Duplicating the entire tile cache into every deployment package zip inflates artifacts, slows deploys, and multiplies patching pain whenever tiles update—the opposite of shared access. Storing tiles only as individual 400 KB DynamoDB items with no filesystem API fights both item-size limits and POSIX expectations of GIS tooling. Requiring each invoke to download the full cache from Glacier before every request destroys latency and cost budgets for interactive map work.
Exam caveat: attach Lambda to a VPC to mount EFS; set the correct filesystem access points and IAM/SG permissions; and remember EFS adds cold-start and networking considerations. For purely sequential object reads, S3 may still be simpler—use EFS when POSIX semantics and shared file trees are genuine requirements.
Operational check: create an access point for the tile cache; mount EFS on the Lambdas; verify concurrent functions read the same paths; measure init impact; and control write permissions so only a controlled updater refreshes tiles.