I ran into an issue, since yesterday evening, where all my GCP run services were no loinger able to reach shopify GraphQL. Turns out - after some debugging - that GCP is not able to communicate with any *.myshopify.com endpoints when using IPv6. I had to force IPv4 on all of them and now it seems to be runnning.
I would like to know what the reason is, as we did not make any changes to the deployed code in months and it just stopped working suddenly. I want to avoid further problems for my customers as much as possible.
This is almost certainly a routing change on either Shopify’s or GCP’s side, not anything in your code. Shopify’s GraphQL endpoints have AAAA records, so when GCP resolves *.myshopify.com it tries IPv6 first, and if the IPv6 path between GCP and Shopify’s edge is misrouted or down for your region, the connection just hangs or fails. IPv4 fallback isn’t always automatic for server to server traffic the way it is in browsers, which is why your code stopped working without any deploy on your end.
Honestly, forcing IPv4 for outbound Shopify API calls is what most production systems end up doing anyway since IPv6 transit between cloud providers and SaaS APIs is still inconsistent. Keep your IPv4 force in place as a permanent fix, not a temporary one. If you want to confirm the root cause, check status.shopify.com for any networking incidents around the time it broke, and check GCP’s status page for IPv6 egress notices in your region.
For longer term resilience, set up a health check that hits the GraphQL endpoint every few minutes and alerts you if response time spikes. That way next time something like this happens you’ll know within minutes instead of finding out from customers.
Thanks for sharing the details, glad you tracked it down and got things running again.
Just checked Shopify’s status page and there are no reported incidents on their end, so this looks like it was something that shifted on either GCP’s network or somewhere between GCP and Shopify’s infrastructure rather than a Shopify side change.
A few things worth investigating to understand what happened and protect yourself going forward:
What likely caused it: GCP Cloud Run can sometimes update its underlying networking stack or routing tables without any change on your end. It’s possible GCP started preferring IPv6 routes for outbound traffic to .myshopify.com, and Shopify’s endpoints had some routing or certificate issue on the IPv6 path at that time, even if it wasn’t a full outage.
To reduce risk going forward:
Keep the IPv4 forcing in place for now, it’s the more stable path for Shopify API calls
Set up a simple uptime monitor (even a lightweight ping to your GraphQL endpoint) so you catch this instantly next time rather than after customers are affected
It’s also worth checking GCP’s own incident history for that time window, they sometimes have regional networking issues that don’t get wide attention
Is your setup on Cloud Run specifically, or are there other GCP services hitting Shopify too? That might help narrow down whether this is a network level thing or something tied to a specific service configuration.
We also experienced this issue and changing to a dedicated IPV4 for outbound traffic solved it. Thanks for the information, was at a loss as to why our app suddenly stopped working.