I'm using the python example pub/sub code from within a CentOS based Google Compute Engine instance.
https://cloud.google.com/pubsub/docs/quickstart-cli
Everything works fine if the instance has the external IP address configuration set to "Ephemeral". I can publish to my topic and pull from my subscription.
However, if I change the external IP address setting to "None" when I create my instance then the pub/sub calls eventually timeout with a DEADLINE_EXCEEDED status code.
File "pyenv/lib/python2.7/site-packages/grpc/_channel.py", line 459, in _end_unary_response_blocking raise _Rendezvous(state, None, None, deadline) google.gax.errors.GaxError: GaxError(RPC failed, caused by <_Rendezvous of RPC that terminated with (StatusCode.DEADLINE_EXCEEDED, Deadline Exceeded)>)
I can ssh to the instance without any issue. I have changed other instance settings without any difference in behavior either way which is how I narrowed the issue down to the external IP address setting.
Is there a known requirement that the client have be externally addressable?
Or do you think this could be a permissions issue?
Thanks for any suggestions.