output "firewalls" { description = "EIP de gestion de cada VM-Series y la IP de datos registrada en el target group." value = { for k in keys(local.subnets) : k => { mgmt_eip = aws_eip.fw_mgmt[k].public_ip data_ip = aws_network_interface.fw_data[k].private_ip } } } output "app_servers" { description = "Workloads. Sin IP publica: se prueban desde el home lab por el tunel." value = { for k, v in aws_instance.app : k => v.private_ip } } output "gwlb_endpoints" { value = { for k, v in aws_vpc_endpoint.gwlbe : k => v.id } } output "target_group_arn" { description = "Para vigilar el estado con: aws elbv2 describe-target-health --target-group-arn ..." value = aws_lb_target_group.fw.arn } # --- Datos para armar el tunel en el PA-410 --------------------------------- # inside_local / inside_remote salen de los atributos que devuelve AWS, no de # cidrhost(). AWS asigna el PRIMER host del /30 al VGW y el segundo al customer # gateway; calcularlo a mano invita a dejarlo al reves, que es justo lo que # paso antes: el PA quedaba con la .1 (que es del VGW) y peereaba contra la .2. output "pa440_tunnel1" { value = { aws_peer_ip = aws_vpn_connection.s2s.tunnel1_address inside_local = aws_vpn_connection.s2s.tunnel1_cgw_inside_address inside_remote = aws_vpn_connection.s2s.tunnel1_vgw_inside_address bgp_peer_asn = var.vgw_asn } } output "pa440_tunnel2" { value = { aws_peer_ip = aws_vpn_connection.s2s.tunnel2_address inside_local = aws_vpn_connection.s2s.tunnel2_cgw_inside_address inside_remote = aws_vpn_connection.s2s.tunnel2_vgw_inside_address bgp_peer_asn = var.vgw_asn } } # CREDENCIAL VIVA. Nunca en el blog ni en screenshots. output "psk_tunnel1" { value = aws_vpn_connection.s2s.tunnel1_preshared_key sensitive = true } output "psk_tunnel2" { value = aws_vpn_connection.s2s.tunnel2_preshared_key sensitive = true }