I went back to ES 5.2.2 and ES is starting up with the gce-discovery plug in.
You are correct in that it fails to bind to a transport.
Looking at my FW rules now.
This from /var/log/elasticsearch/104.155.150.140-node1/gce-cluster.log :
[2017-07-26T17:21:15,397][INFO ][o.e.c.g.GceInstancesServiceImpl] [node1] starting GCE discovery service [2017-07-26T17:21:19,050][INFO ][o.e.c.g.GceInstancesServiceImpl] [node1] starting GCE discovery service [2017-07-26T17:21:45,375][WARN ][o.e.n.Node ] [node1] timed out while waiting for initial discovery state - timeout: 30s [2017-07-26T17:21:45,385][INFO ][o.e.h.HttpServer ] [node1] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200} [2017-07-26T17:21:45,385][INFO ][o.e.n.Node ] [node1] started [2017-07-26T17:27:28,976][INFO ][o.e.n.Node ] [node1] stopping ... [2017-07-26T17:27:29,059][INFO ][o.e.n.Node ] [node1] stopped [2017-07-26T17:27:29,059][INFO ][o.e.n.Node ] [node1] closing ... [2017-07-26T17:27:29,117][INFO ][o.e.n.Node ] [node1] closed [2017-07-26T17:28:08,874][INFO ][o.e.n.Node ] [node1] initializing ... [2017-07-26T17:28:09,053][INFO ][o.e.e.NodeEnvironment ] [node1] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [8gb], net total_space [9.5g b], spins? [possibly], types [ext4] [2017-07-26T17:28:09,053][INFO ][o.e.e.NodeEnvironment ] [node1] heap size [1007.3mb], compressed ordinary object pointers [true] [2017-07-26T17:28:09,055][INFO ][o.e.n.Node ] [node1] node name [node1], node ID [LhgPfp8-QXq2JCPgJBmLtQ] [2017-07-26T17:28:09,060][INFO ][o.e.n.Node ] [node1] version[5.2.2], pid[1631], build[f9d9b74/2017-02-24T17:26:45.835Z], OS[Linux/4.10.0-28-generi c/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_131/25.131-b11] [2017-07-26T17:28:11,458][INFO ][o.e.p.PluginsService ] [node1] loaded module [aggs-matrix-stats] [2017-07-26T17:28:11,459][INFO ][o.e.p.PluginsService ] [node1] loaded module [ingest-common] [2017-07-26T17:28:11,459][INFO ][o.e.p.PluginsService ] [node1] loaded module [lang-expression] [2017-07-26T17:28:11,460][INFO ][o.e.p.PluginsService ] [node1] loaded module [lang-groovy] [2017-07-26T17:28:11,460][INFO ][o.e.p.PluginsService ] [node1] loaded module [lang-mustache] [2017-07-26T17:28:11,460][INFO ][o.e.p.PluginsService ] [node1] loaded module [lang-painless] [2017-07-26T17:28:11,460][INFO ][o.e.p.PluginsService ] [node1] loaded module [percolator] [2017-07-26T17:28:11,460][INFO ][o.e.p.PluginsService ] [node1] loaded module [reindex] [2017-07-26T17:28:11,460][INFO ][o.e.p.PluginsService ] [node1] loaded module [transport-netty3] [2017-07-26T17:28:11,460][INFO ][o.e.p.PluginsService ] [node1] loaded module [transport-netty4] [2017-07-26T17:28:11,461][INFO ][o.e.p.PluginsService ] [node1] loaded plugin [discovery-gce] [2017-07-26T17:28:15,556][INFO ][o.e.n.Node ] [node1] initialized [2017-07-26T17:28:15,556][INFO ][o.e.n.Node ] [node1] starting ... [2017-07-26T17:28:16,226][WARN ][i.n.u.i.MacAddressUtil ] Failed to find a usable hardware address from the network interfaces; using random bytes: 4e:d4:eb:42 :cd:ff:32:72 [2017-07-26T17:28:16,345][INFO ][o.e.t.TransportService ] [node1] publish_address {10.128.0.3:9300}, bound_addresses {10.128.0.3:9300} [2017-07-26T17:28:16,351][INFO ][o.e.b.BootstrapChecks ] [node1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks [2017-07-26T17:28:16,453][INFO ][o.e.c.g.GceInstancesServiceImpl] [node1] starting GCE discovery service [2017-07-26T17:28:20,330][INFO ][o.e.c.g.GceInstancesServiceImpl] [node1] starting GCE discovery service [2017-07-26T17:28:46,394][WARN ][o.e.n.Node ] [node1] timed out while waiting for initial discovery state - timeout: 30s [2017-07-26T17:28:46,453][INFO ][o.e.h.HttpServer ] [node1] publish_address {10.128.0.3:9200}, bound_addresses {10.128.0.3:9200} [2017-07-26T17:28:46,453][INFO ][o.e.n.Node ] [node1] started