1 Answers
I would say that it actually depends on the core requirement.
If the core requirement is to increase performance (for either GET or PUTs), regardless of the location of the client/consumer, then S3 Transfer Acceleration makes more sense than Cross-Region Replication since its effectively using CloudFront to cache data on the edge and if there is a cache miss, marshal traffic over the AWS backbone network to increase performance. There is no replication of data with S3 Transfer Acceleration and cached data has a TTL which means it will expire at some stage.
If the core requirement is to protect against a regional outage, or even to ensure that changes to a primary bucket (including the deletion of objects and their versions) are recorded, then CRR would be a good bet (since deletes are not replicated). Additionally, you can even replicate buckets to the same region now (although this is a relatively new capability) and you can also replicate across accounts, which you can use to ensure that anybody in the source account definitely can’t mess with the replicated data.
Hope that helps!