77 lines
2.3 KiB
HCL
77 lines
2.3 KiB
HCL
resource "random_pet" "rg-name" {
|
|
prefix = var.resource_group_name_prefix
|
|
}
|
|
|
|
resource "azurerm_resource_group" "rg" {
|
|
name = random_pet.rg-name.id
|
|
location = var.resource_group_location
|
|
}
|
|
|
|
resource "random_id" "front_door_name" {
|
|
byte_length = 8
|
|
}
|
|
|
|
locals {
|
|
front_door_name = "afd-${lower(random_id.front_door_name.hex)}"
|
|
front_door_frontend_endpoint_name = "frontEndEndpoint"
|
|
front_door_load_balancing_settings_name = "loadBalancingSettings"
|
|
front_door_health_probe_settings_name = "healthProbeSettings"
|
|
front_door_routing_rule_name = "routingRule"
|
|
front_door_backend_pool_name = "backendPool"
|
|
}
|
|
|
|
resource "azurerm_frontdoor" "main" {
|
|
name = local.front_door_name
|
|
resource_group_name = azurerm_resource_group.rg.name
|
|
|
|
frontend_endpoint {
|
|
name = local.front_door_frontend_endpoint_name
|
|
host_name = "${local.front_door_name}.azurefd.net"
|
|
session_affinity_enabled = false
|
|
}
|
|
|
|
backend_pool_load_balancing {
|
|
name = local.front_door_load_balancing_settings_name
|
|
sample_size = 4
|
|
successful_samples_required = 2
|
|
}
|
|
|
|
backend_pool_health_probe {
|
|
name = local.front_door_health_probe_settings_name
|
|
path = "/"
|
|
protocol = "Http"
|
|
interval_in_seconds = 120
|
|
}
|
|
|
|
backend_pool {
|
|
name = local.front_door_backend_pool_name
|
|
backend {
|
|
host_header = var.backend_address
|
|
address = var.backend_address
|
|
http_port = 80
|
|
https_port = 443
|
|
weight = 50
|
|
priority = 1
|
|
}
|
|
|
|
load_balancing_name = local.front_door_load_balancing_settings_name
|
|
health_probe_name = local.front_door_health_probe_settings_name
|
|
}
|
|
|
|
backend_pool_settings {
|
|
backend_pools_send_receive_timeout_seconds = 0
|
|
enforce_backend_pools_certificate_name_check = false
|
|
}
|
|
|
|
routing_rule {
|
|
name = local.front_door_routing_rule_name
|
|
accepted_protocols = ["Http", "Https"]
|
|
patterns_to_match = ["/*"]
|
|
frontend_endpoints = [local.front_door_frontend_endpoint_name]
|
|
forwarding_configuration {
|
|
forwarding_protocol = "MatchRequest"
|
|
backend_pool_name = local.front_door_backend_pool_name
|
|
}
|
|
}
|
|
}
|