feat: add Warm Spare (HA) with VIP for MX appliances

Configura meraki_appliance_warm_spare con VIP flotante en WAN1:
  - Spare: BCN01-F04-MX02 (serial resuelto por nombre)
  - Uplink mode: virtual
  - VIP WAN1: 213.229.159.148

La IP de salida del tráfico será siempre la VIP (.148),
independientemente de qué MX esté activo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jose Martinez
2026-03-26 20:59:20 +01:00
co-authored by Claude Sonnet 4.6
parent 5d0f043503
commit 4a2eeb6c17
5 changed files with 47 additions and 2 deletions
+1
View File
@@ -37,5 +37,6 @@ module "bcn01_lab" {
stack_routing_interfaces = var.stack_routing_interfaces
appliance_ports = var.appliance_ports
mx_wan_uplinks = var.mx_wan_uplinks
mx_warm_spare = var.mx_warm_spare
wifi_password_psk = var.wifi_password_psk
}
+11
View File
@@ -184,6 +184,17 @@ variable "appliance_ports" {
description = "Configuración de puertos LAN del firewall MX."
}
variable "mx_warm_spare" {
type = object({
enabled = optional(bool, true)
spare_name = string
uplink_mode = optional(string, "virtual")
virtual_ip1 = optional(string, null)
})
default = null
description = "Configuración Warm Spare (HA) del MX."
}
variable "mx_wan_uplinks" {
type = list(object({
name = string # Nombre del dispositivo en el Dashboard
+12 -2
View File
@@ -1,10 +1,20 @@
# Configuración WAN1 estática de los firewalls MX
# El nombre debe coincidir exactamente con el nombre del dispositivo en el Dashboard
# Dashboard > Security & SD-WAN > Appliance > nombre del dispositivo
# Warm Spare (HA): VIP flotante entre primary y spare
# La IP de salida del tráfico será siempre la VIP
mx_warm_spare = {
enabled = true
spare_name = "BCN01-F04-MX02"
uplink_mode = "virtual"
virtual_ip1 = "213.229.159.148" # VIP WAN1
}
mx_wan_uplinks = [
{
# MX Primary
name = "eqt-lab-fw01-mx01" # TODO: ajustar al nombre real en el Dashboard
name = "BCN01-F04-MX01" # TODO: ajustar al nombre real en el Dashboard
interfaces_wan1_enabled = true
wan1_static_ip = "213.229.159.145"
wan1_static_subnet_mask = "255.255.255.240" # /28
@@ -13,7 +23,7 @@ mx_wan_uplinks = [
},
{
# MX Spare (Warm Spare / HA)
name = "eqt-lab-fw01-mx02" # TODO: ajustar al nombre real en el Dashboard
name = "BCN01-F04-MX02" # TODO: ajustar al nombre real en el Dashboard
interfaces_wan1_enabled = true
wan1_static_ip = "213.229.159.146"
wan1_static_subnet_mask = "255.255.255.240" # /28