Difference between revisions of "Terraform resource: aws lb target group"
Jump to navigation
Jump to search
↑ https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group
↑ https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol
↑ https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol_version
↑ https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#health_check
(24 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
** https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group | ** https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group | ||
+ | == Examples == | ||
+ | === IP Target Group official example === | ||
+ | resource "aws_lb_target_group" "ip-example" { | ||
+ | name = "tf-example-lb-tg" | ||
+ | port = 80 | ||
+ | protocol = "HTTP" | ||
+ | [[target_type]] = "ip" | ||
+ | [[vpc_id]] = aws_vpc.main.id | ||
+ | } | ||
+ | |||
+ | resource "[[aws_vpc]]" "main" { | ||
+ | cidr_block = "10.0.0.0/16" | ||
+ | } | ||
− | == Attributes | + | === host_header based [[forward]] === |
+ | resource "aws_lb_listener_rule" "your_host_rule" { | ||
+ | listener_arn = local.your_https_listener_arn | ||
+ | priority = 401 | ||
+ | |||
+ | action { | ||
+ | type = "[[forward]]" | ||
+ | target_group_arn = aws_lb_target_group.your_tg.arn | ||
+ | } | ||
+ | |||
+ | condition { | ||
+ | [[host_header]] { | ||
+ | values = [var.yoururl] | ||
+ | } | ||
+ | } | ||
+ | |||
+ | == Attributes reference == | ||
* <code>[[arn_suffix]]</code> - ARN suffix for use with CloudWatch Metrics. | * <code>[[arn_suffix]]</code> - ARN suffix for use with CloudWatch Metrics. | ||
* <code>[[arn]]</code> - ARN of the [[Target Group]] (matches id). | * <code>[[arn]]</code> - ARN of the [[Target Group]] (matches id). | ||
Line 11: | Line 40: | ||
* <code>[[type]]</code>: The type of sticky sessions. The only current possible values are <code>lb_cookie</code>, <code>app_cookie</code> for ALBs, and <code>[[source_ip]]</code> for [[NLB]]s. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#type | * <code>[[type]]</code>: The type of sticky sessions. The only current possible values are <code>lb_cookie</code>, <code>app_cookie</code> for ALBs, and <code>[[source_ip]]</code> for [[NLB]]s. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#type | ||
* <code>[[fixed_response]]</code> https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_rule#fixed_response | * <code>[[fixed_response]]</code> https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_rule#fixed_response | ||
− | * <code>[[target_type]]</code>: <code>[[instance]]</code>, <code>[[ip]]</code> https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#target_type | + | * <code>[[target_type]]</code>: <code>[[instance]]</code> (default), <code>[[ip]]</code> https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#target_type |
* <code>[[vpc_id]]</code> | * <code>[[vpc_id]]</code> | ||
+ | * <code>[[protocol]]</code>:<ref>https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol</ref> [[GENEVE]], HTTP, HTTPS, TCP, [[TCP_UDP]], TLS, or UDP | ||
+ | * <code>[[protocol_version]]</code> (optional): [[HTTP1]] (default), [[GRPC]], [[HTTP2]] <ref>https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol_version</ref> | ||
+ | * <code>[[health_check]]</code><ref>https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#health_check</ref> | ||
== Example Instance Target Group == | == Example Instance Target Group == | ||
Line 18: | Line 50: | ||
name = "tf-example-lb-tg" | name = "tf-example-lb-tg" | ||
port = 80 | port = 80 | ||
− | protocol = "HTTP" | + | [[protocol]] = "HTTP" |
[[vpc_id]] = [[aws_vpc]].main.id | [[vpc_id]] = [[aws_vpc]].main.id | ||
} | } | ||
Line 28: | Line 60: | ||
== Related terms == | == Related terms == | ||
* <code>[[target_group_arn]]</code> | * <code>[[target_group_arn]]</code> | ||
+ | * <code>[[aws_lb_listener_rule]]</code> | ||
+ | * <code>[[draining]]</code> | ||
+ | * <code>[[aws_lb]]</code> | ||
+ | * <code>[[ResourceInUse]]</code> | ||
== See also == | == See also == | ||
* {{aws_lb_target_group}} | * {{aws_lb_target_group}} | ||
− | * {{ | + | * {{tf lb}} |
− | + | ||
− | |||
[[Category:Terraform]] | [[Category:Terraform]] |
Latest revision as of 06:19, 31 May 2023
- Terraform resource:
aws_lb_target_group
[1]
Contents
Examples[edit]
IP Target Group official example[edit]
resource "aws_lb_target_group" "ip-example" { name = "tf-example-lb-tg" port = 80 protocol = "HTTP" target_type = "ip" vpc_id = aws_vpc.main.id } resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" }
host_header based forward[edit]
resource "aws_lb_listener_rule" "your_host_rule" { listener_arn = local.your_https_listener_arn priority = 401 action { type = "forward" target_group_arn = aws_lb_target_group.your_tg.arn } condition { host_header { values = [var.yoururl] } }
Attributes reference[edit]
arn_suffix
- ARN suffix for use with CloudWatch Metrics.arn
- ARN of the Target Group (matches id).id
- ARN of the Target Group (matches arn).name
- Name of the Target Group.tags_all
- A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.type
: The type of sticky sessions. The only current possible values arelb_cookie
,app_cookie
for ALBs, andsource_ip
for NLBs. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#typefixed_response
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_rule#fixed_responsetarget_type
:instance
(default),ip
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#target_typevpc_id
protocol
:[2] GENEVE, HTTP, HTTPS, TCP, TCP_UDP, TLS, or UDPprotocol_version
(optional): HTTP1 (default), GRPC, HTTP2 [3]health_check
[4]
Example Instance Target Group[edit]
resource "aws_lb_target_group" "test" { name = "tf-example-lb-tg" port = 80 protocol = "HTTP" vpc_id = aws_vpc.main.id } resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" }
Related terms[edit]
See also[edit]
- Terraform AWS provider:
aws_lb_target_group
,target_group_arn
,aws lb target group - fixed response
- Terraform LB:
aws_lb
:aws_lb_listener
,aws_lb_listener_certificate
,aws_lb_listener_rule
,aws_lb_target_group
,aws_lb_target_group_attachment
,load_balancer_type
,aws lb listener: default action
,aws load balancer policy
Advertising: