I have an application which will be used only in India. I am using Cloudfront distribution to serve the assets. I already have versioning strategy implemented for changing the names of the assets which are changed for the build.
Given all that I only have to invalidate index.html which takes care of using versioned other assets.
I am using cloudfront invalidation to invalidate index.html . I have observed that invalidating this single file always takes more than 2 minutes. I understand its because its invalidating the file at 42 edge locations. I dont need the file to be placed and invalidated at 42 edge location. If there is any configuration which will keep the file only at the edge locations in India, I guess invalidations will be faster.
Is there any configuration like that to limit copying of file at specific edge locations.
Amazon CloudFront uses a pull model, so files are only cached in locations after they have been requested from a cache location.
For example:
dxxx.cloudfront.net/index.html
)It is not possible to instruct CloudFront to only store the file in a single edge location. The closest capability is the use of a Price Class.
From Amazon CloudFront pricing:
These price classes can be used to limit the locations from which Amazon CloudFront serves content, in order to reduce costs (eg South America and Australia have the highest Data Transfer cost per GB).
However, they cannot be used to instruct CloudFront to only store content in one location, nor to speed the Invalidation process.