- Newest
- Most votes
- Most comments
Based on your requirements, you would deploy two instances of your workload in two different Regions close to your users. I would recommend 1/ eu-central-1 (Frankfurt) and us-east-1 (N. Virginia). Depending on the services your workload requires, you could consider the AWS Local Zone in New York City (located in New Jersey) instead of us-east-1.
Whether or not you need the second instance in NY will depend on your latency requirement. Global Accelerator will improve network latency but it will not over come the latency associated with the distance between NY, Frankfurt, and Amsterdam. One of the major benefits of deploying the second region is fault tolerance and availability. If there is a disaster in the primary region, you can failover to the second region.
Leveraging AWS Global Accelerator and Amazon Route 53 you can build a high performing, low latency global application.
Amazon CloudFront can also be used to serve static content such as videos and images. This will help improve latency. The Amazon CloudFront content delivery network is global, built across 300+ points of presence (PoP) spread throughout the world.
Building a reliable, cost-effective way to route users to distributed Internet applications requires highly available and scalable Domain Name System (DNS) records. Amazon Route 53 does exactly that. You can route a request to a record with the lowest network latency.
Built on the AWS global network, AWS Global Accelerator provides two static anycast IPs to give a single-entry point for internet-facing applications. You can seamlessly add or remove origins while continuing to automatically route traffic to the closest healthy Regional endpoint. If a failure is detected, Global Accelerator will automatically redirect traffic to a healthy endpoint within seconds, with no changes to the static IP.
The following blog post goes into detail about about creating a low latency multi-region application on AWS.
Creating a Multi-Region Application with AWS Services
Hi,
I am assuming this is a web application you are hosting on EC2. Firstly it may be better to decouple the static assets (images, videos, html, js/css) in your app and host it using S3 fronted by Cloudfront. Secondly, you could use cloudfront with custom origin as your EC2 instance for API/dynamic content. If the latency is still not in the acceptable range, you could look at adding another EC2 instance fronted by Cloudfront along with Route53 or any other intelligent DNS routing which can direct users to the correct EC2/Cloudfront based on geoproximity/geolocation/latency.
Further read: Use various origins with CloudFront distributions | R53 Choosing a routing policy
Hope this is helpful.
Thanks, Rama
Relevant content
- asked 4 years ago
- asked 2 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 3 months ago
- AWS OFFICIALUpdated 7 months ago