Reputation: 6004
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.
Upvotes: 2
Views: 10903
Reputation: 1
you can cache content based on request headers and with more granular control i.e based on geo-location. Amazon CloudFront adds additional geolocation headers for more granular geotargeting. Previously, you could configure Amazon CloudFront to provide the viewer’s country code in a request header that CloudFront sends to your origin. The new headers give you more granular control of cache behavior and your origin access to the viewer’s country name, region, city, postal code, latitude, and longitude, all based on the viewer’s IP address.
here is the link describing this - https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-cloudfront-headers.html#cloudfront-headers-viewer-location
You can use these additional geolocation headers along with the existing supported CloudFront headers to personalize the content that you deliver to your viewers.
Upvotes: 0
Reputation: 269410
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.
Upvotes: 6