This is a funny answer but it was true for me. Do check if your cloud instance is connected to the internet.
I remember when I was working with Oracle VM VirtualBox, I could set the network type. One of these networks would allow communication only with the hosts that are present within the network. It's possible that, from micro-1.com/api's perspective:
GCP apigw-1.com/api1 is part of the network, but apigw-2.com/api2 is not.
Checking and resolving the network configuration in such a way that all instances can connect with anyone on the internet should solve the problem.
While this is not the best way to go when considering security, I believe you would know more about the application which you are hosting on the cloud instances and thus enforce security accordingly.