我有一个 Terraform 脚本,它创建一个启动配置、自动缩放组、单个ALB、一个目标组和一个监听器。实例是使用自动缩放组启动的。
如何在同一个脚本中通过Terraform将新启动的实例添加到目标组中?
resource "aws_launch_configuration" "CF2TF-LC" {
name = "CF2TF-LC"
depends_on = ["aws_iam_role_policy_attachment.CF2TF-IAM-PA", "aws_security_group.CF2TF-SG-Web"]
image_id = "ami-14c5486b"
instance_type = "t2.micro"
iam_instance_profile = "${aws_iam_instance_profile.CF2TF-IAM-IP.id}"
key_name = "CF2TF"
security_groups = ["${aws_security_group.CF2TF-SG-Web.id}"]
user_data = "${template_file.CF2TF-UserData.rendered}"
}
resource "aws_autoscaling_group" "CF2TF-ASG" {
name = "CF2TF-ASG"
depends_on = ["aws_launch_configuration.CF2TF-LC"]
vpc_zone_identifier = ["${aws_subnet.CF2TF-Subnet-1a.id}", "${aws_subnet.CF2TF-Subnet-1d.id}"]
max_size = 3
min_size = 2
health_check_grace_period = 300
health_check_type = "EC2"
desired_capacity = 2
force_delete = true
launch_configuration = "${aws_launch_configuration.CF2TF-LC.id}"
}
resource "aws_lb" "CF2TF-ALB" {
name = "CF2TF-ALB"
subnets = ["${aws_subnet.CF2TF-Subnet-1a.id}", "${aws_subnet.CF2TF-Subnet-1d.id}"]
internal = false
load_balancer_type = "application"
security_groups = ["${aws_security_group.CF2TF-SG-Web.id}"]
tags {
Name = "WebSrv"
Environment = "Dev"
}
}
resource "aws_lb_target_group" "CF2TF-TargetGroup" {
name = "CF2TF-TargetGroup"
depends_on = ["aws_vpc.CF2TF-VPC"]
port = 80
protocol = "HTTP"
vpc_id = "${aws_vpc.CF2TF-VPC.id}"
target_type = "instance"
health_check {
interval = 30
path = "/index.html"
port = 80
healthy_threshold = 5
unhealthy_threshold = 2
timeout = 5
protocol = "HTTP"
matcher = "200,202"
}
}
resource "aws_lb_listener" "CF2TF-ALB-Listener" {
//depends_on = ["aws_lb.CF2TF-ALB.id", "aws_lb_target_group.CF2TF-TargetGroup.id"]
load_balancer_arn = "${aws_lb.CF2TF-ALB.arn}"
port = "80"
protocol = "HTTP"
default_action {
target_group_arn = "${aws_lb_target_group.CF2TF-TargetGroup.arn}"
type = "forward"
}
}