1

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.

1 Answers1

0

"None" means no IP and is different than not accessible from the internet. A setting of none will lead to their being no outbound connection to the internet either and the PubSub call will have no route and then fail.

GL_Stephen
  • 599
  • 5
  • 11
  • Thanks for the explanation. My question stemmed from the fact that I can query some services from the instance regardless of the external IP setting. For example, the metadata server is accessible. The inconsistency was confusing. – Ahran Dunsmoor Mar 07 '17 at 18:47