logo
Expand description

AWS Global Accelerator

This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the AWS Global Accelerator Developer Guide.

AWS Global Accelerator is a service in which you create accelerators to improve the performance of your applications for local and global users. Depending on the type of accelerator you choose, you can gain additional benefits.

  • By using a standard accelerator, you can improve availability of your internet applications that are used by a global audience. With a standard accelerator, Global Accelerator directs traffic to optimal endpoints over the AWS global network.

  • For other scenarios, you might choose a custom routing accelerator. With a custom routing accelerator, you can use application logic to directly map one or more users to a specific endpoint among many endpoints.

Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the US West (Oregon) Region to create or update accelerators.

By default, Global Accelerator provides you with two static IP addresses that you associate with your accelerator. With a standard accelerator, instead of using the IP addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator. The static IP addresses are anycast from the AWS edge network. For a standard accelerator, they distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases the availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses that are located in one AWS Region or multiple Regions. For custom routing accelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that are virtual private cloud (VPC) subnets.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Tag-based policies.

For standard accelerators, Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is always directed to healthy endpoints.

For a list of the AWS Regions where Global Accelerator and other services are currently supported, see the AWS Region Table.

AWS Global Accelerator includes the following components:

Static IP addresses

Global Accelerator provides you with a set of two static IP addresses that are anycast from the AWS edge network. If you bring your own IP address range to AWS (BYOIP) to use with a standard accelerator, you can instead assign IP addresses from your own pool to use with your accelerator. For more information, see Bring your own IP addresses (BYOIP) in AWS Global Accelerator.

The IP addresses serve as single fixed entry points for your clients. If you already have Elastic Load Balancing load balancers, Amazon EC2 instances, or Elastic IP address resources set up for your applications, you can easily add those to a standard accelerator in Global Accelerator. This allows Global Accelerator to use static IP addresses to access the resources.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to delete an accelerator. For more information, see Tag-based policies.

Accelerator

An accelerator directs traffic to endpoints over the AWS global network to improve the performance of your internet applications. Each accelerator includes one or more listeners.

There are two types of accelerators:

  • A standard accelerator directs traffic to the optimal AWS endpoint based on several factors, including the user’s location, the health of the endpoint, and the endpoint weights that you configure. This improves the availability and performance of your applications. Endpoints can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses.

  • A custom routing accelerator directs traffic to one of possibly thousands of Amazon EC2 instances running in a single or multiple virtual private clouds (VPCs). With custom routing, listener ports are mapped to statically associate port ranges with VPC subnets, which allows Global Accelerator to determine an EC2 instance IP address at the time of connection. By default, all port mapping destinations in a VPC subnet can't receive traffic. You can choose to configure all destinations in the subnet to receive traffic, or to specify individual port mappings that can receive traffic.

For more information, see Types of accelerators.

DNS name

Global Accelerator assigns each accelerator a default Domain Name System (DNS) name, similar to a1234567890abcdef.awsglobalaccelerator.com, that points to the static IP addresses that Global Accelerator assigns to you or that you choose from your own IP address range. Depending on the use case, you can use your accelerator's static IP addresses or DNS name to route traffic to your accelerator, or set up DNS records to route traffic using your own custom domain name.

Network zone

A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure an accelerator, by default, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes unavailable due 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.

Listener

A listener processes inbound connections from clients to Global Accelerator, based on the port (or port range) and protocol (or protocols) that you configure. A listener can be configured for TCP, UDP, or both TCP and UDP protocols. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute traffic to. With a standard accelerator, traffic is distributed to optimal endpoints within the endpoint groups associated with a listener.

Endpoint group

Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the Region. With a standard accelerator, you can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or blue/green deployment testing, for example, for new releases across different AWS Regions.

Endpoint

An endpoint is a resource that Global Accelerator directs traffic to.

Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses. An Application Load Balancer endpoint can be internet-facing or internal. Traffic for standard accelerators is routed to endpoints based on the health of the endpoint along with configuration options that you choose, such as endpoint weights. For each endpoint, you can configure weights, which are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for example, to do performance testing within a Region.

Endpoints for custom routing accelerators are virtual private cloud (VPC) subnets with one or many EC2 instances.

If you’re using the service, you’re probably looking for GlobalAcceleratorClient and GlobalAccelerator.

Structs

An accelerator is a complex type that includes one or more listeners that process inbound connections and then direct traffic to one or more endpoint groups, each of which includes endpoints, such as load balancers.

Attributes of an accelerator.

Information about an IP address range that is provisioned for use with your AWS resources through bring your own IP address (BYOIP).

The following describes each BYOIP State that your IP address range can be in.

  • PENDINGPROVISIONING — You’ve submitted a request to provision an IP address range but it is not yet provisioned with AWS Global Accelerator.

  • READY — The address range is provisioned with AWS Global Accelerator and can be advertised.

  • PENDINGADVERTISING — You’ve submitted a request for AWS Global Accelerator to advertise an address range but it is not yet being advertised.

  • ADVERTISING — The address range is being advertised by AWS Global Accelerator.

  • PENDINGWITHDRAWING — You’ve submitted a request to withdraw an address range from being advertised but it is still being advertised by AWS Global Accelerator.

  • PENDINGDEPROVISIONING — You’ve submitted a request to deprovision an address range from AWS Global Accelerator but it is still provisioned.

  • DEPROVISIONED — The address range is deprovisioned from AWS Global Accelerator.

  • FAILEDPROVISION — The request to provision the address range from AWS Global Accelerator was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

  • FAILEDADVERTISING — The request for AWS Global Accelerator to advertise the address range was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

  • FAILEDWITHDRAW — The request to withdraw the address range from advertising by AWS Global Accelerator was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

  • FAILEDDEPROVISION — The request to deprovision the address range from AWS Global Accelerator was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

A complex type that contains a Message and a Timestamp value for changes that you make in the status an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

Provides authorization for Amazon to bring a specific IP address range to a specific AWS account using bring your own IP addresses (BYOIP).

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

Attributes of a custom routing accelerator.

Attributes of a custom routing accelerator.

For a custom routing accelerator, sets the port range and protocol for all endpoints (virtual private cloud subnets) in an endpoint group to accept client traffic on.

For a custom routing accelerator, describes the port range and protocol for all endpoints (virtual private cloud subnets) in an endpoint group to accept client traffic on.

The list of endpoint objects. For custom routing, this is a list of virtual private cloud (VPC) subnet IDs.

A complex type for an endpoint for a custom routing accelerator. Each endpoint group can include one or more endpoints, which are virtual private cloud (VPC) subnets.

A complex type for the endpoint group for a custom routing accelerator. An AWS Region can have only one endpoint group for a specific listener.

A complex type for a listener for a custom routing accelerator.

The port mappings for a specified endpoint IP address (destination).

A complex type for endpoints. A resource must be valid and active when you add it as an endpoint.

A complex type for an endpoint. Each endpoint group can include one or more endpoints, such as load balancers.

A complex type for the endpoint group. An AWS Region can have only one endpoint group for a specific listener.

A client for the AWS Global Accelerator API.

A complex type for the set of IP addresses for an accelerator.

A complex type for a listener.

Returns the ports and associated IP addresses and ports of Amazon EC2 instances in your virtual private cloud (VPC) subnets. Custom routing is a port mapping protocol in AWS Global Accelerator that statically associates port ranges with VPC subnets, which allows Global Accelerator to route to specific instances and ports within one or more subnets.

Override specific listener ports used to route traffic to endpoints that are part of an endpoint group. For example, you can create a port override in which the listener receives user traffic on ports 80 and 443, but your accelerator routes that traffic to ports 1080 and 1443, respectively, on the endpoints.

For more information, see Port overrides in the AWS Global Accelerator Developer Guide.

A complex type for a range of ports for a listener.

An IP address/port combination.

A complex type that contains a Tag key and Tag value.

Enums

Errors returned by AddCustomRoutingEndpoints

Errors returned by AdvertiseByoipCidr

Errors returned by AllowCustomRoutingTraffic

Errors returned by CreateAccelerator

Errors returned by CreateCustomRoutingAccelerator

Errors returned by CreateCustomRoutingEndpointGroup

Errors returned by CreateCustomRoutingListener

Errors returned by CreateEndpointGroup

Errors returned by CreateListener

Errors returned by DeleteAccelerator

Errors returned by DeleteCustomRoutingAccelerator

Errors returned by DeleteCustomRoutingEndpointGroup

Errors returned by DeleteCustomRoutingListener

Errors returned by DeleteEndpointGroup

Errors returned by DeleteListener

Errors returned by DenyCustomRoutingTraffic

Errors returned by DeprovisionByoipCidr

Errors returned by DescribeAcceleratorAttributes

Errors returned by DescribeAccelerator

Errors returned by DescribeCustomRoutingAcceleratorAttributes

Errors returned by DescribeCustomRoutingAccelerator

Errors returned by DescribeCustomRoutingEndpointGroup

Errors returned by DescribeCustomRoutingListener

Errors returned by DescribeEndpointGroup

Errors returned by DescribeListener

Errors returned by ListAccelerators

Errors returned by ListByoipCidrs

Errors returned by ListCustomRoutingAccelerators

Errors returned by ListCustomRoutingEndpointGroups

Errors returned by ListCustomRoutingListeners

Errors returned by ListCustomRoutingPortMappingsByDestination

Errors returned by ListCustomRoutingPortMappings

Errors returned by ListEndpointGroups

Errors returned by ListListeners

Errors returned by ListTagsForResource

Errors returned by ProvisionByoipCidr

Errors returned by RemoveCustomRoutingEndpoints

Errors returned by TagResource

Errors returned by UntagResource

Errors returned by UpdateAcceleratorAttributes

Errors returned by UpdateAccelerator

Errors returned by UpdateCustomRoutingAcceleratorAttributes

Errors returned by UpdateCustomRoutingAccelerator

Errors returned by UpdateCustomRoutingListener

Errors returned by UpdateEndpointGroup

Errors returned by UpdateListener

Errors returned by WithdrawByoipCidr

Traits

Trait representing the capabilities of the AWS Global Accelerator API. AWS Global Accelerator clients implement this trait.