首先,确保您正确配置了AWS Network Load Balancer。您应该有一个外部负载均衡器,可以访问您的EC2实例,并将流量分配给它们。
该配置可以在Terraform中实现。下面是一个示例:
resource "aws_lb" "example" { name = "example" internal = false load_balancer_type = "network"
subnet_mappings { subnet_id = aws_subnet.example1.id }
subnet_mappings { subnet_id = aws_subnet.example2.id }
tags = { Environment = "example" } }
接下来,确保EC2实例可用并且已启动。您可以通过在Terraform中为每个实例提供以下资源来配置它们:
resource "aws_instance" "example" { ami = "ami-0323c3dd2da7fb37d" instance_type = "t2.micro" key_name = "example"
tags = { Name = "example" } }
然后,向负载均衡器注册EC2实例。您可以通过在Terraform中为AWS负载均衡器提供以下资源来完成此操作:
resource "aws_lb_target_group" "example" { name_prefix = "example-"
port = var.port protocol = "TCP"
target_type = "instance" }
resource "aws_lb_target_group_attachment" "example_attachment" { target_group_arn = aws_lb_target_group.example.arn target_id = aws_instance.example.id port = var.port }
在此示例中,注册了一个名为“example”的EC2实例,并将其添加到名为“example”的目标组中。