클라우드/GCP 자원 테라폼으로 관리해보기
(10) LoadBalancer 구성
Fanic
2024. 6. 9. 02:35
반응형
ALB 구성 테스트
간단하게 테스트를 하기 위해 rocky 8 에 nginx를 설치하였다.
코드 수정 예정 (임시)
alb.tf
module "nginx_alb" {
source = "./modules/alb"
instance_name = module.jenkins_instance.google_compute_instance_id
}
모듈
1) main.tf
resource "google_compute_backend_service" "backend_service" {
name = "nginx-backend"
health_checks = [google_compute_health_check.http_health_check.self_link]
enable_cdn = false
protocol = "HTTP"
timeout_sec = 10
port_name = "http"
project = "pjt-an3-dev-vm-2"
backend {
group = google_compute_instance_group.instance_group.self_link
}
}
resource "google_compute_instance_group" "instance_group" {
name = "ig-nginx"
description = "ig-nginx"
zone = "asia-northeast3-a"
project = "pjt-an3-dev-vm-2"
instances = [
var.instance_name
]
#size = 1
named_port {
name = "http"
port = 80
}
}
resource "google_compute_health_check" "http_health_check" {
name = "nginx-health"
project = "pjt-an3-dev-vm-2"
check_interval_sec = 5
timeout_sec = 5
http_health_check {
request_path = "/"
}
}
resource "google_compute_url_map" "url_map" {
name = "nginx-url-map"
default_service = google_compute_backend_service.backend_service.self_link
project = "pjt-an3-dev-vm-2"
}
resource "google_compute_target_http_proxy" "http_proxy" {
name = "nginx-target-http-proxy"
project = "pjt-an3-dev-vm-2"
url_map = google_compute_url_map.url_map.self_link
}
resource "google_compute_global_forwarding_rule" "forwarding_rule" {
name = "nginx-forwarding-rule"
target = google_compute_target_http_proxy.http_proxy.self_link
port_range = "80"
load_balancing_scheme = "EXTERNAL"
project = "pjt-an3-dev-vm-2"
}
2) variables.tf
variable "instance_name" {
description = "인스턴스 이름"
type = string
}
GCP 콘솔 확인
ALB IP로 nginx 접속 확인
반응형