49 lines
1.9 KiB
HCL
49 lines
1.9 KiB
HCL
resource "oci_network_load_balancer_network_load_balancer" "short" {
|
|
compartment_id = oci_identity_compartment.ingress.id
|
|
display_name = "short"
|
|
subnet_id = oci_core_subnet.ingress.id
|
|
is_private = false
|
|
is_preserve_source_destination = false
|
|
network_security_group_ids = [oci_core_network_security_group.ingress.id]
|
|
}
|
|
|
|
resource "oci_network_load_balancer_backend_set" "web" {
|
|
for_each = toset(["80", "443"])
|
|
network_load_balancer_id = oci_network_load_balancer_network_load_balancer.short.id
|
|
name = "web-${each.key}"
|
|
policy = "FIVE_TUPLE"
|
|
is_preserve_source = false
|
|
health_checker {
|
|
protocol = "TCP"
|
|
port = tonumber(each.key)
|
|
interval_in_millis = 10000
|
|
timeout_in_millis = 3000
|
|
retries = 3
|
|
}
|
|
}
|
|
|
|
resource "oci_network_load_balancer_backend" "web" {
|
|
for_each = toset(["80", "443"])
|
|
network_load_balancer_id = oci_network_load_balancer_network_load_balancer.short.id
|
|
backend_set_name = oci_network_load_balancer_backend_set.web[each.key].name
|
|
ip_address = var.tunnel_address
|
|
port = tonumber(each.key)
|
|
name = "gateway-${each.key}"
|
|
}
|
|
|
|
resource "oci_network_load_balancer_listener" "web" {
|
|
for_each = toset(["80", "443"])
|
|
network_load_balancer_id = oci_network_load_balancer_network_load_balancer.short.id
|
|
name = "web-${each.key}"
|
|
default_backend_set_name = oci_network_load_balancer_backend_set.web[each.key].name
|
|
port = tonumber(each.key)
|
|
protocol = "TCP"
|
|
}
|
|
|
|
locals {
|
|
public_ip = one([for ip in oci_network_load_balancer_network_load_balancer.short.ip_addresses : ip.ip_address if ip.is_public])
|
|
}
|
|
|
|
output "public_ip" {
|
|
value = local.public_ip
|
|
}
|