Major Improvemnts

This commit is contained in:
Guilherme Silva
2026-09-01 18:28:09 -03:00
parent d16ddace1f
commit 4a3c0a8f72
5 changed files with 184 additions and 173 deletions

View File

@@ -13,7 +13,9 @@ resource "oci_load_balancer_load_balancer" "sei_load_balancer_public" {
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_backend_set" "backend_set_sei_servers" {
#Backend HTTP
resource "oci_load_balancer_backend_set" "backend_set_sei_servers_http" {
count = !var.load_balancer_enable_https ? 1 : 0
health_checker {
protocol = "HTTP"
interval_ms = "10000"
@@ -24,14 +26,15 @@ resource "oci_load_balancer_backend_set" "backend_set_sei_servers" {
url_path = "/"
}
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "bs-sei-servers"
name = "bs-sei-servers-http-${var.environment}"
policy = "IP_HASH"
session_persistence_configuration {
cookie_name = "PHPSESSID-SEI"
}
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_backend_set" "backend_set_sip_servers" {
resource "oci_load_balancer_backend_set" "backend_set_sip_servers_http" {
count = !var.load_balancer_enable_https ? 1 : 0
health_checker {
protocol = "HTTP"
interval_ms = "10000"
@@ -42,14 +45,15 @@ resource "oci_load_balancer_backend_set" "backend_set_sip_servers" {
url_path = "/"
}
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "bs-sip-servers"
name = "bs-sip-servers-http-${var.environment}"
policy = "IP_HASH"
session_persistence_configuration {
cookie_name = "PHPSESSID-SIP"
}
}
resource "oci_load_balancer_backend_set" "backend_set_solr_servers" {
resource "oci_load_balancer_backend_set" "backend_set_solr_servers_http" {
count = !var.load_balancer_enable_https ? 1 : 0
health_checker {
protocol = "HTTP"
interval_ms = "10000"
@@ -60,79 +64,210 @@ resource "oci_load_balancer_backend_set" "backend_set_solr_servers" {
url_path = "/solr"
}
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "bs-solr-servers"
name = "bs-solr-servers-http-${var.environment}"
policy = "IP_HASH"
}
#Backend HTTPS
resource "oci_load_balancer_backend_set" "backend_set_sei_servers_https" {
count = var.load_balancer_enable_https ? 1 : 0
health_checker {
protocol = "HTTP"
interval_ms = "10000"
port = "443"
retries = "3"
return_code = "302"
timeout_in_millis = "3000"
url_path = "/"
}
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "bs-sei-servers-https-${var.environment}"
policy = "IP_HASH"
session_persistence_configuration {
cookie_name = "PHPSESSID-SEI"
}
ssl_configuration {
cipher_suite_name = "oci-tls-12-13-ssl-cipher-suite-v3"
protocols = [ "TLSv1.2", "TLSv1.3" ]
trusted_certificate_authority_ids = [ var.load_balancer_certificate_bundle_ocid ]
verify_depth = 1
verify_peer_certificate = false
}
}
resource "oci_load_balancer_backend_set" "backend_set_sip_servers_https" {
count = var.load_balancer_enable_https ? 1 : 0
health_checker {
protocol = "HTTP"
interval_ms = "10000"
port = "443"
retries = "3"
return_code = "302"
timeout_in_millis = "3000"
url_path = "/"
}
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "bs-sip-servers-https-${var.environment}"
policy = "IP_HASH"
session_persistence_configuration {
cookie_name = "PHPSESSID-SIP"
}
ssl_configuration {
cipher_suite_name = "oci-tls-12-13-ssl-cipher-suite-v3"
protocols = [ "TLSv1.2", "TLSv1.3" ]
trusted_certificate_authority_ids = [ var.load_balancer_certificate_bundle_ocid ]
verify_depth = 1
verify_peer_certificate = false
}
}
resource "oci_load_balancer_backend_set" "backend_set_solr_servers_https" {
count = var.load_balancer_enable_https ? 1 : 0
health_checker {
protocol = "HTTP"
interval_ms = "10000"
port = "8983"
retries = "3"
return_code = "302"
timeout_in_millis = "3000"
url_path = "/solr"
}
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "bs-solr-servers-https-${var.environment}"
policy = "IP_HASH"
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_backend" "sip_servers" {
for_each = { for idx, inst in oci_core_instance.sip-instance : idx => inst }
backendset_name = oci_load_balancer_backend_set.backend_set_sip_servers.name
#Backends HTTP
resource "oci_load_balancer_backend" "sip_servers_http" {
for_each = !var.load_balancer_enable_https ? { for idx, inst in oci_core_instance.sip-instance : idx => inst } : {}
backendset_name = oci_load_balancer_backend_set.backend_set_sip_servers_http[0].name
ip_address = each.value.private_ip
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
port = "80"
}
resource "oci_load_balancer_backend" "sei_servers_http" {
for_each = !var.load_balancer_enable_https ? { for idx, inst in oci_core_instance.sei-instance : idx => inst } : {}
backendset_name = oci_load_balancer_backend_set.backend_set_sei_servers_http[0].name
ip_address = each.value.private_ip
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
port = "80"
}
resource "oci_load_balancer_backend" "solr_servers_http" {
for_each = !var.load_balancer_enable_https ? { for idx, inst in oci_core_instance.solr-instance : idx => inst } : {}
backendset_name = oci_load_balancer_backend_set.backend_set_solr_servers_http[0].name
ip_address = each.value.private_ip
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
port = "8983"
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_backend" "sei_servers" {
for_each = { for idx, inst in oci_core_instance.sei-instance : idx => inst }
backendset_name = oci_load_balancer_backend_set.backend_set_sei_servers.name
#Backends HTTPS
resource "oci_load_balancer_backend" "sip_servers_https" {
for_each = var.load_balancer_enable_https ? { for idx, inst in oci_core_instance.sip-instance : idx => inst } : {}
backendset_name = oci_load_balancer_backend_set.backend_set_sip_servers_https[0].name
ip_address = each.value.private_ip
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
port = 443
}
resource "oci_load_balancer_backend" "sei_servers_https" {
for_each = var.load_balancer_enable_https ? { for idx, inst in oci_core_instance.sei-instance : idx => inst } : {}
backendset_name = oci_load_balancer_backend_set.backend_set_sei_servers_https[0].name
ip_address = each.value.private_ip
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
port = "80"
port = "443"
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_backend" "solr_servers" {
for_each = { for idx, inst in oci_core_instance.solr-instance : idx => inst }
backendset_name = oci_load_balancer_backend_set.backend_set_solr_servers.name
resource "oci_load_balancer_backend" "solr_servers_https" {
for_each = var.load_balancer_enable_https ? { for idx, inst in oci_core_instance.solr-instance : idx => inst } : {}
backendset_name = oci_load_balancer_backend_set.backend_set_solr_servers_https[0].name
ip_address = each.value.private_ip
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
port = "8983"
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_listener" "lister_http_sei" {
default_backend_set_name = oci_load_balancer_backend_set.backend_set_sei_servers.name
# Listeners HTTP
resource "oci_load_balancer_listener" "lister_http_sei_http" {
count = !var.load_balancer_enable_https ? 1 : 0
default_backend_set_name = oci_load_balancer_backend_set.backend_set_sei_servers_http[0].name
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "listener-sei"
name = "listener-sei-http-${var.environment}"
port = "80"
protocol = "HTTP"
hostname_names = [ oci_load_balancer_hostname.sei_hostname.name ]
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_listener" "lister_http_sip" {
default_backend_set_name = oci_load_balancer_backend_set.backend_set_sip_servers.name
resource "oci_load_balancer_listener" "lister_http_sip_http" {
count = !var.load_balancer_enable_https ? 1 : 0
default_backend_set_name = oci_load_balancer_backend_set.backend_set_sip_servers_http[0].name
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "listener-sip"
name = "listener-sip-http-${var.environment}"
port = "80"
protocol = "HTTP"
hostname_names = [ oci_load_balancer_hostname.sip_hostname.name ]
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_listener" "lister_solr" {
default_backend_set_name = oci_load_balancer_backend_set.backend_set_solr_servers.name
resource "oci_load_balancer_listener" "lister_solr_http" {
count = !var.load_balancer_enable_https ? 1 : 0
default_backend_set_name = oci_load_balancer_backend_set.backend_set_solr_servers_http[0].name
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "listener-solr"
name = "listener-solr-http-${var.environment}"
port = "8983"
protocol = "HTTP"
hostname_names = [ oci_load_balancer_hostname.solr_hostname.name ]
}
# Listeners HTTPs
resource "oci_load_balancer_listener" "lister_sei_https" {
count = var.load_balancer_enable_https ? 1 : 0
default_backend_set_name = oci_load_balancer_backend_set.backend_set_sei_servers_https[0].name
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "listener-sei-https-${var.environment}"
port = "443"
protocol = "HTTP"
hostname_names = [ oci_load_balancer_hostname.sei_hostname.name ]
ssl_configuration {
certificate_ids = [ var.load_balancer_certificate_ocid ]
protocols = [ "TLSv1.2", "TLSv1.3" ]
cipher_suite_name = "oci-tls-12-13-ssl-cipher-suite-v3"
verify_peer_certificate = "false"
verify_depth = "1"
}
rule_set_names = [ oci_load_balancer_rule_set.redirectHttpToHttps[0].name ]
}
resource "oci_load_balancer_listener" "lister_sip_https" {
count = var.load_balancer_enable_https ? 1 : 0
default_backend_set_name = oci_load_balancer_backend_set.backend_set_sip_servers_https[0].name
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "listener-sip-https-${var.environment}"
port = "443"
protocol = "HTTP"
hostname_names = [ oci_load_balancer_hostname.sip_hostname.name ]
ssl_configuration {
certificate_ids = [ var.load_balancer_certificate_ocid ]
protocols = [ "TLSv1.2", "TLSv1.3" ]
cipher_suite_name = "oci-tls-12-13-ssl-cipher-suite-v3"
verify_peer_certificate = "false"
verify_depth = "1"
}
rule_set_names = [ oci_load_balancer_rule_set.redirectHttpToHttps[0].name ]
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_load_balancer_hostname" "sei_hostname" {
hostname = var.sei_fqdn
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "sei-fqdn"
name = "sei-fqdn-${var.environment}"
}
resource "oci_load_balancer_hostname" "sip_hostname" {
hostname = var.sip_fqdn
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "sip-fqdn"
name = "sip-fqdn-${var.environment}"
}
resource "oci_load_balancer_hostname" "solr_hostname" {
hostname = var.solr_fqdn
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
name = "solr-fqdn"
name = "solr-fqdn-${var.environment}"
}
#------------------------------------------------------------------------------------------------------------------------------------------------
resource "oci_logging_log" "lb_access_log" {
@@ -169,50 +304,13 @@ resource "oci_logging_log" "lb_error_log" {
retention_duration = 30
}
# resource "oci_load_balancer_listener" "lister_sei_https" {
# default_backend_set_name = oci_load_balancer_backend_set.backend_set_sei_apps.name
# load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
# name = "listener-sei-https"
# port = "443"
# protocol = "HTTP"
# hostname_names = [ oci_load_balancer_hostname.sei_hostname.name ]
# ssl_configuration {
# certificate_ids = [ "ocid1.certificate.oc1.sa-saopaulo-1.amaaaaaaz63sg4iagucp6pedtfwbxd3oxud5ds7atsgsf2a6lwi6c5nnv7va" ]
# protocols = [ "TLSv1.2", "TLSv1.3" ]
# cipher_suite_name = "oci-default-ssl-cipher-suite-v1"
# verify_peer_certificate = "false"
# verify_depth = "1"
# }
# rule_set_names = [ oci_load_balancer_rule_set.redirectHttpToHttps.name ]
# }
#
# resource "oci_load_balancer_listener" "lister_sip_https" {
# default_backend_set_name = oci_load_balancer_backend_set.backend_set_sip_apps.name
# load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id
# name = "listener-sip-https"
# port = "443"
# protocol = "HTTP"
# hostname_names = [ oci_load_balancer_hostname.sip_hostname.name ]
# ssl_configuration {
# certificate_ids = [ "ocid1.certificate.oc1.sa-saopaulo-1.amaaaaaaz63sg4iagucp6pedtfwbxd3oxud5ds7atsgsf2a6lwi6c5nnv7va" ]
# protocols = [ "TLSv1.2", "TLSv1.3" ]
# cipher_suite_name = "oci-default-ssl-cipher-suite-v1"
# verify_peer_certificate = "false"
# verify_depth = "1"
# }
# }
##-----
resource "oci_load_balancer_rule_set" "redirectHttpToHttps" {
count = var.load_balancer_enable_https == "true" ? 1 : 0
count = var.load_balancer_enable_https ? 1 : 0
items {
action = "REDIRECT"
conditions {
#Required
attribute_name = "PATH"
attribute_value = "/"
#Optional
operator = "FORCE_LONGEST_PREFIX_MATCH"
}
redirect_uri {
@@ -222,7 +320,6 @@ resource "oci_load_balancer_rule_set" "redirectHttpToHttps" {
path = "/{path}"
query = "?{query}"
}
response_code = 302
}
load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id