-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
doc.go
186 lines (185 loc) · 10.5 KB
/
doc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
// Package globalaccelerator provides the client and types for making API
// requests to AWS Global Accelerator.
//
// This is the AWS Global Accelerator API Reference. This guide is for developers
// who need detailed information about AWS Global Accelerator API actions, data
// types, and errors. For more information about Global Accelerator features,
// see the AWS Global Accelerator Developer Guide (https://docs.aws.amazon.com/global-accelerator/latest/dg/Welcome.html).
//
// AWS Global Accelerator is a service in which you create accelerators to improve
// the performance of your applications for local and global users. Depending
// on the type of accelerator you choose, you can gain additional benefits.
//
// * By using a standard accelerator, you can improve availability of your
// internet applications that are used by a global audience. With a standard
// accelerator, Global Accelerator directs traffic to optimal endpoints over
// the AWS global network.
//
// * For other scenarios, you might choose a custom routing accelerator.
// With a custom routing accelerator, you can use application logic to directly
// map one or more users to a specific endpoint among many endpoints.
//
// Global Accelerator is a global service that supports endpoints in multiple
// AWS Regions but you must specify the US West (Oregon) Region to create or
// update accelerators.
//
// By default, Global Accelerator provides you with two static IP addresses
// that you associate with your accelerator. With a standard accelerator, instead
// of using the IP addresses that Global Accelerator provides, you can configure
// these entry points to be IPv4 addresses from your own IP address ranges that
// you bring to Global Accelerator. The static IP addresses are anycast from
// the AWS edge network. For a standard accelerator, they distribute incoming
// application traffic across multiple endpoint resources in multiple AWS Regions,
// which increases the availability of your applications. Endpoints for standard
// accelerators can be Network Load Balancers, Application Load Balancers, Amazon
// EC2 instances, or Elastic IP addresses that are located in one AWS Region
// or multiple Regions. For custom routing accelerators, you map traffic that
// arrives to the static IP addresses to specific Amazon EC2 servers in endpoints
// that are virtual private cloud (VPC) subnets.
//
// The static IP addresses remain assigned to your accelerator for as long as
// it exists, even if you disable the accelerator and it no longer accepts or
// routes traffic. However, when you delete an accelerator, you lose the static
// IP addresses that are assigned to it, so you can no longer route traffic
// by using them. You can use IAM policies like tag-based permissions with Global
// Accelerator to limit the users who have permissions to delete an accelerator.
// For more information, see Tag-based policies (https://docs.aws.amazon.com/global-accelerator/latest/dg/access-control-manage-access-tag-policies.html).
//
// For standard accelerators, Global Accelerator uses the AWS global network
// to route traffic to the optimal regional endpoint based on health, client
// location, and policies that you configure. The service reacts instantly to
// changes in health or configuration to ensure that internet traffic from clients
// is always directed to healthy endpoints.
//
// For a list of the AWS Regions where Global Accelerator and other services
// are currently supported, see the AWS Region Table (https://docs.aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).
//
// 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html).
//
// 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/access-control-manage-access-tag-policies.html).
//
// 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 (https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-accelerator-types.html).
//
// 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.
//
// See https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08 for more information on this service.
//
// See globalaccelerator package documentation for more information.
// https://docs.aws.amazon.com/sdk-for-go/api/service/globalaccelerator/
//
// Using the Client
//
// To contact AWS Global Accelerator with the SDK use the New function to create
// a new service client. With that client you can make API requests to the service.
// These clients are safe to use concurrently.
//
// See the SDK's documentation for more information on how to use the SDK.
// https://docs.aws.amazon.com/sdk-for-go/api/
//
// See aws.Config documentation for more information on configuring SDK clients.
// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
//
// See the AWS Global Accelerator client GlobalAccelerator for more
// information on creating client for this service.
// https://docs.aws.amazon.com/sdk-for-go/api/service/globalaccelerator/#New
package globalaccelerator