Amazon Web Services – Global Accelerator
The AWS Global Accelerator is a newer kind of service for AWS. The reason behind using the global accelerator, I want to introduce the problem to you that we’re trying to solve and how we’re going to solve it. So, say you have deployed the application, and it is global, and you’ve global users who want to access it directly. But our application is only deployed in one region. So, for example here in India, you have deployed a public application advancer(Public ALB). But your users are all over the world. They’re in America, in Europe, in Australia. And so as they access the application, they want to go over the public internet. And that can add a lot of latency dues to many hops through the routers. So, you can see that in America, there’re few hops of routers or servers before we get to the public ALB in India. And that’s because it goes over the public internet, and it adds a lot of latency to your users due to many hops.
We wish to go as fast as possible through the AWS network to minimize latency. So for this problem we use the AWS global accelerator.
AWS Global accelerator:
The Global Accelerator provides two static Anycast IPv4 (2 Anycast IPs are created for your application) addresses. The Anycast IP sends traffic on to Edge Locations. Then, the AWS edge locations will send the traffic to your application All you would like to try to do is to define endpoints in one or multiple regions. It works with the following endpoints.
- Application Load Balancer (ALB)
- Network Load Balancer (NLB)
- Elastic IP
- EC2 Instance (with or without Public IP)
The Global Accelerator optimizes the route for every client, which suggests it minimizes the number of hops until a TPC or UDP package enters Amazon’s network and thus reduces latencies. Also, the Global Accelerator route requests healthy endpoints only.
To improve the performance of your applications for clients i.e users. Depending on the type of accelerator you choose. There are two types of accelerators.
- Standard accelerator: It improves the supply and performance of your applications running on Application Load Balancers(ALB), Network Load Balancers(NLB), or Amazon EC2 instances. Accelerator routes client traffic across regional endpoints supported geo-proximity and endpoint health. And It also allows customers to shift client traffic across endpoints supported controls like traffic dials and endpoint weights.
- Custom routing accelerator: Permits you to use application logic to directly map one or more users to a selected Amazon EC2 instance among many destinations while gaining the performance improvements of routing your traffic through Global Accelerator. Endpoints for custom routing accelerators must be virtual private cloud (VPC) subnets.
Here are the steps to deploy your global accelerator
- Firstly, you have Create a Global accelerator, provided two static Anycast IP addresses.
- Your AWS Global Accelerator to know where to listen for traffic, So you will need to add in a listener (for example TCP port 80).
- Configure the endpoint groups
- After configured an endpoint group, and now you’ll add/configure the particular endpoint. This is often the destination location where accelerator goes to send traffic and click the create button
- Then the AWS global accelerator takes about few minutes to move from the In Progress in to Deployed status.Once it’s deployed. You can the see to two static anycast IP addresses and the given DNS name for the accelerator.
Components of AWS accelerator:
1. Anycast IP address:
It is a type of IP address, All servers hold the same IP address, and the client is routed to the nearest one (IP address). Here you can see that all servers are holding the same IP addresses(For example 18.104.22.168). The client is routed to the nearest IP address. Which is in green color.
2. Accelerator :
An accelerator is a resource that you can create in AWS and it is helpful to direct traffic to optimal endpoints over the AWS global network(AWS Edge Locations).
3. DNS name:
We know that all the computers(Like smartphones or laptops to servers) over the internet that serve content for massive retail websites, find and communicate with one another by using numbers. These numbers are known as IP addresses.
Amazon Route 53 is a DNS(Domain Name System) service, and it is a globally distributed service that translates human-readable domain names (for example, www.amazon.com) to machine-readable IP addresses (for example, 192.0.2.44). that computers use to connect to each other. The Internet’s DNS system works much like a collection of rules and records which helps clients understand how to reach a server through URLs. (like a phone book by managing the mapping between names and numbers).
4. Network zone:
Network zone is an isolated unit with its own set of physical infrastructure and services the static IP addresses for your accelerator from a unique IP subnet. We know that by default, Global Accelerator allocates two Anycast IPv4 addresses for it. If one IP address from a network zone becomes unavailable thanks to IP address blocking by certain client networks, or network disruptions, then client applications can retry on the healthy static IP address from the other isolated network zone.
A listener processes inbound connections from clients to Global Accelerator, supported the port (or port range) and protocol (or protocols) that you simply configure. A listener is often configured for TCP, UDP, or both TCP and UDP protocols.
6. Endpoint group:
Each endpoint group is related to a selected AWS Region. Endpoint groups include one or more endpoints within the Region.
Endpoints are often Network Load Balancers, Application Load Balancers, EC2 instances, or Elastic IP addresses.
- Application scalability: As your application usage grows, you need to manage more amount of IP addresses and endpoints. Here the Global Accelerator available you to scale your application network scale in /out. By default the global accelerator allows you to associate resources, like load balancers and Amazon EC2 instances, to 2 static anycast IP addresses. Global Accelerator allows that you’ll add or remove endpoints in AWS Regions, run blue/green deployment, and do A/B testing without having to update the IP addresses in your client applications. It is mostly useful for IoT, retail, media, automotive, and healthcare use cases when which you cannot easily update client applications frequently.
- Low latency: Most of the applications, especially in gaming, media, mobile apps, and financials, for excellent user experience requires very low latency. To maintain a good user experience, Global Accelerator forwards user traffic to the appliance endpoint that’s nearest to the client, which will reduce internet latency. Global Accelerator routes traffic to the closest AWS edge location by using the Anycast IP address, then routes it to the closest regional endpoint over the AWS global network. Global Accelerator quickly reacts to updates in network performance to enhance your users’ application performance.
- Disaster Recovery: Global accelerator is automatically checked the health issues of your application, and then it routes traffic to healthy application endpoints. By using the TCP, HTTP & HTTPS health checks monitor the health of your application endpoints.
- High availability: When you created an AWS global accelerator, it allows you to associate the two anycast IP addresses that are serviced by independent network zones. So it leads to the high availability of your application
- Multi-Region: We wish to go as fast as possible through the AWS network to minimize latency, disaster recovery, higher availability, or compliance. If Global Accelerator detects that your application endpoint is failing within the primary AWS Region, it instantly triggers traffic re-routing to your application endpoint within the next available, the closest AWS Region.
- Improved performance: AWS global accelerator chooses the optimal AWS region based on the geographical location of end-users. It will reduce the first byte-latency and improves performance by the ingresses traffic from AWS end locations to the closest to your end-users through anycast static IP addresses.