Difference between revisions of "Terraform resource: aws lb target group"

From wikieduonline
Jump to navigation Jump to search
 
(39 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
* Terraform resource: <code>aws_lb_target_group</code> <ref>https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group</ref>
 
* Terraform resource: <code>aws_lb_target_group</code> <ref>https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group</ref>
 +
** https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group
  
===Attributes Reference===
+
== Examples ==
*<code>arn_suffix</code> - ARN suffix for use with CloudWatch Metrics.
+
=== IP Target Group official example ===
*<code>arn</code> - ARN of the Target Group (matches id).
+
resource "aws_lb_target_group" "ip-example" {
*<code>id</code> - ARN of the Target Group (matches arn).
+
  name        = "tf-example-lb-tg"
*<code>name</code> - Name of the Target Group.
+
  port        = 80
*<code>tags_all</code> - A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
+
  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]] ===
 +
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]
 +
    }
 +
  }
  
===Example Instance Target Group===
+
== Attributes reference ==
<pre>resource "aws_lb_target_group" "test" {
+
* <code>[[arn_suffix]]</code> - ARN suffix for use with CloudWatch Metrics.
  name     = "tf-example-lb-tg"
+
* <code>[[arn]]</code> - ARN of the [[Target Group]] (matches id).
  port    = 80
+
* <code>[[id]]</code> - ARN of the Target Group (matches arn).
  protocol = "HTTP"
+
* <code>[[name]]</code> - Name of the Target Group.
  vpc_id  = aws_vpc.main.id
+
* <code>[[tags_all]]</code> - A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
}
+
* <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>[[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>[[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>
  
resource "aws_vpc" "main" {
+
== Example Instance Target Group ==
  cidr_block = "10.0.0.0/16"
+
resource "aws_lb_target_group" "test" {
}
+
  name    = "tf-example-lb-tg"
</pre>
+
  port    = 80
 +
  [[protocol]] = "HTTP"
 +
  [[vpc_id]]  = [[aws_vpc]].main.id
 +
}
 +
 +
resource "aws_vpc" "main" {
 +
  cidr_block = "10.0.0.0/16"
 +
}
  
 
== 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}}
* {{terraform AWS}}
+
* {{tf lb}}
* {{terraform aws resources}}
+
 
* {{Terraform}}
 
  
 
[[Category:Terraform]]
 
[[Category:Terraform]]

Latest revision as of 06:19, 31 May 2023

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]

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]

  • 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
  • Advertising: