• 沒有找到結果。

AWS Global Accelerator

N/A
N/A
Protected

Academic year: 2022

Share "AWS Global Accelerator"

Copied!
197
0
0

加載中.... (立即查看全文)

全文

(1)

AWS Global Accelerator

API Reference

API Version 2018-08-08

(2)

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.

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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)

(15)

• 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

(16)

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

{

(17)

"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

(18)

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

(19)

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

(20)

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"

} }

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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",

(27)

"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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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",

(43)

"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

(44)

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

(45)

• AWS SDK for Python

• AWS SDK for Ruby V3

API Version 2018-08-08 35

(46)

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

(47)

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

參考文獻

相關文件

As the result, I found that the trail I want can be got by using a plane for cutting the quadrangular pyramid, like the way to have a conic section from a cone.. I also found

The hashCode method for a given class can be used to test for object equality and object inequality for that class. The hashCode method is used by the java.util.SortedSet

It is important to allow for all students to add their ideas to the story so giving each student an area of responsibility to add to the story recipe can help prompt this. For

 With new ICE trains crossi ng Europe at speeds of up to 300 km/h, sound and vib ration levels in the trains ar e an important issue.  Hilliges/Mehrmann/Mehl(2 004) first

According to the passage, which of the following can help facilitate good sleep for children.. (A) Carefully choose the online content

可以設定遊戲音 效以及是否離開

Note that this method uses two separate object variables: the local variable message and the instance field name.. A local variable belongs to an individual method, and you can use

Especially, it can represent for Happy Father’s Day to admire that father is a fun, handsome, intelligent, happy, a hero and great man in the world.. And it’s like Chinese