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.
Minimal Example
Section titled “Minimal Example”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});
Advanced Configuration
Section titled “Advanced Configuration”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});
Adding Endpoint Configurations
Section titled “Adding Endpoint Configurations”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});
Using Port Overrides
Section titled “Using Port Overrides”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});