Load Balancer
See below for an example of a load balancer configuration. Tags are used to identify the resources that will be added to the load balancer's backend address pool.
Load Balancer Variables Example
load_balancer = {
PKIaaS - LB = {
resource_group = "PKIaaS_Ansible"
frontend_ip_configuration = {
pkiaas_fe_ip = {
public_ip_address = "pkiaas_public_ip"
}
}
rules = {
route - 443 - 8443 = {
frontend_port = 443
backend_port = 8443
probe = "HTTP"
frontend_ip_configuration_name = "pkiaas_fe_ip"
backend_address_pools = [ "pkiaas-backend" ]
},
route - 4433 - 4433 = {
frontend_port = 4433
backend_port = 4433
probe = "HTTP"
frontend_ip_configuration_name = "pkiaas_fe_ip"
backend_address_pools = [ "pkiaas-backend" ]
},
route - 80 - 8080 = {
frontend_port = 80
backend_port = 8080
probe = "HTTP"
frontend_ip_configuration_name = "pkiaas_fe_ip"
backend_address_pools = [ "pkiaas-backend" ]
},
route - dns = {
frontend_port = 53
backend_port = 55
protocol = "Udp"
probe = "HTTP"
frontend_ip_configuration_name = "pkiaas_fe_ip"
backend_address_pools = [ "pkiaas-backend" ]
}
}
probes = {
HTTP = {
protocol = "Https"
port = 8443
request_path = "/"
},
SSH = {
Protocol = "Tcp"
port = 22
}
}
nat_rules = {
ssh = {
frontend_port_start = 22
frontend_port_end = 22
backend_port = 22
backend_address_pool = "pkiaasdockera"
frontend_ip_configuration_name = "pkiaas_fe_ip"
},
prometheus_a = {
frontend_port_start = 9100
frontend_port_end = 9100
backend_port = 9100
backend_address_pool = "pkiaasdockera"
frontend_ip_configuration_name = "pkiaas_fe_ip"
},
prometheus_b = {
frontend_port_start = 9101
frontend_port_end = 9101
backend_port = 9100
backend_address_pool = "pkiaasdockerb"
frontend_ip_configuration_name = "pkiaas_fe_ip"
}
}
outbound_rules = {
internet - only = {
backend_address_pool = "internet-only"
frontend_ip_configuration = [
{
name = "pkiaas_fe_ip"
}
]
}
}
backend_address_pool = {
internet - only = {
target = {
vm_tag = {
key = "internet-only-backend"
value = "true"
}
}
},
pkiaas - backend = {
target = {
vm_tag = {
key = "pkiaas-backend"
value = "true"
}
}
},
pkiaasdockera = {
target = {
vm_tag = {
key = "pkiaasdockera-backend"
value = "true"
}
}
},
pkiaasdockerb = {
target = {
vm_tag = {
key = "pkiaasdockerb-backend"
value = "true"
}
}
}
}
}
}
linux_vms = {
pkiaasdockera = {
names = [
"pkiaasdockera"
]
size = "Standard_B1ms"
resource_group = "PKIaaS_Ansible"
nics = {
primary = {
accelerated_networking_enabled = false
ip_configuration = [{
subnet = "PKIaaS.app"
}]
}
}
source_image_reference = {
publisher = "canonical"
offer = "ubuntu-24_04-lts"
sku = "server"
version = "latest"
}
tags = {
internet - only - backend = "true"
pkiaasdockera - backend = "true"
pkiaas - backend = "true"
}
}
pkiaasdockerb = {
names = [
"pkiaasdockera"
]
size = "Standard_B1ms"
resource_group = "PKIaaS_Ansible"
nics = {
primary = {
accelerated_networking_enabled = false
ip_configuration = [{
subnet = "PKIaaS.app"
}]
}
}
source_image_reference = {
publisher = "canonical"
offer = "ubuntu-24_04-lts"
sku = "server"
version = "latest"
}
tags = {
internet - only - backend = "true"
pkiaasdockerb - backend = "true"
pkiaas - backend = "true"
}
}
}