// 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