AWS Global Accelerator
API Reference
API Version 2018-08-08
AWS Global Accelerator: API Reference
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
Welcome ... 1
Actions ... 4
AddCustomRoutingEndpoints ... 6
Request Syntax ... 6
Request Parameters ... 6
Response Syntax ... 6
Response Elements ... 7
Errors ... 7
See Also ... 8
AdvertiseByoipCidr ... 9
Request Syntax ... 9
Request Parameters ... 9
Response Syntax ... 9
Response Elements ... 9
Errors ... 10
Examples ... 10
See Also ... 11
AllowCustomRoutingTraffic ... 12
Request Syntax ... 12
Request Parameters ... 12
Response Elements ... 13
Errors ... 13
Examples ... 14
See Also ... 14
CreateAccelerator ... 15
Request Syntax ... 15
Request Parameters ... 15
Response Syntax ... 16
Response Elements ... 17
Errors ... 17
Examples ... 17
See Also ... 18
CreateCustomRoutingAccelerator ... 19
Request Syntax ... 19
Request Parameters ... 19
Response Syntax ... 21
Response Elements ... 21
Errors ... 21
Examples ... 22
See Also ... 22
CreateCustomRoutingEndpointGroup ... 23
Request Syntax ... 23
Request Parameters ... 23
Response Syntax ... 24
Response Elements ... 24
Errors ... 24
Examples ... 25
See Also ... 26
CreateCustomRoutingListener ... 27
Request Syntax ... 27
Request Parameters ... 27
Response Syntax ... 28
Response Elements ... 28
Errors ... 28
API Version 2018-08-08 iii
Examples ... 29
See Also ... 29
CreateEndpointGroup ... 30
Request Syntax ... 30
Request Parameters ... 30
Response Syntax ... 32
Response Elements ... 33
Errors ... 33
Examples ... 34
See Also ... 34
CreateListener ... 36
Request Syntax ... 36
Request Parameters ... 36
Response Syntax ... 37
Response Elements ... 37
Errors ... 38
Examples ... 38
See Also ... 39
DeleteAccelerator ... 40
Request Syntax ... 40
Request Parameters ... 40
Response Elements ... 40
Errors ... 40
See Also ... 41
DeleteCustomRoutingAccelerator ... 42
Request Syntax ... 42
Request Parameters ... 42
Response Elements ... 42
Errors ... 42
See Also ... 43
DeleteCustomRoutingEndpointGroup ... 44
Request Syntax ... 44
Request Parameters ... 44
Response Elements ... 44
Errors ... 44
See Also ... 44
DeleteCustomRoutingListener ... 46
Request Syntax ... 46
Request Parameters ... 46
Response Elements ... 46
Errors ... 46
See Also ... 47
DeleteEndpointGroup ... 48
Request Syntax ... 48
Request Parameters ... 48
Response Elements ... 48
Errors ... 48
See Also ... 48
DeleteListener ... 50
Request Syntax ... 50
Request Parameters ... 50
Response Elements ... 50
Errors ... 50
See Also ... 51
DenyCustomRoutingTraffic ... 52
Request Syntax ... 52
Request Parameters ... 52
Response Elements ... 53
Errors ... 53
Examples ... 53
See Also ... 54
DeprovisionByoipCidr ... 55
Request Syntax ... 55
Request Parameters ... 55
Response Syntax ... 55
Response Elements ... 55
Errors ... 56
Examples ... 56
See Also ... 57
DescribeAccelerator ... 58
Request Syntax ... 58
Request Parameters ... 58
Response Syntax ... 58
Response Elements ... 58
Errors ... 59
Examples ... 59
See Also ... 60
DescribeAcceleratorAttributes ... 61
Request Syntax ... 61
Request Parameters ... 61
Response Syntax ... 61
Response Elements ... 61
Errors ... 61
Examples ... 62
See Also ... 62
DescribeCustomRoutingAccelerator ... 63
Request Syntax ... 63
Request Parameters ... 63
Response Syntax ... 63
Response Elements ... 63
Errors ... 64
Examples ... 64
See Also ... 65
DescribeCustomRoutingAcceleratorAttributes ... 66
Request Syntax ... 66
Request Parameters ... 66
Response Syntax ... 66
Response Elements ... 66
Errors ... 66
Examples ... 67
See Also ... 67
DescribeCustomRoutingEndpointGroup ... 68
Request Syntax ... 68
Request Parameters ... 68
Response Syntax ... 68
Response Elements ... 68
Errors ... 69
Examples ... 69
See Also ... 70
DescribeCustomRoutingListener ... 71
Request Syntax ... 71
Request Parameters ... 71
Response Syntax ... 71
Response Elements ... 71
API Version 2018-08-08 v
Errors ... 72
See Also ... 72
DescribeEndpointGroup ... 73
Request Syntax ... 73
Request Parameters ... 73
Response Syntax ... 73
Response Elements ... 74
Errors ... 74
Examples ... 74
See Also ... 75
DescribeListener ... 76
Request Syntax ... 76
Request Parameters ... 76
Response Syntax ... 76
Response Elements ... 76
Errors ... 77
Examples ... 77
See Also ... 77
ListAccelerators ... 79
Request Syntax ... 79
Request Parameters ... 79
Response Syntax ... 79
Response Elements ... 80
Errors ... 80
Examples ... 80
See Also ... 81
ListByoipCidrs ... 82
Request Syntax ... 82
Request Parameters ... 82
Response Syntax ... 82
Response Elements ... 83
Errors ... 83
Examples ... 83
See Also ... 84
ListCustomRoutingAccelerators ... 86
Request Syntax ... 86
Request Parameters ... 86
Response Syntax ... 86
Response Elements ... 87
Errors ... 87
Examples ... 87
See Also ... 88
ListCustomRoutingEndpointGroups ... 90
Request Syntax ... 90
Request Parameters ... 90
Response Syntax ... 90
Response Elements ... 91
Errors ... 91
Examples ... 92
See Also ... 92
ListCustomRoutingListeners ... 93
Request Syntax ... 93
Request Parameters ... 93
Response Syntax ... 93
Response Elements ... 94
Errors ... 94
Examples ... 94
See Also ... 95
ListCustomRoutingPortMappings ... 96
Request Syntax ... 96
Request Parameters ... 96
Response Syntax ... 97
Response Elements ... 97
Errors ... 97
See Also ... 98
ListCustomRoutingPortMappingsByDestination ... 99
Request Syntax ... 99
Request Parameters ... 99
Response Syntax ... 100
Response Elements ... 100
Errors ... 100
Examples ... 101
See Also ... 102
ListEndpointGroups ... 103
Request Syntax ... 103
Request Parameters ... 103
Response Syntax ... 103
Response Elements ... 104
Errors ... 104
Examples ... 105
See Also ... 105
ListListeners ... 107
Request Syntax ... 107
Request Parameters ... 107
Response Syntax ... 107
Response Elements ... 108
Errors ... 108
Examples ... 109
See Also ... 109
ListTagsForResource ... 110
Request Syntax ... 110
Request Parameters ... 110
Response Syntax ... 110
Response Elements ... 110
Errors ... 111
Examples ... 111
See Also ... 111
ProvisionByoipCidr ... 113
Request Syntax ... 113
Request Parameters ... 113
Response Syntax ... 113
Response Elements ... 114
Errors ... 114
Examples ... 114
See Also ... 115
RemoveCustomRoutingEndpoints ... 116
Request Syntax ... 116
Request Parameters ... 116
Response Elements ... 116
Errors ... 116
See Also ... 117
TagResource ... 118
Request Syntax ... 118
Request Parameters ... 118
API Version 2018-08-08 vii
Response Elements ... 118
Errors ... 118
Examples ... 119
See Also ... 119
UntagResource ... 120
Request Syntax ... 120
Request Parameters ... 120
Response Elements ... 120
Errors ... 120
Examples ... 121
See Also ... 121
UpdateAccelerator ... 122
Request Syntax ... 122
Request Parameters ... 122
Response Syntax ... 123
Response Elements ... 123
Errors ... 123
Examples ... 124
See Also ... 124
UpdateAcceleratorAttributes ... 125
Request Syntax ... 125
Request Parameters ... 125
Response Syntax ... 126
Response Elements ... 126
Errors ... 126
Examples ... 127
See Also ... 127
UpdateCustomRoutingAccelerator ... 128
Request Syntax ... 128
Request Parameters ... 128
Response Syntax ... 129
Response Elements ... 129
Errors ... 129
Examples ... 130
See Also ... 130
UpdateCustomRoutingAcceleratorAttributes ... 131
Request Syntax ... 131
Request Parameters ... 131
Response Syntax ... 132
Response Elements ... 132
Errors ... 132
Examples ... 133
See Also ... 133
UpdateCustomRoutingListener ... 134
Request Syntax ... 134
Request Parameters ... 134
Response Syntax ... 134
Response Elements ... 135
Errors ... 135
Examples ... 135
See Also ... 136
UpdateEndpointGroup ... 137
Request Syntax ... 137
Request Parameters ... 137
Response Syntax ... 139
Response Elements ... 139
Errors ... 140
Examples ... 140
See Also ... 141
UpdateListener ... 142
Request Syntax ... 142
Request Parameters ... 142
Response Syntax ... 143
Response Elements ... 143
Errors ... 143
Examples ... 144
See Also ... 144
WithdrawByoipCidr ... 146
Request Syntax ... 146
Request Parameters ... 146
Response Syntax ... 146
Response Elements ... 146
Errors ... 147
Examples ... 147
See Also ... 148
Data Types ... 149
Accelerator ... 150
Contents ... 150
See Also ... 151
AcceleratorAttributes ... 152
Contents ... 152
See Also ... 152
ByoipCidr ... 153
Contents ... 153
See Also ... 154
ByoipCidrEvent ... 155
Contents ... 155
See Also ... 155
CidrAuthorizationContext ... 156
Contents ... 156
See Also ... 156
CustomRoutingAccelerator ... 157
Contents ... 157
See Also ... 158
CustomRoutingAcceleratorAttributes ... 159
Contents ... 159
See Also ... 159
CustomRoutingDestinationConfiguration ... 160
Contents ... 160
See Also ... 160
CustomRoutingDestinationDescription ... 161
Contents ... 161
See Also ... 161
CustomRoutingEndpointConfiguration ... 162
Contents ... 162
See Also ... 162
CustomRoutingEndpointDescription ... 163
Contents ... 163
See Also ... 163
CustomRoutingEndpointGroup ... 164
Contents ... 164
See Also ... 164
CustomRoutingListener ... 165
Contents ... 165
API Version 2018-08-08 ix
See Also ... 165
DestinationPortMapping ... 166
Contents ... 166
See Also ... 167
EndpointConfiguration ... 168
Contents ... 168
See Also ... 168
EndpointDescription ... 170
Contents ... 170
See Also ... 171
EndpointGroup ... 172
Contents ... 172
See Also ... 173
IpSet ... 175
Contents ... 175
See Also ... 175
Listener ... 176
Contents ... 176
See Also ... 177
PortMapping ... 178
Contents ... 178
See Also ... 179
PortOverride ... 180
Contents ... 180
See Also ... 180
PortRange ... 181
Contents ... 181
See Also ... 181
SocketAddress ... 182
Contents ... 182
See Also ... 182
Tag ... 183
Contents ... 183
See Also ... 183
Common Parameters ... 184
Common Errors ... 186
Welcome
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.
Important
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 AWS 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.
Important
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.
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.
API Version 2018-08-08 1
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.
This document was last published on March 6, 2022.
API Version 2018-08-08 3
Actions
The following actions are supported:
• AddCustomRoutingEndpoints (p. 6)
• AdvertiseByoipCidr (p. 9)
• AllowCustomRoutingTraffic (p. 12)
• CreateAccelerator (p. 15)
• CreateCustomRoutingAccelerator (p. 19)
• CreateCustomRoutingEndpointGroup (p. 23)
• CreateCustomRoutingListener (p. 27)
• CreateEndpointGroup (p. 30)
• CreateListener (p. 36)
• DeleteAccelerator (p. 40)
• DeleteCustomRoutingAccelerator (p. 42)
• DeleteCustomRoutingEndpointGroup (p. 44)
• DeleteCustomRoutingListener (p. 46)
• DeleteEndpointGroup (p. 48)
• DeleteListener (p. 50)
• DenyCustomRoutingTraffic (p. 52)
• DeprovisionByoipCidr (p. 55)
• DescribeAccelerator (p. 58)
• DescribeAcceleratorAttributes (p. 61)
• DescribeCustomRoutingAccelerator (p. 63)
• DescribeCustomRoutingAcceleratorAttributes (p. 66)
• DescribeCustomRoutingEndpointGroup (p. 68)
• DescribeCustomRoutingListener (p. 71)
• DescribeEndpointGroup (p. 73)
• DescribeListener (p. 76)
• ListAccelerators (p. 79)
• ListByoipCidrs (p. 82)
• ListCustomRoutingAccelerators (p. 86)
• ListCustomRoutingEndpointGroups (p. 90)
• ListCustomRoutingListeners (p. 93)
• ListCustomRoutingPortMappings (p. 96)
• ListCustomRoutingPortMappingsByDestination (p. 99)
• ListEndpointGroups (p. 103)
• ListListeners (p. 107)
• ListTagsForResource (p. 110)
• ProvisionByoipCidr (p. 113)
• RemoveCustomRoutingEndpoints (p. 116)
• TagResource (p. 118)
• UntagResource (p. 120)
• UpdateAccelerator (p. 122)
• UpdateAcceleratorAttributes (p. 125)
• UpdateCustomRoutingAccelerator (p. 128)
• UpdateCustomRoutingAcceleratorAttributes (p. 131)
• UpdateCustomRoutingListener (p. 134)
• UpdateEndpointGroup (p. 137)
• UpdateListener (p. 142)
• WithdrawByoipCidr (p. 146)
API Version 2018-08-08 5
AddCustomRoutingEndpoints
AddCustomRoutingEndpoints
Associate a virtual private cloud (VPC) subnet endpoint with your custom routing accelerator.
The listener port range must be large enough to support the number of IP addresses that can be specified in your subnet. The number of ports required is: subnet size times the number of ports per destination EC2 instances. For example, a subnet defined as /24 requires a listener port range of at least 255 ports.
Note: You must have enough remaining listener ports available to map to the subnet ports, or the call will fail with a LimitExceededException.
By default, all destinations in a subnet in a custom routing accelerator cannot receive traffic. To enable all destinations to receive traffic, or to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic operation.
Request Syntax
{ "EndpointConfigurations": [ {
"EndpointId": "string"
} ],
"EndpointGroupArn": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
EndpointConfigurations (p. 6)
The list of endpoint objects to add to a custom routing accelerator.
Type: Array of CustomRoutingEndpointConfiguration (p. 162) objects Array Members: Minimum number of 1 item. Maximum number of 20 items.
Required: Yes EndpointGroupArn (p. 6)
The Amazon Resource Name (ARN) of the endpoint group for the custom routing endpoint.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
Response Syntax
{
"EndpointDescriptions": [ {
"EndpointId": "string"
} ],
"EndpointGroupArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
EndpointDescriptions (p. 6)
The endpoint objects added to the custom routing accelerator.
Type: Array of CustomRoutingEndpointDescription (p. 163) objects EndpointGroupArn (p. 6)
The Amazon Resource Name (ARN) of the endpoint group for the custom routing endpoint.
Type: String
Length Constraints: Maximum length of 255.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
AccessDeniedException
You don't have access permission.
HTTP Status Code: 400 ConflictException
You can't use both of those options.
HTTP Status Code: 400 EndpointAlreadyExistsException
The endpoint that you specified doesn't exist.
HTTP Status Code: 400
EndpointGroupNotFoundException
The endpoint group that you specified doesn't exist.
HTTP Status Code: 400 InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400
API Version 2018-08-08 7
See Also
InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400 LimitExceededException
Processing your request would cause you to exceed an AWS Global Accelerator limit.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
AdvertiseByoipCidr
Advertises an IPv4 address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP). It can take a few minutes before traffic to the specified addresses starts routing to AWS because of propagation delays.
To stop advertising the BYOIP address range, use WithdrawByoipCidr.
For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.
Request Syntax
{ "Cidr": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
Cidr (p. 9)
The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
Response Syntax
{ "ByoipCidr": { "Cidr": "string", "Events": [ {
"Message": "string", "Timestamp": number }
],
"State": "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
API Version 2018-08-08 9
Errors
The following data is returned in JSON format by the service.
ByoipCidr (p. 9)
Information about the address range.
Type: ByoipCidr (p. 153) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
AccessDeniedException
You don't have access permission.
HTTP Status Code: 400 ByoipCidrNotFoundException
The CIDR that you specified was not found or is incorrect.
HTTP Status Code: 400 IncorrectCidrStateException
The CIDR that you specified is not valid for this action. For example, the state of the CIDR might be incorrect for this action.
HTTP Status Code: 400 InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400 InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400
Examples
Advertise address range
The following is an example of advertising an address range, and the response.
aws globalaccelerator advertise-byoip-cidr --cidr "198.51.100.0/24"
{
"ByoipCidr": {
"Cidr": "198.51.100.0/24", "State": "PENDING_ADVERTISING"
} }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
API Version 2018-08-08 11
AllowCustomRoutingTraffic
AllowCustomRoutingTraffic
Specify the Amazon EC2 instance (destination) IP addresses and ports for a VPC subnet endpoint that can receive traffic for a custom routing accelerator. You can allow traffic to all destinations in the subnet endpoint, or allow traffic to a specified list of destination IP addresses and ports in the subnet. Note that you cannot specify IP addresses or ports outside of the range that you configured for the endpoint group.
After you make changes, you can verify that the updates are complete by checking the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED.
Request Syntax
{ "AllowAllTrafficToEndpoint": boolean, "DestinationAddresses": [ "string" ], "DestinationPorts": [ number ], "EndpointGroupArn": "string", "EndpointId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
AllowAllTrafficToEndpoint (p. 12)
Indicates whether all destination IP addresses and ports for a specified VPC subnet endpoint can receive traffic from a custom routing accelerator. The value is TRUE or FALSE.
When set to TRUE, all destinations in the custom routing VPC subnet can receive traffic. Note that you cannot specify destination IP addresses and ports when the value is set to TRUE.
When set to FALSE (or not specified), you must specify a list of destination IP addresses that are allowed to receive traffic. A list of ports is optional. If you don't specify a list of ports, the ports that can accept traffic is the same as the ports configured for the endpoint group.
The default value is FALSE.
Type: Boolean Required: No
DestinationAddresses (p. 12)
A list of specific Amazon EC2 instance IP addresses (destination addresses) in a subnet that you want to allow to receive traffic. The IP addresses must be a subset of the IP addresses that you specified for the endpoint group.
DestinationAddresses is required if AllowAllTrafficToEndpoint is FALSE or is not specified.
Type: Array of strings
Array Members: Maximum number of 100 items.
Length Constraints: Maximum length of 45.
Required: No DestinationPorts (p. 12)
A list of specific Amazon EC2 instance ports (destination ports) that you want to allow to receive traffic.
Type: Array of integers
Array Members: Maximum number of 100 items.
Valid Range: Minimum value of 1. Maximum value of 65535.
Required: No
EndpointGroupArn (p. 12)
The Amazon Resource Name (ARN) of the endpoint group.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes EndpointId (p. 12)
An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400 InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400
API Version 2018-08-08 13
Examples
Examples
Allow destination EC2 instances to receive traffic
The following is an example for specifying all EC2 instances in a subnet endpoint to receive traffic for a custom routing accelerator.
aws --region us-west-2 globalaccelerator allow-custom-routing-traffic --endpoint-group-arn arn:aws:globalaccelerator::012345678901:accelerator/1234abcd-abcd-1234-
abcd-1234abcdefgh/listener/0123vxyz/endpoint-group/ab88888example --endpoint-id subnet-abcd123example --allow-all
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateAccelerator
Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers.
Important
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.
Request Syntax
{
"Enabled": boolean,
"IdempotencyToken": "string", "IpAddresses": [ "string" ], "IpAddressType": "string", "Name": "string",
"Tags": [ {
"Key": "string", "Value": "string"
} ]}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
Enabled (p. 15)
Indicates whether an accelerator is enabled. The value is true or false. The default value is true.
If the value is set to true, an accelerator cannot be deleted. If set to false, the accelerator can be deleted.
Type: Boolean Required: No
IdempotencyToken (p. 15)
A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes IpAddresses (p. 15)
Optionally, if you've added your own IP address pool to Global Accelerator (BYOIP), you can choose an IP address from your own pool to use for the accelerator's static IP address when you create an accelerator.
API Version 2018-08-08 15
Response Syntax
After you bring an address range to AWS, it appears in your account as an address pool. When you create an accelerator, you can assign one IP address from your range to it. Global Accelerator assigns you a second static IP address from an Amazon IP address range. If you bring two IP address ranges to AWS, you can assign one IP address from each range to your accelerator. This restriction is because Global Accelerator assigns each address range to a different network zone, for high availability.
You can specify one or two addresses, separated by a space. Do not include the /32 suffix.
Note that you can't update IP addresses for an existing accelerator. To change them, you must create a new accelerator with the new addresses.
For more information, see Bring your own IP addresses (BYOIP) in the AWS Global Accelerator Developer Guide.
Type: Array of strings
Array Members: Minimum number of 0 items. Maximum number of 2 items.
Length Constraints: Maximum length of 45.
Required: No IpAddressType (p. 15)
The value for the address type must be IPv4.
Type: String Valid Values: IPV4 Required: No Name (p. 15)
The name of the accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters, periods (.), or hyphens (-), and must not begin or end with a hyphen or period.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes Tags (p. 15)
Create tags for an accelerator.
For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.
Type: Array of Tag (p. 183) objects Required: No
Response Syntax
{
"Accelerator": {
"AcceleratorArn": "string",
"CreatedTime": number, "DnsName": "string", "Enabled": boolean, "IpAddressType": "string", "IpSets": [
{
"IpAddresses": [ "string" ], "IpFamily": "string"
} ],
"LastModifiedTime": number, "Name": "string",
"Status": "string"
} }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Accelerator (p. 16)
The accelerator that is created by specifying a listener and the supported IP address types.
Type: Accelerator (p. 150) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400 InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400 LimitExceededException
Processing your request would cause you to exceed an AWS Global Accelerator limit.
HTTP Status Code: 400
Examples
Create an accelerator
The following is an example of creating an accelerator with two tags, and the response (which does not include the tag information).
aws globalaccelerator create-accelerator
API Version 2018-08-08 17
See Also
--name ExampleAccelerator
--tags Key="Name",Value="Example Name" Key="Project",Value="Example Project"
--region us-west-2
--ip-addresses 192.0.2.250 198.51.100.52
{ "Accelerator": {
"AcceleratorArn": "arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh",
"IpAddressType": "IPV4", "Name": "ExampleAccelerator", "Enabled": true,
"Status": "IN_PROGRESS", "IpSets": [
{
"IpAddresses": [ "192.0.2.250", "198.51.100.52"
],
"IpFamily": "IPv4"
} ],
"DnsName":"a1234567890abcdef.awsglobalaccelerator.com", "CreatedTime": 1542394847.0,
"LastModifiedTime": 1542394847.0 }
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateCustomRoutingAccelerator
Create a custom routing accelerator. A custom routing accelerator directs traffic to one of possibly thousands of Amazon EC2 instance destinations running in a single or multiple virtual private clouds (VPC) subnet endpoints.
Be aware that, by default, all destination EC2 instances in a VPC subnet endpoint cannot receive traffic.
To enable all destinations to receive traffic, or to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic operation.
Important
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.
Request Syntax
{
"Enabled": boolean,
"IdempotencyToken": "string", "IpAddresses": [ "string" ], "IpAddressType": "string", "Name": "string",
"Tags": [ {
"Key": "string", "Value": "string"
} ]}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
Enabled (p. 19)
Indicates whether an accelerator is enabled. The value is true or false. The default value is true.
If the value is set to true, an accelerator cannot be deleted. If set to false, the accelerator can be deleted.
Type: Boolean Required: No
IdempotencyToken (p. 19)
A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
API Version 2018-08-08 19
Request Parameters
IpAddresses (p. 19)
Optionally, if you've added your own IP address pool to Global Accelerator (BYOIP), you can choose an IP address from your own pool to use for the accelerator's static IP address when you create an accelerator.
After you bring an address range to AWS, it appears in your account as an address pool. When you create an accelerator, you can assign one IP address from your range to it. Global Accelerator assigns you a second static IP address from an Amazon IP address range. If you bring two IP address ranges to AWS, you can assign one IP address from each range to your accelerator. This restriction is because Global Accelerator assigns each address range to a different network zone, for high availability.
You can specify one or two addresses, separated by a space. Do not include the /32 suffix.
Note that you can't update IP addresses for an existing accelerator. To change them, you must create a new accelerator with the new addresses.
For more information, see Bring your own IP addresses (BYOIP) in the AWS Global Accelerator Developer Guide.
Type: Array of strings
Array Members: Minimum number of 0 items. Maximum number of 2 items.
Length Constraints: Maximum length of 45.
Required: No IpAddressType (p. 19)
The value for the address type must be IPv4.
Type: String Valid Values: IPV4 Required: No Name (p. 19)
The name of a custom routing accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes Tags (p. 19)
Create tags for an accelerator.
For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.
Type: Array of Tag (p. 183) objects Required: No
Response Syntax
{
"Accelerator": {
"AcceleratorArn": "string", "CreatedTime": number, "DnsName": "string", "Enabled": boolean, "IpAddressType": "string", "IpSets": [
{
"IpAddresses": [ "string" ], "IpFamily": "string"
} ],
"LastModifiedTime": number, "Name": "string",
"Status": "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Accelerator (p. 21)
The accelerator that is created.
Type: CustomRoutingAccelerator (p. 157) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
AccessDeniedException
You don't have access permission.
HTTP Status Code: 400 InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400 InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400 LimitExceededException
Processing your request would cause you to exceed an AWS Global Accelerator limit.
HTTP Status Code: 400
API Version 2018-08-08 21
Examples
Examples
Create a custom routing accelerator
The following is an example of creating a custom routing accelerator with two tags, and the response (which does not include the tag information).
aws globalaccelerator create-custom-routing-accelerator --name ExampleCustomRoutingAccelerator
--tags Key="Name",Value="Example Name" Key="Project",Value="Example Project"
--region us-west-2
--ip-addresses 192.0.2.250 198.51.100.52
{ "Accelerator": {
"AcceleratorArn": "arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh",
"IpAddressType": "IPV4",
"Name": "ExampleCustomRoutingAccelerator", "Enabled": true,
"Status": "IN_PROGRESS", "IpSets": [
{
"IpAddresses": [ "192.0.2.250", "198.51.100.52"
],
"IpFamily": "IPv4"
} ],
"DnsName":"a1234567890abcdef.awsglobalaccelerator.com", "CreatedTime": 1542394847.0,
"LastModifiedTime": 1542394847.0 }
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateCustomRoutingEndpointGroup
Create an endpoint group for the specified listener for a custom routing accelerator. An endpoint group is a collection of endpoints in one AWS Region.
Request Syntax
{ "DestinationConfigurations": [ {
"FromPort": number,
"Protocols": [ "string" ], "ToPort": number
} ],
"EndpointGroupRegion": "string", "IdempotencyToken": "string", "ListenerArn": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
DestinationConfigurations (p. 23)
Sets the port range and protocol for all endpoints (virtual private cloud subnets) in a custom routing endpoint group to accept client traffic on.
Type: Array of CustomRoutingDestinationConfiguration (p. 160) objects Array Members: Minimum number of 1 item. Maximum number of 100 items.
Required: Yes
EndpointGroupRegion (p. 23)
The AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
IdempotencyToken (p. 23)
A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
API Version 2018-08-08 23
Response Syntax
ListenerArn (p. 23)
The Amazon Resource Name (ARN) of the listener for a custom routing endpoint.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
Response Syntax
{
"EndpointGroup": {
"DestinationDescriptions": [ {
"FromPort": number, "Protocols": [ "string" ], "ToPort": number
} ],
"EndpointDescriptions": [ {
"EndpointId": "string"
} ],
"EndpointGroupArn": "string", "EndpointGroupRegion": "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
EndpointGroup (p. 24)
The information about the endpoint group created for a custom routing accelerator.
Type: CustomRoutingEndpointGroup (p. 164) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
AcceleratorNotFoundException
The accelerator that you specified doesn't exist.
HTTP Status Code: 400 AccessDeniedException
You don't have access permission.
HTTP Status Code: 400
EndpointGroupAlreadyExistsException
The endpoint group that you specified already exists.
HTTP Status Code: 400 InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400 InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400 InvalidPortRangeException
The port numbers that you specified are not valid numbers or are not unique for this accelerator.
HTTP Status Code: 400 LimitExceededException
Processing your request would cause you to exceed an AWS Global Accelerator limit.
HTTP Status Code: 400 ListenerNotFoundException
The listener that you specified doesn't exist.
HTTP Status Code: 400
Examples
Create an endpoint group for a custom routing accelerator
The following is an example of creating an endpoint group for a custom routing accelerator, and the response.
aws globalaccelerator create-custom-routing-endpoint-group
--listener-arn arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh/listener/0123vxyz
--endpoint-group-region us-east-1
--endpoint-configurations EndpointId=i-1234567890abcdef0,Weight=128 --region us-west-2
{ "EndpointGroup": {
"EndpointId": "i-1234567890abcdef0"
"EndpointGroupArn": "arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh/listener/0123vxyz/endpoint-group/098765zyxwvu",
"EndpointGroupRegion": "us-east-1"
} }
API Version 2018-08-08 25
See Also
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateCustomRoutingListener
Create a listener to process inbound connections from clients to a custom routing accelerator.
Connections arrive to assigned static IP addresses on the port range that you specify.
Request Syntax
{ "AcceleratorArn": "string", "IdempotencyToken": "string", "PortRanges": [
{
"FromPort": number, "ToPort": number }
]}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
AcceleratorArn (p. 27)
The Amazon Resource Name (ARN) of the accelerator for a custom routing listener.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
IdempotencyToken (p. 27)
A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes PortRanges (p. 27)
The port range to support for connections from clients to your accelerator.
Separately, you set port ranges for endpoints. For more information, see About endpoints for custom routing accelerators.
Type: Array of PortRange (p. 181) objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: Yes
API Version 2018-08-08 27
Response Syntax
Response Syntax
{
"Listener": {
"ListenerArn": "string", "PortRanges": [
{
"FromPort": number, "ToPort": number }
] }}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Listener (p. 28)
The listener that you've created for a custom routing accelerator.
Type: CustomRoutingListener (p. 165) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
AcceleratorNotFoundException
The accelerator that you specified doesn't exist.
HTTP Status Code: 400 InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400 InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400 InvalidPortRangeException
The port numbers that you specified are not valid numbers or are not unique for this accelerator.
HTTP Status Code: 400 LimitExceededException
Processing your request would cause you to exceed an AWS Global Accelerator limit.
HTTP Status Code: 400
Examples
Create a listener for a custom routing accelerator
The following is an example of creating a listener for a custom routing accelerator, and the response.
aws --region us-west-2 globalaccelerator create-custom-routing-listener
--accelerator-arn arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh
--port-ranges FromPort=80,ToPort=80 FromPort=81,ToPort=81
{ "Listener": { "PortRange": [ "FromPort": 5000 "ToPort": 10000, ],
"ListenerArn": "arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh/listener/0123vxyz"
} }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
API Version 2018-08-08 29
CreateEndpointGroup
CreateEndpointGroup
Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. A resource must be valid and active when you add it as an endpoint.
Request Syntax
{
"EndpointConfigurations": [ {
"ClientIPPreservationEnabled": boolean, "EndpointId": "string",
"Weight": number }
],
"EndpointGroupRegion": "string", "HealthCheckIntervalSeconds": number, "HealthCheckPath": "string",
"HealthCheckPort": number, "HealthCheckProtocol": "string", "IdempotencyToken": "string", "ListenerArn": "string", "PortOverrides": [ {
"EndpointPort": number, "ListenerPort": number }
],
"ThresholdCount": number, "TrafficDialPercentage": number }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
EndpointConfigurations (p. 30) The list of endpoint objects.
Type: Array of EndpointConfiguration (p. 168) objects
Array Members: Minimum number of 0 items. Maximum number of 10 items.
Required: No
EndpointGroupRegion (p. 30)
The AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes
HealthCheckIntervalSeconds (p. 30)
The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.
Type: Integer
Valid Range: Minimum value of 10. Maximum value of 30.
Required: No HealthCheckPath (p. 30)
If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets.
The default value is slash (/).
Type: String
Length Constraints: Maximum length of 255.
Pattern: ^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*$
Required: No HealthCheckPort (p. 30)
The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port is the listener port that this endpoint group is associated with. If listener port is a list of ports, Global Accelerator uses the first port in the list.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 65535.
Required: No
HealthCheckProtocol (p. 30)
The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.
Type: String
Valid Values: TCP | HTTP | HTTPS Required: No
IdempotencyToken (p. 30)
A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes ListenerArn (p. 30)
The Amazon Resource Name (ARN) of the listener.
Type: String
Length Constraints: Maximum length of 255.
API Version 2018-08-08 31
Response Syntax
Required: Yes PortOverrides (p. 30)
Override specific listener ports used to route traffic to endpoints that are part of this 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.
Type: Array of PortOverride (p. 180) objects
Array Members: Minimum number of 0 items. Maximum number of 10 items.
Required: No ThresholdCount (p. 30)
The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 10.
Required: No
TrafficDialPercentage (p. 30)
The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener.
Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The
percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing.
The default value is 100.
Type: Float
Valid Range: Minimum value of 0. Maximum value of 100.
Required: No
Response Syntax
{ "EndpointGroup": {
"EndpointDescriptions": [ {
"ClientIPPreservationEnabled": boolean, "EndpointId": "string",
"HealthReason": "string", "HealthState": "string", "Weight": number
} ],
"EndpointGroupArn": "string", "EndpointGroupRegion": "string", "HealthCheckIntervalSeconds": number, "HealthCheckPath": "string",
"HealthCheckPort": number, "HealthCheckProtocol": "string", "PortOverrides": [
{
"EndpointPort": number, "ListenerPort": number }
],
"ThresholdCount": number, "TrafficDialPercentage": number }
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
EndpointGroup (p. 32)
The information about the endpoint group that was created.
Type: EndpointGroup (p. 172) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 186).
AcceleratorNotFoundException
The accelerator that you specified doesn't exist.
HTTP Status Code: 400 AccessDeniedException
You don't have access permission.
HTTP Status Code: 400
EndpointGroupAlreadyExistsException
The endpoint group that you specified already exists.
HTTP Status Code: 400 InternalServiceErrorException
There was an internal error for AWS Global Accelerator.
HTTP Status Code: 400 InvalidArgumentException
An argument that you specified is invalid.
HTTP Status Code: 400 LimitExceededException
Processing your request would cause you to exceed an AWS Global Accelerator limit.
API Version 2018-08-08 33
Examples
HTTP Status Code: 400 ListenerNotFoundException
The listener that you specified doesn't exist.
HTTP Status Code: 400
Examples
Create an endpoint group
The following is an example of creating an endpoint group, and the response.
aws globalaccelerator create-endpoint-group
--listener-arn arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh/listener/0123vxyz
--endpoint-group-region us-east-1
--port-overrides ListenerPort=443,EndpointPort=1443
--endpoint-configurations EndpointId=i-1234567890abcdef0,Weight=128 --region us-west-2
{ "EndpointGroup": {
"TrafficDialPercentage": 100.0, "EndpointDescriptions": [
{
"Weight": 128,
"EndpointId": "i-1234567890abcdef0"
} ],
"PortOverrides": [ {
"EndpointPort": 1443, "ListenerPort": 443 }
],
"EndpointGroupArn": "arn:aws:globalaccelerator::012345678901:accelerator/1234abcd- abcd-1234-abcd-1234abcdefgh/listener/0123vxyz/endpoint-group/098765zyxwvu",
"EndpointGroupRegion": "us-east-1"
} }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
API Version 2018-08-08 35
CreateListener
CreateListener
Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned static IP addresses on a port, port range, or list of port ranges that you specify.
Request Syntax
{ "AcceleratorArn": "string", "ClientAffinity": "string", "IdempotencyToken": "string", "PortRanges": [
{
"FromPort": number, "ToPort": number }
],
"Protocol": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 184).
The request accepts the following data in JSON format.
AcceleratorArn (p. 36)
The Amazon Resource Name (ARN) of your accelerator.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes ClientAffinity (p. 36)
Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Client affinity gives you control over whether to always route each client to the same specific endpoint.
AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the "five-tuple" (5-tuple) properties
—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.
If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.
The default value is NONE.
Type: String
Valid Values: NONE | SOURCE_IP
Required: No
IdempotencyToken (p. 36)
A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
Type: String
Length Constraints: Maximum length of 255.
Required: Yes PortRanges (p. 36)
The list of port ranges to support for connections from clients to your accelerator.
Type: Array of PortRange (p. 181) objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: Yes Protocol (p. 36)
The protocol for connections from clients to your accelerator.
Type: String
Valid Values: TCP | UDP Required: Yes
Response Syntax
{
"Listener": {
"ClientAffinity": "string", "ListenerArn": "string", "PortRanges": [
{
"FromPort": number, "ToPort": number }
],
"Protocol": "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Listener (p. 37)
The listener that you've created.
Type: Listener (p. 176) object
API Version 2018-08-08 37