Developers using AWS take note: the cloud platform plans to change the way objects stored in S3 buckets are addressed, in order to head off anticipated issues with scalability and traffic management.
AWS announced that it plans to deprecate the path-based access model used to specify an object in an S3 bucket in favour of a newer virtual-hosted model. But there is no need to panic, because this does not happen until September 30, 2020, and the cloud giant has already had a rethink and said that it will continue to support the path-style model for any buckets created before then.
Amazon’s S3 object storage service currently supports both the path-based and virtual-hosted style of addresses, but the firm is worried that in a world with billions of buckets homed in many dozens of regions, the path-based model may not scale well as it sometimes results in a large volume of requests being routed through a small number of S3 endpoints.
AWS chief evangelist Jeff Barr explained on his blog that when a URL is used to reference an object, DNS resolution is used to map the subdomain name to an IP address. With the path-style model, the subdomain is always
s3.amazonaws.com or one of the regional endpoints, but with the virtual-hosted style of address, the subdomain is specific to the bucket.
The original plan had simply been to phase out support for the path-based addresses by September 30, 2020, but this would obviously have impacted many existing applications. Developers would have had to sift through their code and update all path-based address references to the virtual-hosted style, or applications would no longer be able to connect with their storage buckets.
Now, support for the path-style model will continue for buckets that are created up to and including September 30, 2020. After that date, any buckets created have to be referenced using the virtual-hosted style of address.
Barr said that in addition to the scalability issue, AWS is developing new features that will depend on the use of unique, virtual-hosted style subdomains. This means that moving to the new model as early as possible will allow users to benefit from the new features as soon as they are announced.
Developers that wish to update their code to the newer model can use S3 Access Logs and AWS CloudTrail Data Events to identify applications that are making path-style requests.