Kokil Thapa - Professional Web Developer in Nepal
Freelancer Web Developer in Nepal with 15+ Years of Experience

Kokil Thapa is an experienced full-stack web developer focused on building fast, secure, and scalable web applications. He helps businesses and individuals create SEO-friendly, user-focused digital platforms designed for long-term growth.

Azure-to-GCP Connectivity Explained

By Kokil Thapa | Last reviewed: September 2026

Your Laravel API runs on Azure App Service, but BigQuery, Pub/Sub, and Vertex AI live in Google Cloud. Without private Azure-to-GCP connectivity, traffic crosses the public internet, latency spikes, and security teams block the architecture. This guide covers Azure-to-GCP connectivity explained the way a production engineer needs it: real VPN configs, Partner Interconnect paths, BGP routing, firewall rules, and the trade-offs I've seen on client multi-cloud projects. If you already connected AWS and GCP, start with our AWS-to-GCP networking and VPN setup — the GCP side is similar, but Azure replaces the AWS VPN gateway model.

What is Azure-to-GCP connectivity and why do teams need it?

Azure-to-GCP connectivity is any private or controlled path that lets resources in Microsoft Azure talk to resources in Google Cloud Platform without relying on the open internet. Teams adopt it during acquisitions, gradual cloud migrations, or deliberate multi-cloud designs where one provider owns identity and another owns analytics.

Common triggers include moving a PHP monolith from Azure while keeping a GCP data warehouse, running Azure DevOps pipelines against GKE clusters, or connecting a Nepal-based SaaS on Azure to GCP speech APIs. Public HTTPS with API keys works for demos. Production systems need predictable latency, private IP reachability, and audit-friendly network boundaries.

Three layers matter: the physical or virtual link (VPN tunnel or dedicated interconnect), routing (BGP or static routes), and policy (NSGs, firewall rules, Private Service Connect). Skip any layer and you get intermittent failures that look like application bugs. Our active-active vs active-passive multi-cloud article covers how connectivity choices affect failover design.

Azure-to-GCP Connectivity OptionsMicrosoft AzureVNet, VPN GatewayExpressRoute, NSGGoogle CloudVPC, Cloud VPNPartner InterconnectHA VPNIPsec tunnelsPartner LinkPrivate backbonePublic TLSAPI + PSC edgePick link type first, then BGP, then firewall policyMost teams start with HA VPN; upgrade when SLA or bandwidth demands it
Azure-to-GCP connectivity overview: HA VPN for speed to production, Partner Interconnect for private backbone paths, TLS for edge-only workloads

Before you provision anything, document CIDR plans. Azure VNets and GCP VPC subnets must not overlap. A /16 collision blocks BGP and forces NAT workarounds that break audit trails. I've seen this on a production Laravel application where staging used 10.0.0.0/16 on both clouds — the fix required re-IPing an entire subnet.

How does site-to-site VPN connect Azure and Google Cloud?

Site-to-site VPN is the default Azure-to-GCP connectivity pattern. Azure exposes a VPN Gateway in your VNet. GCP exposes an HA VPN gateway in your VPC. Two IPsec tunnels form an active-active pair. BGP exchanges route advertisements so each cloud learns the other's private ranges.

Google documents this as HA VPN to external VPN gateway. Microsoft documents it under Azure VPN Gateway site-to-site connections. Both sides must agree on IKE version, pre-shared keys or certificates, and BGP peer addresses on the tunnel interfaces.

Azure-side setup checklist

  1. Create a GatewaySubnet (/27 or larger) in your VNet — Azure reserves this name exactly.
  2. Deploy a VPN Gateway (VpnGw1 or higher for production throughput).
  3. Define a Local Network Gateway pointing at the GCP HA VPN gateway's external IP and GCP CIDR ranges.
  4. Create a Connection with IKEv2, enable BGP, and attach your pre-shared key.
  5. Add route tables or BGP propagation so app subnets reach GCP prefixes.

GCP-side setup checklist

  1. Create a Cloud Router in the target region with a unique ASN (64512–65534 for private use).
  2. Deploy an HA VPN gateway and external VPN gateway resource describing Azure's public IPs.
  3. Create two VPN tunnels (one per Azure gateway instance) with matching IKE parameters.
  4. Enable BGP sessions on each tunnel interface toward Azure's ASN.
  5. Add VPC firewall rules allowing traffic from Azure CIDRs on required ports.

Azure CLI example for the local network gateway (replace placeholders with your values):

az network local-gateway create \
  --resource-group rg-hybrid-prod \
  --name lng-gcp-prod \
  --gateway-ip-address 35.190.XXX.XXX \
  --local-address-prefixes 10.20.0.0/16 10.30.0.0/24 \
  --asn 65001 \
  --bgp-peering-address 169.254.XXX.X

az network vpn-connection create \
  --resource-group rg-hybrid-prod \
  --name conn-azure-to-gcp \
  --vnet-gateway1 vpngw-prod \
  --local-gateway2 lng-gcp-prod \
  --shared-key 'YOUR_STRONG_PSK' \
  --enable-bgp true

GCP gcloud equivalent for the external gateway and tunnel:

gcloud compute external-vpn-gateways create azure-vpngw \
  --interfaces 0=AZURE_IP_1,1=AZURE_IP_2

gcloud compute vpn-tunnels create tunnel-azure-0 \
  --peer-external-gateway azure-vpngw \
  --interface 0 \
  --router gcp-cloud-router \
  --ike-version 2 \
  --shared-secret 'YOUR_STRONG_PSK'

For infrastructure-as-code, Terraform modules keep both sides in sync. Our deploy the same app to AWS and Azure with Terraform guide shows state management patterns that apply equally to GCP resources in the same root module or via remote state outputs.

HA VPN: Azure to GCP Tunnel FlowAzure VNetApp Service / AKS10.10.0.0/16VPN GatewayGCP VPCGKE / Cloud SQL10.20.0.0/16HA VPN GatewayIPsec TunnelsTunnel 0 + Tunnel 1BGP ASN exchangeCloud Router BGPAdvertise only required prefixes
Site-to-site HA VPN between Azure VPN Gateway and GCP Cloud VPN with dual IPsec tunnels and BGP route exchange

MTU is a frequent gotcha. IPsec overhead reduces effective packet size. Azure VPN gateways support TCP MSS clamping on some SKUs. On GCP, set appropriate MTU on the Cloud Router interface or enable TCP MSS clamping in your firewall appliance if you use one. Symptom: small API calls succeed, large JSON payloads or file uploads hang mid-transfer.

Compare this pattern to AWS hybrids in our connect AWS and Azure with a site-to-site VPN article. The Azure side is nearly identical; only the GCP HA VPN configuration differs from AWS Virtual Private Gateway syntax.

What is Partner Interconnect with Azure ExpressRoute?

When VPN bandwidth or jitter is not enough, Partner Interconnect bridges GCP to a colocation partner that also hosts Azure ExpressRoute. Google and Microsoft both document this as a supported path for customers who need private backbone connectivity without hair-pinning through the public internet.

You order ExpressRoute from Microsoft and Partner Interconnect from Google through a common carrier or colocation facility — Equinix, Megaport, and similar providers appear in both vendor partner lists. Cross-connects inside the facility link the two ports. BGP still controls which CIDR ranges cross the boundary.

Typical costs exceed VPN by an order of magnitude. Expect dedicated port fees on each cloud plus cross-connect charges. For a Nepal startup budgeting in NPR, our budgeting AWS and Azure in NPR framework helps frame the decision: ExpressRoute plus Partner Interconnect often starts around Rs 150,000–400,000/month (~USD 1,100–3,000) before bandwidth, while HA VPN gateway charges sit closer to Rs 15,000–40,000/month (~USD 110–300).

When Partner Interconnect beats VPN

  • Regulated workloads requiring predictable private paths and documented carrier SLAs.
  • High-volume replication between Azure SQL and Cloud SQL or BigQuery ingestion pipelines.
  • Real-time analytics where VPN jitter causes missed windows.
  • Centralised security inspection at the colo before traffic enters either cloud.

Lead time matters. Physical ports and cross-connects take weeks, not hours. Plan capacity — upgrading a 1 Gbps port mid-contract incurs change fees. If you need Kubernetes on both sides, review Azure AKS practical guide alongside GKE networking docs so pod CIDRs are included in BGP advertisements.

Partner Interconnect + ExpressRouteAzureExpressRoute PortGoogle CloudPartner InterconnectColo PartnerCross-connect fabricOptional firewallPrivate Backbone PathNo public internet transit for cloud-to-cloud trafficWeeks to provision; SLAs suitable for regulated dataUse when VPN bandwidth or jitter fails SLA tests
Partner Interconnect with Azure ExpressRoute: private colocation cross-connect between Google Cloud and Microsoft Azure backbone ports

Official reference: Google Cloud documents Partner Interconnect at cloud.google.com/network-connectivity/docs/interconnect. Microsoft ExpressRoute prerequisites live at learn.microsoft.com/azure/expressroute.

Which Azure-to-GCP connectivity option should you choose?

No single option wins every scenario. Match the link type to latency needs, budget, team skills, and compliance scope. The table below summarises what I recommend to clients evaluating multi-cloud PHP and API workloads.

CriteriaHA VPN (site-to-site)Partner Interconnect + ExpressRoutePublic HTTPS / Private Service Connect
Setup timeHours to 2 days3–8 weeksHours (app config only)
Typical monthly cost (NPR)Rs 15,000–40,000 (~USD 110–300)Rs 150,000+ (~USD 1,100+)Rs 5,000–20,000 (~USD 37–150)
Throughput ceiling1–1.25 Gbps per gateway SKU1–100 Gbps portsVaries; not true L3 peering
Private IP reachabilityFull VNet ↔ VPCFull VNet ↔ VPCService endpoints only
Best fitMost hybrid apps, CI/CD, DB replicationHigh-volume analytics, regulated finance/healthSaaS API calls, managed services only
Ops complexityMedium — BGP, tunnels, key rotationHigh — carriers, LOA, physical portsLow — TLS certs, IAM, API keys

For Laravel or Symfony APIs on Azure calling GCP Pub/Sub or Cloud Storage, HA VPN is usually enough. I've deployed this pattern on production applications where Azure App Service handles HTTP and GCP handles async queues — similar to how Adventure Third Pole Trek splits booking UI from background supplier workflows, though that project runs on a single cloud today.

Choose public TLS-only paths when you consume a handful of managed APIs and never need raw private IP database access. Private Service Connect on GCP plus Azure Private Link for PaaS services can keep traffic off the open internet even without full VPC peering. That hybrid is common for AI API integration — a topic covered under AI integration and automation services.

Still comparing clouds at the architecture stage? Read GCP vs AWS vs Azure for PHP workloads and AWS vs Azure vs Google Cloud which to choose in 2026 before committing to a link type you will outgrow in six months.

How do you configure routing, security, and DNS across Azure and GCP?

Connectivity without correct routing produces asymmetric paths and silent packet drops. Both clouds must advertise only the prefixes they own. Avoid leaking a default route unless a central security appliance requires it.

BGP and route propagation

Azure VPN Gateway BGP peers with GCP Cloud Router across tunnel interfaces. Use unique ASNs — Azure defaults differ from GCP's assigned ASN on the Cloud Router. Enable BGP route translation on Azure if you filter prefixes. On GCP, use custom route advertisements instead of advertising the entire VPC when only one subnet needs reachability.

Custom route example on GCP limiting advertised ranges:

gcloud compute routers update gcp-cloud-router \
  --region asia-south1 \
  --advertisement-mode custom \
  --set-custom-advertisement-ranges=10.20.1.0/24

Azure side: verify Effective Routes on a test VM before cutting over production traffic. Empty tables mean BGP sessions are down or prefix filters block advertisements.

Firewall and NSG rules

GCP VPC firewall rules are stateful but default-deny ingress. Azure NSGs apply at subnet or NIC level. You need allow rules on both sides for the exact ports your stack uses — 3306 for MySQL, 5432 for PostgreSQL, 6379 for Redis, 443 for HTTPS internal services.

A minimal GCP ingress rule allowing Azure VNet traffic:

gcloud compute firewall-rules create allow-azure-vnet \
  --network prod-vpc \
  --direction INGRESS \
  --action ALLOW \
  --rules tcp:443,tcp:3306 \
  --source-ranges 10.10.0.0/16 \
  --priority 1000

Azure NSG equivalent via CLI:

az network nsg rule create \
  --resource-group rg-hybrid-prod \
  --nsg-name nsg-app-subnet \
  --name Allow-GCP-HTTPS \
  --priority 200 \
  --source-address-prefixes 10.20.0.0/16 \
  --destination-port-ranges 443 \
  --access Allow \
  --protocol Tcp

DNS and private endpoints

Private IP connectivity breaks public DNS names unless you replicate resolution. Options include Azure Private DNS zones linked to the VNet, GCP Cloud DNS private zones with inbound forwarding, or conditional forwarders on a shared domain controller. For managed PaaS, use Azure Private Link and GCP Private Service Connect so applications resolve privatelink.database.windows.net or googleapis.com to private ranges.

Validate JSON config payloads during pipeline setup with our JSON formatter tool — misformatted service account keys and VPN shared secrets cause avoidable deployment failures.

How do you troubleshoot Azure-to-GCP connectivity failures?

When hybrid links fail, symptoms cluster into tunnel, routing, firewall, and application layers. Work top-down: confirm tunnels before debugging Laravel queue workers.

Tunnel and BGP diagnostics

  • Azure: Get-AzVirtualNetworkGatewayConnection — tunnel status must show Connected.
  • GCP: gcloud compute vpn-tunnels list — both tunnels should report ESTABLISHED.
  • Check BGP session state on Cloud Router and Azure gateway diagnostics blade.
  • Verify pre-shared keys match exactly — trailing newline characters in Key Vault secrets break IKE.
  • Confirm UDP 500 and 4500 are open if a corporate firewall sits upstream.

Microsoft's VPN troubleshooting guide at learn.microsoft.com/azure/vpn-gateway/vpn-gateway-troubleshoot covers IKE diagnostics and packet captures from the gateway subnet.

Troubleshooting Decision FlowTraffic failing?Check tunnelsIKE / IPsec statusCheck BGPRoutes advertised?Check firewallsNSG + VPC rulesTest with ping and tracerouteFrom VM in each cloud to private IP in peerApp layer: TLS certs, DNS, auth tokensOnly after network path is confirmed end-to-end
Azure-to-GCP connectivity troubleshooting: verify IPsec tunnels, BGP routes, and firewall rules before debugging application-layer errors

Application-layer false positives

HTTP 403 from GCP IAM or Azure RBAC looks like a network outage in logs. Test with curl to private IPs first, then to FQDNs. For database replication, verify SSL modes — some Cloud SQL instances require client certificates even on private paths.

Pipeline agents need hybrid reachability too. Self-hosted runners on Azure must route to GCP artifact registries if you pull container images cross-cloud. See Terraform with Azure DevOps pipelines for network-aware CI patterns.

Ongoing monitoring belongs in your runbook. Alert on tunnel down events, BGP session flaps, and latency thresholds on synthetic probes between a VM in Azure and a VM in GCP. For teams without dedicated network staff, Linux system administration support and support and maintenance services cover the operational side after initial setup.

Key Takeaways

  • Document non-overlapping CIDR plans before provisioning any Azure-to-GCP connectivity — overlapping ranges force painful re-IP work.
  • Start with HA VPN and BGP for most hybrid PHP, API, and Laravel workloads; upgrade to Partner Interconnect only when SLA or bandwidth tests fail.
  • Configure firewall rules and NSGs on both clouds explicitly — default GCP deny and Azure NSG gaps block traffic that tunnels carry fine.
  • Fix DNS and private endpoint resolution early; private IP links fail silently when apps still resolve public addresses.
  • Troubleshoot tunnels and BGP before application logs — most "API timeout" tickets are routing or MTU issues, not code bugs.
  • Automate VPN and router config with Terraform and store pre-shared keys in Azure Key Vault or GCP Secret Manager with rotation schedules.

People Also Ask

Can Azure Virtual WAN connect directly to Google Cloud?

Azure Virtual WAN simplifies hub-and-spoke VPN within Azure, but it does not offer a native one-click peering service to GCP. You still terminate IPsec toward GCP HA VPN or use Partner Interconnect through a colocation partner. Virtual WAN helps when multiple Azure spokes need the same GCP routes through a central hub.

Does Azure-to-GCP VPN support active-active redundancy?

Yes. GCP HA VPN always builds two tunnels. Azure VPN Gateway active-active mode exposes two public IPs so each tunnel maps to a separate gateway instance. Enable BGP on both tunnels so traffic fails over automatically when one path drops. Single-tunnel setups leave you one maintenance window away from outage.

How much bandwidth can Azure-to-GCP VPN handle?

Throughput depends on Azure VPN Gateway SKU and GCP HA VPN limits. VpnGw1-class gateways typically deliver hundreds of Mbps aggregate; higher SKUs scale toward roughly 1–1.25 Gbps. For sustained multi-gigabit replication, Partner Interconnect with ExpressRoute is the supported upgrade path.

Is cross-cloud traffic encrypted on Partner Interconnect?

Partner Interconnect traffic travels on a provider's private network, not the public internet, but it is not automatically IPsec-encrypted at the link layer. Most regulated teams still run TLS between applications or add MACsec where the carrier supports it. Treat private backbone links as trusted transit, not a substitute for application-layer encryption.

Build hybrid cloud connectivity that survives production

Azure-to-GCP connectivity explained properly comes down to choosing the right link, advertising clean routes, and locking down both sides of the path. HA VPN gets most teams live within a day. Partner Interconnect earns its cost when analytics pipelines or compliance demand private backbone SLAs. Either way, treat network design as part of application architecture — not a ticket you open after launch.

Need help wiring a multi-cloud Laravel stack, API bridge, or migration cutover? Enterprise application development and website migration services cover hybrid planning through production cutover. View recent work on the portfolio, read more on the blog, or contact us to discuss your Azure and GCP architecture.

Frequently Asked Questions

Any private or controlled path that lets Microsoft Azure resources talk to Google Cloud Platform without crossing the open internet—typically via site-to-site HA VPN, Partner Interconnect with ExpressRoute, or encrypted endpoints with Private Service Connect.

Public HTTPS with API keys works for demos, but production multi-cloud setups need predictable latency, private IP reachability, and audit-friendly network boundaries. Teams adopt it during acquisitions, gradual cloud migrations, or deliberate split architectures—such as a Laravel API on Azure App Service calling BigQuery, Pub/Sub, or Vertex AI on GCP. Without a controlled link, traffic crosses the public internet, latency spikes, and security teams often block the design. Three layers must align: the virtual or physical link, routing via BGP or static routes, and policy through NSGs, VPC firewall rules, and private endpoints.

Azure deploys a VPN Gateway inside your VNet while GCP deploys an HA VPN gateway in your VPC. Two IPsec tunnels form an active-active pair between them. BGP on tunnel interfaces exchanges route advertisements so each cloud learns the other's private CIDR ranges. Both sides must agree on IKE version (IKEv2 is standard), pre-shared keys or certificates, and BGP peer addresses on tunnel interfaces. Google documents this as HA VPN to an external VPN gateway; Microsoft documents it under Azure VPN Gateway site-to-site connections. For most hybrid PHP and API workloads, this is the default production pattern.

Start with a GatewaySubnet—exactly that name, at least /27—in your VNet. Deploy a VPN Gateway (VpnGw1 or higher for production throughput). Create a Local Network Gateway pointing at the GCP HA VPN gateway's external IP and listing GCP CIDR ranges, with BGP peering address and ASN. Create a Connection using IKEv2, enable BGP, and attach your pre-shared key. Finally, add route tables or enable BGP propagation so application subnets reach GCP prefixes. Before cutover, check Effective Routes on a test VM; empty tables usually mean BGP is down or prefixes are filtered.

Create a Cloud Router in the target region with a unique private ASN (64512–65534). Deploy an HA VPN gateway plus an external VPN gateway resource describing Azure's public IPs—typically two interfaces for dual tunnels. Create two VPN tunnels, one per Azure gateway instance, with matching IKE parameters and shared secrets. Enable BGP sessions on each tunnel interface toward Azure's ASN. Add VPC firewall rules allowing ingress from Azure CIDRs on the ports your stack needs. Infrastructure-as-code via Terraform helps keep Azure and GCP tunnel definitions, ASNs, and CIDR lists synchronized across deploys.

When VPN bandwidth or jitter is insufficient, Partner Interconnect bridges GCP to a colocation partner that also hosts Azure ExpressRoute—providers like Equinix or Megaport appear in both vendor partner lists. You order ExpressRoute from Microsoft and Partner Interconnect from Google, then cross-connect the two ports inside the facility. BGP still controls which CIDR ranges cross the boundary. Typical use cases include regulated workloads needing carrier SLAs, high-volume replication between Azure SQL and Cloud SQL or BigQuery pipelines, and real-time analytics where VPN jitter causes missed windows. Physical ports and cross-connects take weeks, not hours, and mid-contract port upgrades incur change fees.

HA VPN gateway charges run roughly Rs 15,000–40,000 (~USD 110–300). Partner Interconnect plus ExpressRoute often starts around Rs 150,000–400,000 (~USD 1,100–3,000) before bandwidth. Public HTTPS or Private Service Connect paths sit closer to Rs 5,000–20,000 (~USD 37–150).

Match the link to latency needs, budget, compliance scope, and team skills. HA VPN suits most hybrid apps, CI/CD pipelines, and database replication—hours to two days to stand up, roughly 1–1.25 Gbps per gateway SKU, full VNet-to-VPC private reachability, medium ops complexity. Partner Interconnect plus ExpressRoute fits high-volume analytics and regulated finance or health workloads needing 1–100 Gbps ports and documented carrier SLAs, but expect three to eight weeks lead time and Rs 150,000+ monthly before bandwidth. Choose public TLS with Private Service Connect or Azure Private Link when you only call managed APIs and never need raw private IP database access.

Azure VNets and GCP VPC subnets must not share overlapping CIDR blocks. A /16 collision blocks BGP peering and forces NAT workarounds that break audit trails and complicate troubleshooting. I've seen staging environments using 10.0.0.0/16 on both clouds on a production Laravel application—the fix required re-IPing an entire subnet. Document your CIDR plan before provisioning any gateway, include Kubernetes pod CIDRs if AKS or GKE subnets must be reachable, and verify advertised prefixes on both sides during BGP setup rather than discovering overlap after tunnels show Connected.

Azure VPN Gateway BGP-peers with GCP Cloud Router across tunnel interfaces using unique ASNs—defaults differ between clouds, so assign private ASNs deliberately. Enable BGP route translation on Azure if you filter prefixes. On GCP, use custom route advertisements instead of advertising the entire VPC when only specific subnets need reachability, for example limiting to 10.20.1.0/24. Avoid leaking a default route unless a central security appliance requires it. Both clouds should advertise only prefixes they own. Verify Azure Effective Routes on a test VM before cutting production traffic; on GCP, confirm BGP session state on the Cloud Router when tunnels report ESTABLISHED but applications still cannot reach private IPs.

Connectivity fails silently if policy layers are missing. GCP VPC firewall rules are stateful but default-deny ingress—you need explicit allow rules for Azure CIDRs on exact ports your stack uses: 443 for HTTPS services, 3306 for MySQL, 5432 for PostgreSQL, 6379 for Redis. Azure NSGs apply at subnet or NIC level and need matching allow rules for GCP source prefixes on the same ports. Symmetric rules on both sides prevent asymmetric routing and silent packet drops. Treat NSGs and VPC rules as part of the initial cutover checklist, not an afterthought once tunnels and BGP already show healthy status.

Private IP connectivity breaks public DNS names unless you replicate resolution across clouds. Options include Azure Private DNS zones linked to the VNet, GCP Cloud DNS private zones with inbound forwarding, or conditional forwarders on a shared domain controller. For managed PaaS, use Azure Private Link and GCP Private Service Connect so applications resolve names like privatelink.database.windows.net or googleapis.com to private ranges instead of public IPs. Without this step, curl to private IPs may succeed while FQDN-based application calls fail—a symptom easily mistaken for a VPN outage when the tunnel and BGP are actually fine.

IPsec overhead reduces effective MTU, and this is one of the most common production gotchas on hybrid links. Symptom pattern: small API calls succeed while large JSON payloads or file uploads hang mid-transfer. Azure VPN gateways support TCP MSS clamping on some SKUs; on GCP, set appropriate MTU on the Cloud Router interface or enable MSS clamping on a firewall appliance if one sits in path. Diagnose MTU issues only after confirming tunnels show Connected on Azure and ESTABLISHED on GCP—otherwise you are debugging the wrong layer. This pattern mirrors AWS-to-GCP hybrids; only the GCP HA VPN syntax differs from AWS Virtual Private Gateway configuration.

Work top-down through tunnel, routing, firewall, and application layers. Azure: check virtual network gateway connection status shows Connected. GCP: gcloud compute vpn-tunnels list should show both tunnels ESTABLISHED. Verify BGP session state on Cloud Router and Azure gateway diagnostics. Confirm pre-shared keys match exactly—trailing newline characters in Key Vault secrets break IKE. Ensure UDP 500 and 4500 are open if a corporate firewall sits upstream. HTTP 403 from GCP IAM or Azure RBAC can look like a network outage; test curl to private IPs before FQDNs. Alert on tunnel-down events, BGP flaps, and synthetic latency probes between test VMs in each cloud.

Typically hours to two days for HA VPN, versus three to eight weeks for Partner Interconnect with ExpressRoute physical ports and cross-connects.

Share this article

0 Comments

Leave a comment

Your email is not published. Comments appear once they have been read. Sign in to have your details filled in.

Quick Contact Options
Choose how you want to connect me: