← All insights
ENGINEERING JOURNAL / Google Cloud Operations

Private Google Access: verify subnet, DNS and routes

Trace Google API access from a VM without an external IP through subnet settings, API hostname resolution, routes and egress policy.

Private Google Access: verify subnet, DNS and routesPrivate Google Access: verify subnet, DNS and routes — conceptual 3D-style vector showing Private VM, Subnet setting, API DNS choice, Egress route, Service perimeter, Google API.. Conceptual teaching illustration; connections show the investigation flow rather than a vendor deployment topology.CLOUVENIX / GOOGLE CLOUD OPERATIONSPrivate Google Access: verify subnet, DNS and routes01Private VM02Subnet setting03API DNS choice04Egress route05Service perimeter06Google APIConceptual investigation flow / Private Google Access: verify subnet, DNS and routes
Private Google Access: verify subnet, DNS and routes — conceptual 3D-style vector showing Private VM, Subnet setting, API DNS choice, Egress route, Service perimeter, Google API.

Private VM access is a network configuration contract

Private Google Access allows supported resources without external IP addresses to reach supported Google APIs and services through the documented network configuration. Enabling a subnet setting is part of that contract, but the VM still needs correct DNS resolution, routes and egress policy.

The API hostname also matters. Default public API domains, private API domains and restricted API domains have different documented behavior and supported service scope. Choose them according to the architecture rather than changing DNS names until an error disappears.

Setup: identify the intended Google API path

Record the VM, network, subnet, external-IP state and exact API hostname. Determine whether the design uses ordinary API domains, private.googleapis.com or restricted.googleapis.com and whether VPC Service Controls is part of the policy.

Map DNS records or forwarding, applicable routes, firewall rules and any secure web proxy or custom egress path. Check current provider guidance for the chosen domain option and service, including documented exceptions or direct connectivity. Do not assume that every public internet destination becomes reachable through Private Google Access.

Follow the request from the VM

  1. Confirm the subnet's relevant setting and resolve the actual API name from the affected VM. Compare the result with the chosen domain configuration, including alternate resolver paths.
  2. Inspect the applicable route and egress firewall policy for the documented API destination ranges. Verify the intended next-hop behavior rather than adding a NAT gateway as an automatic substitute for a misconfigured private API path.
  3. Test a representative supported API call using the VM's actual workload identity. Separate connection failure from an authenticated API permission denial.
  4. If a service perimeter applies, inspect the corresponding policy evidence and supported service selection. Working network transport does not grant permission to cross an organizational data boundary.

Illustrative incident: the subnet setting is correct but DNS selects another path

In this illustrative scenario, a private VM has Private Google Access enabled, but a custom resolver configuration sends the application to an unintended API hostname or address set. The operator repeatedly toggles the subnet setting because that is the only control listed in the initial runbook.

The team verifies the request hostname, DNS response, route and egress rule together. It repairs the approved DNS path and validates the same API action with the same identity. The example explains layered configuration and does not describe a real production environment.

Diagnostic table

ObservationEvidenceBoundary
API name resolves unexpectedlyVM resolver and private DNS recordsHostname selection
Connection times outRoute, destination range and firewallNetwork egress
API returns permission deniedWorkload identity and IAMService authorization
Perimeter policy rejects a requestService-control violation evidenceOrganizational data boundary

Correct and verify the supported design

Change the evidenced subnet, DNS, route or egress policy with its owner. Confirm the selected API domain supports the services the application actually uses. Preserve a working administrative path and test the change in a representative subnet before applying it broadly.

Verify both an allowed API operation and an intended blocked path. Include background processes that may use different hostnames, such as artifact downloads or authentication libraries. A successful storage request does not establish access to every unrelated API or general internet endpoint.

SOP and monitoring

Document subnet ownership, API domain choice, DNS configuration, route requirements, firewall scope and service-perimeter responsibility. Monitor application connection errors and policy denials with enough request context to distinguish the layers. The SOP should retain actual hostname and routing evidence, so the next engineer can explain why an internal VM reaches a supported API without assuming that the subnet toggle alone provides universal egress.

See Clouvenix cloud architecture for implementation and operational handover.

Technical reference

Official reference 1. Documentation checked 20 October 2026; confirm behavior for your deployed edition and version.