Listener
The Listener resource lets you manage AWS GlobalAccelerator Listeners that route incoming traffic to your application endpoints based on specific protocols and port ranges.
Minimal Example
Section titled “Minimal Example”Create a basic GlobalAccelerator listener with required properties:
import AWS from "alchemy/aws/control";
const basicListener = await AWS.GlobalAccelerator.Listener("basic-listener", { PortRanges: [{ FromPort: 80, ToPort: 80 }], AcceleratorArn: "arn:aws:globalaccelerator::123456789012:accelerator/abcd1234-efgh-5678-ijkl-9012mnop3456", Protocol: "TCP"});
Advanced Configuration
Section titled “Advanced Configuration”Configure a listener with additional options such as client affinity:
const advancedListener = await AWS.GlobalAccelerator.Listener("advanced-listener", { PortRanges: [{ FromPort: 443, ToPort: 443 }], AcceleratorArn: "arn:aws:globalaccelerator::123456789012:accelerator/abcd1234-efgh-5678-ijkl-9012mnop3456", Protocol: "TCP", ClientAffinity: "SOURCE_IP" // Enables source IP affinity for the listener});
Multiple Port Ranges
Section titled “Multiple Port Ranges”Set up a listener that handles multiple port ranges for different services:
const multiPortListener = await AWS.GlobalAccelerator.Listener("multi-port-listener", { PortRanges: [ { FromPort: 80, ToPort: 80 }, { FromPort: 443, ToPort: 443 } ], AcceleratorArn: "arn:aws:globalaccelerator::123456789012:accelerator/abcd1234-efgh-5678-ijkl-9012mnop3456", Protocol: "TCP"});
Listener with Adoption
Section titled “Listener with Adoption”Create a listener that adopts an existing resource instead of failing:
const adoptListener = await AWS.GlobalAccelerator.Listener("adopt-listener", { PortRanges: [{ FromPort: 8080, ToPort: 8080 }], AcceleratorArn: "arn:aws:globalaccelerator::123456789012:accelerator/abcd1234-efgh-5678-ijkl-9012mnop3456", Protocol: "TCP", adopt: true // Use this to adopt an existing listener if it exists});