Skip to content
GitHubXDiscord

EndpointGroup

The EndpointGroup resource lets you manage AWS GlobalAccelerator EndpointGroups that improve the availability and performance of your applications by directing traffic to optimal endpoints.

Create a basic EndpointGroup with required properties and a common optional property for health checks.

import AWS from "alchemy/aws/control";
const basicEndpointGroup = await AWS.GlobalAccelerator.EndpointGroup("basic-endpoint-group", {
ListenerArn: "arn:aws:globalaccelerator::123456789012:listener/abcd1234-5678-90ab-cdef-1234567890ab",
EndpointGroupRegion: "us-east-1",
HealthCheckIntervalSeconds: 30
});

Configure an EndpointGroup with additional options such as traffic dial percentage and health check settings.

const advancedEndpointGroup = await AWS.GlobalAccelerator.EndpointGroup("advanced-endpoint-group", {
ListenerArn: "arn:aws:globalaccelerator::123456789012:listener/abcd1234-5678-90ab-cdef-1234567890ab",
EndpointGroupRegion: "us-west-2",
HealthCheckIntervalSeconds: 20,
TrafficDialPercentage: 75,
HealthCheckPath: "/health",
HealthCheckProtocol: "HTTP",
HealthCheckPort: 80,
ThresholdCount: 3
});

Manage a group of endpoints by specifying configurations for each endpoint.

const endpointConfigurations = [
{
EndpointId: "i-0abcd1234efgh5678", // EC2 instance ID
Weight: 100
},
{
EndpointId: "i-0ijklmnop1234qrst", // Another EC2 instance ID
Weight: 50
}
];
const configuredEndpointGroup = await AWS.GlobalAccelerator.EndpointGroup("configured-endpoint-group", {
ListenerArn: "arn:aws:globalaccelerator::123456789012:listener/abcd1234-5678-90ab-cdef-1234567890ab",
EndpointGroupRegion: "eu-central-1",
EndpointConfigurations: endpointConfigurations,
HealthCheckIntervalSeconds: 10,
TrafficDialPercentage: 100
});

Customize the traffic routing by specifying port overrides for the EndpointGroup.

const portOverrides = [
{
EndpointPort: 8080,
ListenerPort: 80
},
{
EndpointPort: 8443,
ListenerPort: 443
}
];
const portOverrideEndpointGroup = await AWS.GlobalAccelerator.EndpointGroup("port-override-endpoint-group", {
ListenerArn: "arn:aws:globalaccelerator::123456789012:listener/abcd1234-5678-90ab-cdef-1234567890ab",
EndpointGroupRegion: "ap-south-1",
PortOverrides: portOverrides,
HealthCheckIntervalSeconds: 15
});