- Newest
- Most votes
- Most comments
That's a great question! Obviously there can be several opinions and probably there's no 100% correct answer but i will try to share my opinion - hopefully you find it useful.
I personally would choose between 1 and 4 as route53 routing wouldn't really give you any latency benefits compared to cloudFront not even mentioning caching, SSL termination and other stuff.
Now between 1 and 4 i would have started with 1 (because its cheaper than 4) and see if you happy with the latency in specific regions and for those where you are not getting the expected performance, you would need to follow the approach outlined in option 4.
Just to add to Alex's answer,
I tested out option 4, landed at a better version of option 4 which is combination of Route53 Latency + CloudFront.
Two API Gateway Regional Endpoints, with Route53 Latency policy. One CloudFront(with caching disabled) and Route53 API EndPoint as the origin. This allow SSL Handshake to happen at CloudFront and request will be routed to nearest regional API.
This presentation from re:Invent 2019, gives a really good overview of the various scenarios for building a Global application or API. Toward the end there is an architecture that utilizes Global Accelerator to achieve a multi-region, active-active architecture over the AWS private network. It's fairly simple and elegant, but may cost more than other approaches mentioned above.
Relevant content
- Accepted Answerasked 3 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 25 days ago
- AWS OFFICIALUpdated 2 months ago