공식문서를 참고한는 것이 제일 좋다!

Target Group 생성하기

ELB 생성하기

resource "aws_lb" "prod_alb_front" {
    name                = "prod-alb-front"
    internal            = false
    load_balancer_type  = "application"
    security_groups     = [aws_security_group.prod_alb_sg.id]
    subnets             = [
				aws_subnet.public_subnet_a.id, 
				aws_subnet.public_subnet_c.id
		]

    tags = {
        Environment = "prod"
    }
}

리스너 및 ACM 연결

로드밸런서에 리스너를 연결한다.

resource "aws_lb_listener" "prod_alb_matomo_listener_HTTPS" {
    load_balancer_arn   = aws_lb.prod_alb_matomo.arn
    port                = "443"
    protocol            = "HTTPS"
    ssl_policy          = <SSL Policy>
    certificate_arn     = <acm_arn>

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

Route53 생성하기

보통 도메인과 로드 밸런서를 연결한다.

resource "aws_route53_record" "main" {
    zone_id = <zone_id>
    name    = "test.pikurate.com"
    type    = "A"

    alias {
        name                   = aws_lb.prod_alb_front.dns_name
        zone_id                = aws_lb.prod_alb_front.zone_id
        evaluate_target_health = true
    }
}