인프런 커뮤니티 질문&답변

쏭쏭님의 프로필 이미지
쏭쏭

작성한 질문수

스스로 구축하는 AWS 클라우드 인프라 with 테라폼(Terraform) - 기본편

Listener 구성

Error: Reference to undeclared resource

작성

·

622

0

listener 구성할 때  미리 ELB를 만들지 않은 상태에서  "aws_lb_listener" 을 tf에 추가하여 plan을 하면  "Reference to undeclared resource" 오류가 발생합니다.

ELB 를 terraform으로  일괄 생성할 수 있도록 하려면, 어떻게 해야하는 지 알고 싶습니다.

dependency 관련 설정이 필요해보이는데 도움 부탁드립니다

resource "aws_lb_listener" "front_end" {
  load_balancer_arn = aws_lb.test.arn
  port              = "80"
  protocol          = "HTTP"
  #ssl_policy        = "ELBSecurityPolicy-2016-08"
  #certificate_arn   = "arn:aws:iam::187416307283:server-certificate/test_cert_rab3wuqwgja25ct3n4jdj2tzu4"

  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.test.arn
  }
}

Error: Reference to undeclared resource

 

업데이트

depend_on 해봤는데  안되고,  아래와 같이 변경하니 되긴 하네요.

  #load_balancer_arn = aws_lb.test-lb.arn
  load_balancer_arn = "${aws_lb.test-lb.arn}"
 

 

 

 

 

답변 1

0

안녕하세요. 쏭쏭님

이 강의에서 Terraform 을 이용한 ALB 생성 실습에서 생성되는 Resource 의 순서는 아래와 같습니다.

1. resource "aws_lb" "test"

2. resource "aws_lb_target_group" "test"

3. resource "aws_lb_listener" "test"

4. resource "aws_lb_target_group_attachment" "test-2a"

이 4개 Resource 를 생성해야 ALB 가 생성되어 로드밸런서로 사용이 가능하도록 되어 있습니다.

 

질문하신 내용의 코드중에 listener 에서 default_action 에서 target_group_arn 을 넣게 되어 있습니다.


  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.test.arn
}

그래서 target_group 생성이 필요한 부분도 있습니다. 그래서 listener 생성 전에 target group 을 생성하는 순서를 가져갔습니다. 

감사합니다.

쏭쏭님의 프로필 이미지
쏭쏭

작성한 질문수

질문하기