endpoint_groups
Creates, updates, deletes, gets or lists an endpoint_groups resource.
Overview
| Name | endpoint_groups |
| Type | Resource |
| Id | aws.globalaccelerator.endpoint_groups |
Fields
The following fields are returned by SELECT queries:
- describe_endpoint_group
- list_endpoint_groups
| Name | Datatype | Description |
|---|---|---|
endpoint_descriptions | array | The list of endpoint objects. |
endpoint_group_arn | string | The Amazon Resource Name (ARN) of the endpoint group. |
endpoint_group_region | string | The Amazon Web Services Region where the endpoint group is located. |
health_check_interval_seconds | integer | The time—10 seconds or 30 seconds—between health checks for each endpoint. The default value is 30. |
health_check_path | string | If the protocol is HTTP/S, then this value provides the ping path that Global Accelerator uses for the destination on the endpoints for health checks. The default is slash (/). (pattern: <code>^/[-a-zA-Z0-9@:%_\+.~#?&/=]*$</code>) |
health_check_port | integer | The port that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default port is the port for the listener that this endpoint group is associated with. If the listener port is a list, Global Accelerator uses the first specified port in the list of ports. |
health_check_protocol | string | The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default value is TCP. (TCP, HTTP, HTTPS) |
port_overrides | array | Allows you to override the destination ports used to route traffic to an endpoint. Using a port override lets you map a list of external destination ports (that your users send traffic to) to a list of internal destination ports that you want an application endpoint to receive traffic on. |
threshold_count | integer | 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. |
traffic_dial_percentage | number (float) | The percentage of traffic to send to an Amazon Web Services 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. |
| Name | Datatype | Description |
|---|---|---|
endpoint_descriptions | array | The list of endpoint objects. |
endpoint_group_arn | string | The Amazon Resource Name (ARN) of the endpoint group. |
endpoint_group_region | string | The Amazon Web Services Region where the endpoint group is located. |
health_check_interval_seconds | integer | The time—10 seconds or 30 seconds—between health checks for each endpoint. The default value is 30. |
health_check_path | string | If the protocol is HTTP/S, then this value provides the ping path that Global Accelerator uses for the destination on the endpoints for health checks. The default is slash (/). (pattern: <code>^/[-a-zA-Z0-9@:%_\+.~#?&/=]*$</code>) |
health_check_port | integer | The port that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default port is the port for the listener that this endpoint group is associated with. If the listener port is a list, Global Accelerator uses the first specified port in the list of ports. |
health_check_protocol | string | The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default value is TCP. (TCP, HTTP, HTTPS) |
port_overrides | array | Allows you to override the destination ports used to route traffic to an endpoint. Using a port override lets you map a list of external destination ports (that your users send traffic to) to a list of internal destination ports that you want an application endpoint to receive traffic on. |
threshold_count | integer | 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. |
traffic_dial_percentage | number (float) | The percentage of traffic to send to an Amazon Web Services 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. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
describe_endpoint_group | select | region | Describe an endpoint group. | |
list_endpoint_groups | select | region | List the endpoint groups that are associated with a listener. | |
create_endpoint_group | insert | region, ListenerArn, EndpointGroupRegion, IdempotencyToken | Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one Amazon Web Services Region. A resource must be valid and active when you add it as an endpoint. For more information about endpoint types and requirements for endpoints that you can add to Global Accelerator, see Endpoints for standard accelerators in the Global Accelerator Developer Guide. | |
add_custom_routing_endpoints | update | region, EndpointConfigurations, EndpointGroupArn | 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. | |
remove_custom_routing_endpoints | update | region, EndpointIds, EndpointGroupArn | Remove endpoints from a custom routing accelerator. | |
remove_endpoints | update | region, EndpointIdentifiers, EndpointGroupArn | Remove endpoints from an endpoint group. The RemoveEndpoints API operation is the recommended option for removing endpoints. The alternative is to remove endpoints by updating an endpoint group by using the UpdateEndpointGroup API operation. There are two advantages to using AddEndpoints to remove endpoints instead: It's more convenient, because you only need to specify the endpoints that you want to remove. With the UpdateEndpointGroup API operation, you must specify all of the endpoints in the endpoint group except the ones that you want to remove from the group. It's faster, because Global Accelerator doesn't need to resolve any endpoints. With the UpdateEndpointGroup API operation, Global Accelerator must resolve all of the endpoints that remain in the group. | |
update_endpoint_group | update | region, EndpointGroupArn | Update an endpoint group. A resource must be valid and active when you add it as an endpoint. | |
delete_endpoint_group | delete | region | Delete an endpoint group from a listener. | |
add_endpoints | exec | region, EndpointConfigurations, EndpointGroupArn | Add endpoints to an endpoint group. The AddEndpoints API operation is the recommended option for adding endpoints. The alternative options are to add endpoints when you create an endpoint group (with the CreateEndpointGroup API) or when you update an endpoint group (with the UpdateEndpointGroup API). There are two advantages to using AddEndpoints to add endpoints in Global Accelerator: It's faster, because Global Accelerator only has to resolve the new endpoints that you're adding, rather than resolving new and existing endpoints. It's more convenient, because you don't need to specify the current endpoints that are already in the endpoint group, in addition to the new endpoints that you want to add. For information about endpoint types and requirements for endpoints that you can add to Global Accelerator, see Endpoints for standard accelerators in the Global Accelerator Developer Guide. | |
allow_custom_routing_traffic | exec | region, EndpointGroupArn, EndpointId | 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. | |
deny_custom_routing_traffic | exec | region, EndpointGroupArn, EndpointId | Specify the Amazon EC2 instance (destination) IP addresses and ports for a VPC subnet endpoint that cannot receive traffic for a custom routing accelerator. You can deny traffic to all destinations in the VPC endpoint, or deny traffic to a specified list of destination IP addresses and ports. 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. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
region | string | AWS region (default: us-east-1) |
SELECT examples
- describe_endpoint_group
- list_endpoint_groups
Describe an endpoint group.
SELECT
endpoint_descriptions,
endpoint_group_arn,
endpoint_group_region,
health_check_interval_seconds,
health_check_path,
health_check_port,
health_check_protocol,
port_overrides,
threshold_count,
traffic_dial_percentage
FROM aws.globalaccelerator.endpoint_groups
WHERE region = '{{ region }}' -- required
;
List the endpoint groups that are associated with a listener.
SELECT
endpoint_descriptions,
endpoint_group_arn,
endpoint_group_region,
health_check_interval_seconds,
health_check_path,
health_check_port,
health_check_protocol,
port_overrides,
threshold_count,
traffic_dial_percentage
FROM aws.globalaccelerator.endpoint_groups
WHERE region = '{{ region }}' -- required
;
INSERT examples
- create_endpoint_group
- Manifest
Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one Amazon Web Services Region. A resource must be valid and active when you add it as an endpoint. For more information about endpoint types and requirements for endpoints that you can add to Global Accelerator, see Endpoints for standard accelerators in the Global Accelerator Developer Guide.
INSERT INTO aws.globalaccelerator.endpoint_groups (
ListenerArn,
EndpointGroupRegion,
EndpointConfigurations,
TrafficDialPercentage,
HealthCheckPort,
HealthCheckProtocol,
HealthCheckPath,
HealthCheckIntervalSeconds,
ThresholdCount,
IdempotencyToken,
PortOverrides,
region
)
SELECT
'{{ ListenerArn }}' /* required */,
'{{ EndpointGroupRegion }}' /* required */,
'{{ EndpointConfigurations }}',
{{ TrafficDialPercentage }},
{{ HealthCheckPort }},
'{{ HealthCheckProtocol }}',
'{{ HealthCheckPath }}',
{{ HealthCheckIntervalSeconds }},
{{ ThresholdCount }},
'{{ IdempotencyToken }}' /* required */,
'{{ PortOverrides }}',
'{{ region }}'
RETURNING
endpoint_group
;
# Description fields are for documentation purposes
- name: endpoint_groups
props:
- name: region
value: "{{ region }}"
description: Required parameter for the endpoint_groups resource.
- name: ListenerArn
value: "{{ ListenerArn }}"
description: |
The Amazon Resource Name (ARN) of the listener.
- name: EndpointGroupRegion
value: "{{ EndpointGroupRegion }}"
description: |
The Amazon Web Services Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.
- name: EndpointConfigurations
description: |
The list of endpoint objects.
value:
- EndpointId: "{{ EndpointId }}"
Weight: {{ Weight }}
ClientIPPreservationEnabled: {{ ClientIPPreservationEnabled }}
AttachmentArn: "{{ AttachmentArn }}"
- name: TrafficDialPercentage
value: {{ TrafficDialPercentage }}
description: |
The percentage of traffic to send to an Amazon Web Services 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.
- name: HealthCheckPort
value: {{ HealthCheckPort }}
description: |
The port that 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.
- name: HealthCheckProtocol
value: "{{ HealthCheckProtocol }}"
description: |
The protocol that Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.
valid_values: ['TCP', 'HTTP', 'HTTPS']
- name: HealthCheckPath
value: "{{ HealthCheckPath }}"
description: |
If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).
- name: HealthCheckIntervalSeconds
value: {{ HealthCheckIntervalSeconds }}
description: |
The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.
- name: ThresholdCount
value: {{ ThresholdCount }}
description: |
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.
- name: IdempotencyToken
value: "{{ IdempotencyToken }}"
description: |
A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.
- name: PortOverrides
description: |
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 Overriding listener ports in the Global Accelerator Developer Guide.
value:
- ListenerPort: {{ ListenerPort }}
EndpointPort: {{ EndpointPort }}
UPDATE examples
- add_custom_routing_endpoints
- remove_custom_routing_endpoints
- remove_endpoints
- update_endpoint_group
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.
UPDATE aws.globalaccelerator.endpoint_groups
SET
EndpointConfigurations = '{{ EndpointConfigurations }}',
EndpointGroupArn = '{{ EndpointGroupArn }}'
WHERE
region = '{{ region }}' --required
AND EndpointConfigurations = '{{ EndpointConfigurations }}' --required
AND EndpointGroupArn = '{{ EndpointGroupArn }}' --required
RETURNING
endpoint_descriptions,
endpoint_group_arn;
Remove endpoints from a custom routing accelerator.
UPDATE aws.globalaccelerator.endpoint_groups
SET
EndpointIds = '{{ EndpointIds }}',
EndpointGroupArn = '{{ EndpointGroupArn }}'
WHERE
region = '{{ region }}' --required
AND EndpointIds = '{{ EndpointIds }}' --required
AND EndpointGroupArn = '{{ EndpointGroupArn }}' --required;
Remove endpoints from an endpoint group. The RemoveEndpoints API operation is the recommended option for removing endpoints. The alternative is to remove endpoints by updating an endpoint group by using the UpdateEndpointGroup API operation. There are two advantages to using AddEndpoints to remove endpoints instead: It's more convenient, because you only need to specify the endpoints that you want to remove. With the UpdateEndpointGroup API operation, you must specify all of the endpoints in the endpoint group except the ones that you want to remove from the group. It's faster, because Global Accelerator doesn't need to resolve any endpoints. With the UpdateEndpointGroup API operation, Global Accelerator must resolve all of the endpoints that remain in the group.
UPDATE aws.globalaccelerator.endpoint_groups
SET
EndpointIdentifiers = '{{ EndpointIdentifiers }}',
EndpointGroupArn = '{{ EndpointGroupArn }}'
WHERE
region = '{{ region }}' --required
AND EndpointIdentifiers = '{{ EndpointIdentifiers }}' --required
AND EndpointGroupArn = '{{ EndpointGroupArn }}' --required;
Update an endpoint group. A resource must be valid and active when you add it as an endpoint.
UPDATE aws.globalaccelerator.endpoint_groups
SET
EndpointGroupArn = '{{ EndpointGroupArn }}',
EndpointConfigurations = '{{ EndpointConfigurations }}',
TrafficDialPercentage = {{ TrafficDialPercentage }},
HealthCheckPort = {{ HealthCheckPort }},
HealthCheckProtocol = '{{ HealthCheckProtocol }}',
HealthCheckPath = '{{ HealthCheckPath }}',
HealthCheckIntervalSeconds = {{ HealthCheckIntervalSeconds }},
ThresholdCount = {{ ThresholdCount }},
PortOverrides = '{{ PortOverrides }}'
WHERE
region = '{{ region }}' --required
AND EndpointGroupArn = '{{ EndpointGroupArn }}' --required
RETURNING
endpoint_group;
DELETE examples
- delete_endpoint_group
Delete an endpoint group from a listener.
DELETE FROM aws.globalaccelerator.endpoint_groups
WHERE region = '{{ region }}' --required
;
Lifecycle Methods
- add_endpoints
- allow_custom_routing_traffic
- deny_custom_routing_traffic
Add endpoints to an endpoint group. The AddEndpoints API operation is the recommended option for adding endpoints. The alternative options are to add endpoints when you create an endpoint group (with the CreateEndpointGroup API) or when you update an endpoint group (with the UpdateEndpointGroup API). There are two advantages to using AddEndpoints to add endpoints in Global Accelerator: It's faster, because Global Accelerator only has to resolve the new endpoints that you're adding, rather than resolving new and existing endpoints. It's more convenient, because you don't need to specify the current endpoints that are already in the endpoint group, in addition to the new endpoints that you want to add. For information about endpoint types and requirements for endpoints that you can add to Global Accelerator, see Endpoints for standard accelerators in the Global Accelerator Developer Guide.
EXEC aws.globalaccelerator.endpoint_groups.add_endpoints
@region='{{ region }}' --required
@@json=
'{
"EndpointConfigurations": "{{ EndpointConfigurations }}",
"EndpointGroupArn": "{{ EndpointGroupArn }}"
}'
;
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.
EXEC aws.globalaccelerator.endpoint_groups.allow_custom_routing_traffic
@region='{{ region }}' --required
@@json=
'{
"EndpointGroupArn": "{{ EndpointGroupArn }}",
"EndpointId": "{{ EndpointId }}",
"DestinationAddresses": "{{ DestinationAddresses }}",
"DestinationPorts": "{{ DestinationPorts }}",
"AllowAllTrafficToEndpoint": {{ AllowAllTrafficToEndpoint }}
}'
;
Specify the Amazon EC2 instance (destination) IP addresses and ports for a VPC subnet endpoint that cannot receive traffic for a custom routing accelerator. You can deny traffic to all destinations in the VPC endpoint, or deny traffic to a specified list of destination IP addresses and ports. 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.
EXEC aws.globalaccelerator.endpoint_groups.deny_custom_routing_traffic
@region='{{ region }}' --required
@@json=
'{
"EndpointGroupArn": "{{ EndpointGroupArn }}",
"EndpointId": "{{ EndpointId }}",
"DestinationAddresses": "{{ DestinationAddresses }}",
"DestinationPorts": "{{ DestinationPorts }}",
"DenyAllTrafficToEndpoint": {{ DenyAllTrafficToEndpoint }}
}'
;