[ aws . globalaccelerator ]

create-custom-routing-accelerator

Description

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.

Warning

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the US West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2 on AWS CLI commands.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-custom-routing-accelerator
--name <value>
[--ip-address-type <value>]
[--ip-addresses <value>]
[--enabled | --no-enabled]
[--idempotency-token <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--name (string)

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.

--ip-address-type (string)

The IP address type that an accelerator supports. For a custom routing accelerator, the value must be IPV4.

Possible values:

  • IPV4

  • DUAL_STACK

--ip-addresses (list)

Optionally, if you’ve added your own IP address pool to Global Accelerator (BYOIP), you can choose an IPv4 address from your own pool to use for the accelerator’s static IPv4 address when you create an accelerator.

After you bring an address range to Amazon Web Services, it appears in your account as an address pool. When you create an accelerator, you can assign one IPv4 address from your range to it. Global Accelerator assigns you a second static IPv4 address from an Amazon IP address range. If you bring two IPv4 address ranges to Amazon Web Services, you can assign one IPv4 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 Global Accelerator Developer Guide .

(string)

Syntax:

"string" "string" ...

--enabled | --no-enabled (boolean)

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.

--idempotency-token (string)

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

--tags (list)

Create tags for an accelerator.

For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide .

(structure)

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

Key -> (string)

A string that contains a Tag key.

Value -> (string)

A string that contains a Tag value.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

Note

To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .

To create a custom routing accelerator

The following create-custom-routing-accelerator example creates a custom routing accelerator with the tags Name and Project.

aws globalaccelerator create-custom-routing-accelerator \
    --name ExampleCustomRoutingAccelerator \
    --tags Key="Name",Value="Example Name" Key="Project",Value="Example Project" \
    --ip-addresses 192.0.2.250 198.51.100.52

Output:

{
    "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
    }
}

For more information, see Custom routing accelerators in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

Output

Accelerator -> (structure)

The accelerator that is created.

AcceleratorArn -> (string)

The Amazon Resource Name (ARN) of the custom routing accelerator.

Name -> (string)

The name of the accelerator. The name must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.

IpAddressType -> (string)

The IP address type that an accelerator supports. For a custom routing accelerator, the value must be IPV4.

Enabled -> (boolean)

Indicates whether the accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.

IpSets -> (list)

The static IP addresses that Global Accelerator associates with the accelerator.

(structure)

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

IpFamily -> (string)

IpFamily is deprecated and has been replaced by IpAddressFamily.

IpAddresses -> (list)

The array of IP addresses in the IP address set. An IP address set can have a maximum of two IP addresses.

(string)

IpAddressFamily -> (string)

The types of IP addresses included in this IP set.

DnsName -> (string)

The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator’s static IPv4 addresses.

The naming convention for the DNS name is the following: A lowercase letter a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: a1234567890abcdef.awsglobalaccelerator.com.

If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both the A record and the AAAA record for all four static addresses for the accelerator (two IPv4 addresses and two IPv6 addresses).

For more information about the default DNS name, see Support for DNS Addressing in Global Accelerator in the Global Accelerator Developer Guide .

Status -> (string)

Describes the deployment status of the accelerator.

CreatedTime -> (timestamp)

The date and time that the accelerator was created.

LastModifiedTime -> (timestamp)

The date and time that the accelerator was last modified.