resource "oci_load_balancer_load_balancer" "sei_load_balancer_public" { compartment_id = var.ocid_compartment_networking display_name = "${var.load_balancer_prefix_hostname}-${var.environment}-public" shape = "flexible" subnet_ids = [ var.ocid_subnet_public ] is_delete_protection_enabled = "false" is_private = "false" network_security_group_ids = [ oci_core_network_security_group.load-balancer-public-nsg.id ] shape_details { maximum_bandwidth_in_mbps = var.load_balancer_maximum_bandwidth_in_mbps minimum_bandwidth_in_mbps = var.load_balancer_minimum_bandwidth_in_mbps } } #------------------------------------------------------------------------------------------------------------------------------------------------ resource "oci_load_balancer_backend_set" "backend_set_sei_servers" { health_checker { protocol = "HTTP" interval_ms = "10000" port = "80" 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" policy = "IP_HASH" session_persistence_configuration { cookie_name = "PHPSESSID-SEI" } } #------------------------------------------------------------------------------------------------------------------------------------------------ resource "oci_load_balancer_backend_set" "backend_set_sip_servers" { health_checker { protocol = "HTTP" interval_ms = "10000" port = "80" 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" policy = "IP_HASH" session_persistence_configuration { cookie_name = "PHPSESSID-SIP" } } resource "oci_load_balancer_backend_set" "backend_set_solr_servers" { 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" 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 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" { 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 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" { 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 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 load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id name = "listener-sei" 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 load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id name = "listener-sip" 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 load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id name = "listener-solr" port = "8983" protocol = "HTTP" hostname_names = [ oci_load_balancer_hostname.solr_hostname.name ] } #------------------------------------------------------------------------------------------------------------------------------------------------ # AQUI #------------------------------------------------------------------------------------------------------------------------------------------------ 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" } 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" } 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" } #------------------------------------------------------------------------------------------------------------------------------------------------ resource "oci_logging_log" "lb_access_log" { display_name = "${oci_load_balancer_load_balancer.sei_load_balancer_public.display_name}-access-log" log_group_id = oci_logging_log_group.sei_log_group.id log_type = "SERVICE" configuration { source { source_type = "OCISERVICE" service = "loadbalancer" resource = oci_load_balancer_load_balancer.sei_load_balancer_public.id category = "access" } compartment_id = var.ocid_compartment_networking } is_enabled = true retention_duration = 30 } resource "oci_logging_log" "lb_error_log" { display_name = "${oci_load_balancer_load_balancer.sei_load_balancer_public.display_name}-error-log" log_group_id = oci_logging_log_group.sei_log_group.id log_type = "SERVICE" configuration { source { source_type = "OCISERVICE" service = "loadbalancer" resource = oci_load_balancer_load_balancer.sei_load_balancer_public.id category = "error" } compartment_id = var.ocid_compartment_networking } is_enabled = true 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_load_balancer_routing_policy" "sei_routing_policy" { # condition_language_version = "V1" # load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id # name = "RedirectHttpToHTTPs" # rules { # #Required # actions { # #Required # backend_set_name = oci_load_balancer_backend_set.backend_set_sei_apps.name # name = "FORWARD_TO_BACKENDSET" # } # condition = "any(http.request.url.path sw '/SIP')" # name = "SIP_SERVER" # } #} # # #resource "oci_load_balancer_rule_set" "redirectHttpToHttps" { # items { # action = "REDIRECT" # conditions { # #Required # attribute_name = "PATH" # attribute_value = "/" # # #Optional # operator = "FORCE_LONGEST_PREFIX_MATCH" # } # redirect_uri { # protocol = "HTTPS" # host = "{host}" # port = 443 # path = "/{path}" # query = "?{query}" # } # # response_code = 302 # } # load_balancer_id = oci_load_balancer_load_balancer.sei_load_balancer_public.id # name = "redirect_http_to_https" #}