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

From wikieduonline
Jump to navigation Jump to search
 
(35 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 Reference ==
+
=== 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).
 
* <code>[[id]]</code> - ARN of the Target Group (matches arn).
 
* <code>[[id]]</code> - ARN of the Target Group (matches arn).
 
* <code>[[name]]</code> - Name of the Target Group.
 
* <code>[[name]]</code> - Name of the Target Group.
 
* <code>[[tags_all]]</code> - A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
 
* <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> 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>
+
* <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>
===Example Instance Target Group===
+
* <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
<pre>resource "aws_lb_target_group" "test" {
+
* <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>
  name    = "tf-example-lb-tg"
+
* <code>[[health_check]]</code><ref>https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#health_check</ref>
  port    = 80
 
  protocol = "HTTP"
 
  vpc_id  = aws_vpc.main.id
 
}
 
  
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: