Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

gwlb-ip-target-group

This module creates following resources.

  • aws_lb_target_group
  • aws_lb_target_group_attachment (optional)

Requirements

Name Version
terraform >= 1.12
aws >= 6.42

Providers

Name Version
aws 6.42.0

Modules

Name Source Version
resource_group tedilabs/misc/aws//modules/resource-group ~> 0.12.0

Resources

Name Type
aws_lb_target_group.this resource
aws_lb_target_group_attachment.this resource
aws_vpc.this data source

Inputs

Name Description Type Default Required
name (Required) Name of the target group. A maximum of 32 alphanumeric characters including hyphens are allowed, but the name must not begin or end with a hyphen. string n/a yes
vpc_id (Required) The ID of the VPC which the target group belongs to. string n/a yes
deregistration_delay (Optional) The time to wait for in-flight requests to complete while deregistering a target. During this time, the state of the target is draining. Valid values are from 0 to 3600 seconds. Defaults to 300 seconds. number 300 no
flow_stickiness (Optional) A configuration for flow stickiness of the target group. flow_stickiness as defined below.
(Optional) type - The type of flow stickiness. Valid values are 5-tuple, 3-tuple and 2-tuple. Defaults to 5-tuple.
5-tuple - Source IP, Source Port, Destination IP, Destination Port and Transport Protocol.
3-tuple - Source IP, Destination IP and Transport Protocol.
2-tuple - Source IP and Destination IP.
object({
type = optional(string, "5-tuple")
})
{} no
health_check (Optional) A configurations for Health Check of the target group. The associated load balancer periodically sends requests to the registered targets to test their status. health_check block as defined below.
(Optional) protocol - Protocol to use to connect with the target. The possible values are TCP, HTTP and HTTPS. Defaults to TCP.
(Optional) port - The port the load balancer uses when performing health checks on targets. The default is the port on which each target receives traffic from the load balancer. Valid values are either ports 1-65535.
(Optional) port_override - Whether to override the port on which each target receives traffic from the load balancer to a different port. Defaults to false.
(Optional) path - The ping path for the HTTP or HTTPS protocol. Defaults to /. A path can have a maximum of 1024 characters.
(Optional) success_codes - The HTTP codes to use when checking for a successful response from a target for the HTTP or HTPS protocol. You can specify multiple values (for example, 200,202) or a range of values (for example, 200-299). Defaults to 200-399.
(Optional) healthy_threshold - The number of consecutive health checks successes required before considering an unhealthy target healthy. Valid value range is 2 - 10. Defaults to 5.
(Optional) unhealthy_threshold - The number of consecutive health check failures required before considering a target unhealthy. Valid value range is 2 - 10. Defaults to 2.
(Optional) interval - Approximate amount of time, in seconds, between health checks of an individual target. Valid value range is 5 - 300. Defaults to 30.
(Optional) timeout - The amount of time, in seconds, during which no response means a failed health check. Valid value range is 2 - 120. Defaults to 5.
object({
protocol = optional(string, "TCP")
port = optional(number)
port_override = optional(bool, false)
path = optional(string, "/")
success_codes = optional(string, "200-399")

healthy_threshold = optional(number, 5)
unhealthy_threshold = optional(number, 2)
interval = optional(number, 10)
timeout = optional(number, 5)
})
{} no
module_tags_enabled (Optional) Whether to create AWS Resource Tags for the module informations. bool true no
region (Optional) The region in which to create the module resources. If not provided, the module resources will be created in the provider's configured region. string null no
resource_group (Optional) A configurations of Resource Group for this module. resource_group as defined below.
(Optional) enabled - Whether to create Resource Group to find and group AWS resources which are created by this module. Defaults to true.
(Optional) name - The name of Resource Group. A Resource Group name can have a maximum of 127 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with AWS or aws. If not provided, a name will be generated using the module name and instance name.
(Optional) description - The description of Resource Group. Defaults to Managed by Terraform..
object({
enabled = optional(bool, true)
name = optional(string, "")
description = optional(string, "Managed by Terraform.")
})
{} no
tags (Optional) A map of tags to add to all resources. map(string) {} no
target_failover (Optional) A configuration for how Gateway Load Balancer handles existing flows on target deregistration and unhealthy events. target_failover as defined below.
(Optional) rebalance_on_deregistration - Whether to rebalance existing flows when a target is deregistered. If true, the load balancer will rebalance existing flows across the remaining healthy targets. Defaults to false.
(Optional) rebalance_on_unhealthy - Whether to rebalance existing flows when a target is marked unhealthy. If true, the load balancer will rebalance existing flows across the remaining healthy targets. Defaults to false.
object({
rebalance_on_deregistration = optional(bool, false)
rebalance_on_unhealthy = optional(bool, false)
})
{} no
targets (Optional) A set of targets to add to the target group. Each value of targets block as defined below.
(Required) ip_address - Specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses. Support also IPv6 addresses.
set(object({
ip_address = string
}))
[] no

Outputs

Name Description
arn The Amazon Resource Name (ARN) of the target group.
arn_suffix The ARN suffix for use with CloudWatch Metrics.
attributes Attributes of the IP target group of gateway load balancer.
flow_stickiness The configuration of flow stickiness for the target group.
health_check Health Check configuration of the target group.
id The ID of the target group.
load_balancers The ARNs (Amazon Resource Name) of the load balancers associated with the target group.
name The name of the target group.
port The port number on which the target receive trrafic.
protocol The protocol to use to connect with the target.
region The AWS region this module resources resides in.
resource_group The resource group created to manage resources in this module.
target_failover The configuration of target failover for the target group.
targets A set of targets in the target group.
type The target type of the target group.
vpc_id The ID of the VPC which the target group belongs to.