Professional Cloud Network Engineer
Analyzing and troubleshooting routing policy and BGP session failures involves diagnosing why traffic is not flowing as intended between interconnected networks such as on-premises data centers, other cloud providers, and Google Cloud VPCs connected through a Network Connectivity Center hub. Failures often stem from misconfigured BGP sessions, incorrect route advertisements, or conflicting routing policies that break expected transitive connectivity.
A failed BGP session prevents the exchange of routing information between a Cloud Router and an external peer such as an on-premises router or a router appliance instance. The session must be in an established state for routes to be learned and advertised. First, verify the BGP session status in both Google Cloud and the peer network. If sessions fail to establish, check for common causes: ensure TCP port 179 is allowed through any intervening firewalls, confirm that neither side is using link-local addresses for peering, and verify that the peer IP addresses and Autonomous System Numbers are correctly configured on both ends. For router appliance instances, the BGP session must use RFC 1918 private IP addresses within the same VPC subnet as the Cloud Router.
Even with active BGP sessions, routes may not be distributed correctly. If routes are not being propagated between regions, first confirm that the VPC network's dynamic routing mode is set to global, as regional mode restricts route scope. Next, analyze what routes are being advertised and received using Cloud Router logs and route tables to verify that intended prefixes are being advertised from on-premises networks or VPC spokes. A BGP route policy on the Cloud Router might be incorrectly filtering out subnet advertisements. Also check for duplicate route advertisements from multiple BGP sessions, as this can cause Equal-Cost Multi-Path routing to distribute traffic to unintended next hops including paths not participating in the intended data transfer.
For traffic flowing between two non-Google Cloud networks via a Network Connectivity Center hub, a break in data transfer often points to a spoke configuration issue. Verify that each hybrid spoke such as a VLAN attachment or VPN tunnel has its site-to-site data transfer field set to true. Also confirm that ASN assignments comply with requirementsâfor example, all BGP peers associated with a single spoke must use the same ASN. If hub subnets are not being advertised to an on-premises network, check the hub route table. If the subnets are listed there but not advertised, a BGP route policy may be blocking them. If the subnets are absent from the table, the include-export or exclude-export IP range filters on the connected VPC spoke might be filtering them out.
Connectivity Tests is a configuration analysis tool that simulates packet forwarding paths through your VPC network, Cloud VPN tunnels, VLAN attachments, and Network Connectivity Center hubs. It can help identify misconfigurations within Google Cloud that are blocking reachability. However, because it cannot access on-premises network configurations, it assumes traffic from on-premises to your VPC is always valid and only verifies the Google Cloud side of the path. For a more complete picture, you must also examine BGP session logs, route analytics, and the status of physical connections using their respective monitoring interfaces.
Diagnosing firewall and security policy transitivity issues requires identifying where intermediate security perimeters, route tables, or firewall rules interrupt end-to-end traffic flow across interconnected networks. Transitive network architectures connect hybrid sites, virtual private clouds, and managed services through hubs, proxies, or VPC peering connections. Traffic failures occur when intermediate networks drop transit packets, when security policies silently discard encapsulated or forwarded flows, or when organizational constraints prevent private endpoints from communicating across boundaries.
VPC Network Peering allows direct communication between two VPC networks but explicitly forbids transitive routing across intermediate peerings. If network N1 connects to network N2, and network N2 connects to network N3, traffic cannot transit from N1 through N2 to reach N3 over VPC Network Peering. To enable end-to-end communication across peered service producer connections such as Private Service Access or managed instances, the peering configuration must explicitly export and import custom static and dynamic routes. When an intermediate network fails to export routes for reachable destinations, transit traffic drops because the routing table lacks an appropriate next hop.
VPC firewall rules and hierarchical firewall policies control ingress and egress traffic at the virtual machine interface level and can inadvertently block multi-hop communication. Google Cloud health checks require explicit ingress allow rules for the IP address ranges 130.211.0.0/22 and 35.191.0.0/16 so that middle proxies and load balancers can verify upstream availability. Private Service Connect setups fail if firewall rules block the Private Service Connect NAT CIDR range from accessing the destination bastion interface or service subnet. Additionally, producer networks such as those used by Dataproc Metastore require explicit ingress firewall rules covering their allocated /17 IP blocks when services must initiate reverse connections back to consumer resources.
Organization Policy Constraints and VPC Service Controls enforce high-level security perimeters that can sever transitive and hybrid connections across cloud environments. Enabling VPC Service Controls around private workloads blocks direct public internet pathways, requiring administrators to export default or custom routes through approved intermediate gateways to reach external endpoints. Organization policies such as compute.restrictPrivateServiceConnectProducer block endpoint connections unless target folder numbers are explicitly permitted in the policy's allowlist. Similarly, constraints like compute.disablePrivateServiceConnectCreationForConsumers prevent consumer connections unless configured to allow SERVICE_PRODUCERS.
Network Intelligence Center Connectivity Tests and system-level packet tracing diagnose the precise location where transit traffic is blocked. Running a Connectivity Test traces packet paths across VPC peering boundaries and evaluates hierarchical firewall policies, identifying whether a drop occurs due to missing routes or restrictive firewall rules. When testing from the guest operating system, a connection timeout generally indicates that an intermediate firewall or local iptables chain is silently discarding packets. Conversely, a connection reset indicates that traffic reached the destination interface but was actively rejected by an application, closed port, or local security service.
Troubleshooting hybrid connectivity and spoke-to-spoke communication involves diagnosing failures in transitive network paths where VPN or Interconnect attachment misconfigurations, MTU mismatches, or incomplete route imports and exports prevent spokes within a hub from reaching each other or on-premises resources. The process requires systematic analysis of routing policies, firewall rules, and hybrid connectivity configurations to restore intended data flow across interconnected cloud environments.
Route misconfiguration is a persistent cause of connectivity issues affecting both internal routes within peered VPC and external internet targets. To diagnose route problems, first identify the IP address of the target by using a Debug session in Apigee to locate the target.ip value from the AnalyticsPublisher. Since private IP ranges require specific routing measures, note the region where the affected instance is deployed by checking the Location field in the Instances section of the Apigee UI. Navigate to the VPC Network Peering section in the project that is peered with Apigee, click on servicenetworking-googleapis-com, select the EXPORTED ROUTES tab, and filter by the region obtained in the previous step. If a route corresponding to the target is not visible, that represents the root cause of the connectivity failure. The resolution requires reviewing the network architecture to ensure that routes are exported into the VPC peering, where the missing route is likely either static or dynamic. Lack of necessary dynamic routes indicates a problem with the corresponding feature such as Cloud Interconnect. It is important to note that transitive peering is not supportedâif VPC network N1 is peered with N2 and N3, but N2 and N3 are not directly connected, VPC network N2 cannot communicate with VPC network N3 over VPC Network Peering.
When the target might not be reachable from the VPC or able to accept a connection, use the Connectivity Test feature for private target IP addresses to diagnose common causes. VPC firewall rules and routes must be correctly configured to establish bi-directional reachability from Envoy to private service endpoints and optionally to an on-premises DNS server. For a successful regional HA failover scenario, global dynamic routing must be enabled. When troubleshooting firewall issues, check packet counts for the number of packets processed for each installed iptables chain and rule by comparing source and destination IP addresses and ports with the prefixes and ports specified by iptables rules. If a matched rule shows increasing discards with connection timeouts, apply the correct allow rule to the appropriate connections. For Windows Firewall, check that the connection is permitted to egress from the client and ingress to the server, noting that the default DENY behavior silently discards denied packets, resulting in timeouts.
Operating system routing issues can arise from asymmetric routing where packets take different paths in each direction, incorrect routing table entries that send traffic the wrong way, or missing return routes for traffic that originates from the VM. If the VPC connectivity path shows no issues, the problem might lie with guest OS configuration such as firewall software, or with client or server applications that are frozen or configured to listen on the wrong port. Test TCP connectivity from inside the VM to determine whether a TCP server is listening at the indicated port, whether server-side firewall software is allowing connections from the client VM, whether client-side firewall software is allowing connections on the server, and whether route tables on both sides are correctly configured to forward packets. Using curl or TcpClient commands, the workflow should produce one of three outcomes: success indicates the OS firewall is not blocking and a server is listening; timeout usually means no machine exists at that IP, a firewall is silently discarding packets, or OS routing is sending packets to an invalid destination; reset means the destination IP receives packets but an OS or application is rejecting them.
Hybrid connectivity between the VPC network and on-premises services or a third-party public cloud is established with Cloud VPN or Cloud Interconnect. Cloud Service Mesh uses Envoy proxies to route traffic, and these proxies must receive configuration from Cloud Service Mesh to function correctly. If proxies do not connect to Cloud Service Mesh, check the Envoy proxy logs for errors connecting to trafficdirector.googleapis.com, ensure the user running the proxy is excluded from iptables redirection to prevent traffic looping back to the proxy, verify the Cloud Service Mesh API is enabled, confirm the API access scope allows full access to Google Cloud APIs, and validate that the service account has correct permissions to access the Traffic Director API. For services configured with Cloud Service Mesh that are not reachable, confirm the sidecar proxy is running by checking for the Envoy process, inspect runtime configuration to confirm Cloud Service Mesh configured dynamic resources, and ensure traffic interception is set up correctly by examining iptables rules. The installation of service proxy components on the VM might not have completed or might have failed, which can be determined by checking the bootstrap-status guest attribute. Traffic interception on the VM must be correctly configured for inbound traffic by examining the SERVICE_PROXY_INBOUND chain for SERVICE_PROXY_IN_REDIRECT entries.
When troubleshooting on-premises connector setup, verify that the on-premises application is connected to the Google Cloud network by pinging the application from one of the on-premises connector Compute Engine instances. If the endpoint is unreachable, debug the network connectivity and settings before continuing. Ensure Envoy is properly installed on the VMs by verifying the process is running with multiple processes beyond the grep command, and confirm the Envoy admin port 127.0.0.1:15000 is listening. If Envoy is not running, one possible cause is VPC Service Controls blocking the connection to the gce-mesh bucket from which the startup script downloads the Envoy image. To resolve this, allow access to the gce-mesh storage bucket in VPC Service Controls in the host project and ensure the VPC has a routing rule to allow traffic to the public internet. Verify that the VM service account has TD access permissions for xDS v3, and check for GRPC 403 errors in the Envoy logs indicating incorrect account permissions.
Network misconfigurations are the most frequent cause of connectivity failures in hybrid environments. VPC Network Peering or Private Service Access enables private IP connectivity between networks, and the peering connection must be active and healthy. Verify that a sufficient IP range has been allocated for Private Service Access and that firewall rules allow outbound traffic on the required ports. DNS resolution must correctly resolve endpoint hostnames to private IP addresses, and issues with Cloud DNS private zones or DNS forwarding can cause resolution failures. For Dataproc Metastore connectivity specifically, verify that the VPC peering connection to servicenetworking-googleapis-com is ACTIVE, use Connectivity Tests to diagnose the network path from a Compute Engine VM to the endpoint, and check Cloud Firewall logs for denied connections. The service account must have the Dataproc Metastore User role on the instance or project, and the Dataproc service agent must have sufficient permissions. The endpoint URI in workload configuration must match the Endpoint URI from the Dataproc Metastore instance details.
compute.restrictPrivateServiceConnectProducer block endpoint connections unless targets are explicitly allowlisted.VPC Network Peering explicitly blocks transitive routing. If network N1 connects to N2 and N2 connects to N3, traffic cannot flow from N1 through N2 to N3. To enable this, you must export and import custom static and dynamic routes in the peering configuration.
A connection timeout generally indicates that an intermediate firewall or local iptables chain is silently discarding packets. A connection reset indicates that traffic reached the destination interface but was actively rejected by an application, closed port, or local security service.
The BGP session must be in an established state, TCP port 179 must be allowed through firewalls, neither side can use link-local addresses for peering, and peer IP addresses and Autonomous System Numbers must match on both ends.
Prepare and test your skills
Prepare and test your skills