본문 바로가기

퍼블릭 클라우드

[Terraform] 테라폼 ALB 대상 그룹 등록

반응형

ALB(Application Load Balancer) 대상 그룹 등록

EC2 모듈

ec2.tf 편집

$ vim ec2.tf
...
output "server_id" {
  value = join(", ", aws_instance.instance.*.id)
}

ALB 모듈

alb.tf 편집

$ vim abl.tf
...
resource "aws_alb_target_group_attachment" "attachment" {
    count = 2
    target_group_arn = aws_alb_target_group.targetgroup.arn
    target_id = element(split(",", var.server_id), count.index)
    port = 80
}

메인 모듈

main.tf 편집

$ vim main.tf
module "tf_alb_web01" {
    source = "../../../module/lb/alb/"
    vpc_id = module.vpc.out_aws_vpc_id
    server_id  = module.ec2-web.server_id
    subnets = ["subnet-0381d3", "subnet-00be79"]
    security_groups = ["sg-0f7ad0"]
}

AWS 웹 콘솔 화면

***Registered targets 하나만 등록이 됩니다.

Registered targets에 여러 개 등록하기

alb.tf 편집

$ vim alb.tf
data "aws_instances" "instances" {
    instance_tags= {
        Group = "group-web"
    }
}

###ALB 대상 등록
resource "aws_alb_target_group_attachment" "attachment" {
    count = 2
    target_group_arn = aws_alb_target_group.targetgroup.arn
    target_id = data.aws_instances.instances.ids[count.index]
    port = 80
}

 

 

728x90
반응형