DataCore Analytics SL — Madrid CPD → AWS eu-west-1 + Azure westeurope | Diseño técnico v1.2 | 16 Jun 2026
| Enlace | Tipo | BW | Latencia | Estado |
|---|---|---|---|---|
| DX Primary Madrid→AWS | Direct Connect | 2 Gbps | 14 ms | UP |
| VPN-A Madrid→AWS | IPSec IKEv2 | 1.25 Gbps | 28 ms | Standby |
| VPN-B Madrid→AWS | IPSec IKEv2 | 1.25 Gbps | 29 ms | Standby |
| ER Primary Madrid→Azure | ExpressRoute | 500 Mbps | 19 ms | UP |
| VPN-C Madrid→Azure | IPSec IKEv2 | 250 Mbps | 35 ms | Standby |
# main.tf — DataCore Analytics / AWS Hybrid resource "aws_dx_gateway" "datacore" { name = "datacore-dx-gateway" amazon_side_asn = 64512 } resource "aws_dx_hosted_connection" "primary" { connection_id = "dxcon-XXXXXXXX" name = "datacore-dx-primary-2gbps" owner_account_id = var.aws_account_id bandwidth = "2Gbps" vlan = 101 } resource "aws_ec2_transit_gateway" "main" { description = "DataCore Hub" default_route_table_association = "disable" default_route_table_propagation = "disable" amazon_side_asn = 64512 tags = { Name = "datacore-tgw" Env = "prod" GDPR = "eu-only" } } # Dual VPN failover resource "aws_customer_gateway" "cpe_a" { bgp_asn = 65100 ip_address = "195.10.83.12" # Madrid CPD router A type = "ipsec.1" tags = { Name = "datacore-cpe-a" } } resource "aws_customer_gateway" "cpe_b" { bgp_asn = 65100 ip_address = "195.10.83.13" # Madrid CPD router B type = "ipsec.1" tags = { Name = "datacore-cpe-b" } }
# azure.tf — DataCore Analytics / Azure Hybrid resource "azurerm_express_route_circuit" "main" { name = "datacore-er-circuit" resource_group_name = azurerm_resource_group.main.name location = "westeurope" service_provider_name = "Telefonica" peering_location = "Madrid" bandwidth_in_mbps = 500 sku { tier = "Standard" family = "MeteredData" } tags = { GDPR = "eu-residency" } } resource "azurerm_virtual_network_gateway" "vpn_gw" { name = "datacore-vpn-gw" location = "westeurope" resource_group_name = azurerm_resource_group.main.name type = "Vpn" vpn_type = "RouteBased" sku = "VpnGw2" active_active = false ip_configuration { name = "vnetGatewayConfig" public_ip_address_id = azurerm_public_ip.vpn.id private_ip_address_allocation = "Dynamic" subnet_id = azurerm_subnet.gateway.id } } # BGP peering config resource "azurerm_local_network_gateway" "onprem" { name = "datacore-onprem-gw" resource_group_name = azurerm_resource_group.main.name location = "westeurope" gateway_address = "195.10.83.12" address_space = ["10.0.0.0/16"] bgp_settings { asn = 65100; bgp_peering_address = "10.0.255.1" } }
| Prefijo CIDR | Origen | Next Hop | Métrica | Estado |
|---|---|---|---|---|
10.0.0.0/16 |
CPD Madrid | 195.10.83.12 | 100 | Activo |
172.16.0.0/16 |
AWS VPC Prod | Transit GW | 200 | Activo |
172.16.128.0/18 |
AWS VPC Stg | Transit GW | 200 | Activo |
192.168.0.0/16 |
Azure VNet | ER Gateway | 300 | Activo |
192.168.128.0/18 |
Azure Backup | ER Gateway | 300 | Activo |
| Servicio | Proveedor | Coste €/mes | % Total |
|---|---|---|---|
| Direct Connect 2 Gbps | AWS | 1.240 € |
43.7%
|
| Transit Gateway | AWS | 280 € |
9.9%
|
| Site-to-Site VPN (x2) | AWS | 145 € |
5.1%
|
| ExpressRoute 500 Mbps | Azure | 890 € |
31.3%
|
| VPN Gateway Azure | Azure | 175 € |
6.2%
|
| Data transfer (estimado) | Multi | 110 € |
3.9%
|
| TOTAL | 2.840 € | Bajo presupuesto (3.500€) |
# Estado VPN connections aws ec2 describe-vpn-connections \ --filters "Name=tag:Project,Values=datacore" \ --query "VpnConnections[].{ID:VpnConnectionId,State:State}" # Telemetría túneles Direct Connect aws ec2 get-vpn-connection-telemetry \ --vpn-connection-id vpn-0a1b2c3d4e5f # BGP routes advertised from Transit GW aws ec2 describe-transit-gateway-route-tables
# Estado ExpressRoute circuit az network express-route show \ --name datacore-er-circuit \ --resource-group datacore-rg \ --query "{State:circuitProvisioningState,BW:serviceProviderProvisioningState}" # Conexión VPN Gateway az network vpn-connection show \ --name datacore-vpn-conn \ --resource-group datacore-rg # Effective routes de la NIC az network nic show-effective-route-table \ --name datacore-nic --resource-group datacore-rg