Skip to content
GitHubXDiscord

TargetGroup

The TargetGroup resource allows you to manage AWS VpcLattice TargetGroups which are used for routing traffic to your services.

Create a basic TargetGroup with required properties and one optional property:

import AWS from "alchemy/aws/control";
const targetGroup = await AWS.VpcLattice.TargetGroup("myTargetGroup", {
Type: "HTTP", // Specifies the type of target group
Config: {
Protocol: "HTTP",
Port: 80
},
Name: "MyTargetGroup" // Optional: Name of the target group
});

Configure a TargetGroup with additional settings such as targets and tags:

const advancedTargetGroup = await AWS.VpcLattice.TargetGroup("advancedTargetGroup", {
Type: "HTTP",
Config: {
Protocol: "HTTPS",
Port: 443,
HealthCheck: {
Path: "/health",
IntervalSeconds: 30,
TimeoutSeconds: 5,
HealthyThresholdCount: 2,
UnhealthyThresholdCount: 2
}
},
Targets: [
{
Id: "i-0123456789abcdef0", // Target instance ID
Port: 8080
}
],
Tags: [
{
Key: "Environment",
Value: "Production"
}
],
Name: "AdvancedTargetGroup"
});

Demonstrate how to add multiple targets to an existing TargetGroup:

const targetGroupWithMultipleTargets = await AWS.VpcLattice.TargetGroup("multiTargetGroup", {
Type: "HTTP",
Config: {
Protocol: "HTTP",
Port: 80
},
Targets: [
{
Id: "i-0abcdef1234567890", // First target instance ID
Port: 8080
},
{
Id: "i-0abcdef1234567891", // Second target instance ID
Port: 8080
}
],
Name: "MultiTargetGroup"
});

Show how to adopt an existing TargetGroup instead of failing if it already exists:

const adoptExistingTargetGroup = await AWS.VpcLattice.TargetGroup("existingTargetGroup", {
Type: "HTTP",
Config: {
Protocol: "HTTP",
Port: 80
},
adopt: true, // Set to true to adopt the existing resource
Name: "ExistingTargetGroup"
});